From 4cf29ba29d3c2286534a04499bbc7e7cf4c4583a Mon Sep 17 00:00:00 2001 From: Manjik Shrestha Date: Wed, 9 Mar 2022 11:03:37 +0545 Subject: [PATCH] fix contract assets --- src/assets/contracts/Rahat.json | 98386 ++++++++++++++++++++++++++++++ 1 file changed, 98386 insertions(+) create mode 100644 src/assets/contracts/Rahat.json diff --git a/src/assets/contracts/Rahat.json b/src/assets/contracts/Rahat.json new file mode 100644 index 0000000..a79401e --- /dev/null +++ b/src/assets/contracts/Rahat.json @@ -0,0 +1,98386 @@ +{ + "contractName": "Rahat", + "abi": [ + { + "inputs": [ + { + "internalType": "contract RahatERC20", + "name": "_erc20", + "type": "address" + }, + { + "internalType": "contract RahatERC1155", + "name": "_erc1155", + "type": "address" + }, + { + "internalType": "address", + "name": "_admin", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "vendor", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "beneficiary", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ClaimAcquiredERC1155", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "vendor", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "beneficiary", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ClaimAcquiredERC20", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "vendor", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "phone", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ClaimApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "vendor", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "beneficiary", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ClaimedERC1155", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "vendor", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "beneficiary", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ClaimedERC20", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes", + "name": "signature", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "digest", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "address", + "name": "expectedSigner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recoveredSigner", + "type": "address" + } + ], + "name": "InvalidSignature", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "projectId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "phone", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "IssuedERC1155", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "projectId", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "phone", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "IssuedERC20", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "CREATE_CLAIM", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "GET_TOKENS_FROM_CLAIM", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ISSUE_TOKEN", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MANAGER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MOBILIZER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "SERVER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "VENDOR_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "erc1155", + "outputs": [ + { + "internalType": "contract RahatERC1155", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "erc1155Balance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "erc1155Issued", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "erc1155IssuedBy", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "erc20", + "outputs": [ + { + "internalType": "contract RahatERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "erc20Balance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "erc20Issued", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "erc20IssuedBy", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC1155BatchReceived", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onERC1155Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "recentERC1155Claims", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "otpHash", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "isReleased", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "date", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "recentERC20Claims", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "otpHash", + "type": "bytes32" + }, + { + "internalType": "bool", + "name": "isReleased", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "date", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "addAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "addServer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "addVendor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "string", + "name": "_projectId", + "type": "string" + } + ], + "name": "addMobilizer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + } + ], + "name": "getTotalERC1155Issued", + "outputs": [ + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "balances", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + } + ], + "name": "getTotalERC1155Balance", + "outputs": [ + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "balances", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "getTotalERC1155IssuedBy", + "outputs": [ + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "balances", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + } + ], + "name": "getTokenIdsOfBeneficiary", + "outputs": [ + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "getTokenIdsIssuedBy", + "outputs": [ + { + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "suspendMobilizer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "suspendVendor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_projectId", + "type": "bytes32" + } + ], + "name": "suspendBeneficiary", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "adjustTokenAdd", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "adjustTokenAdd", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "adjustTokenDeduct", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "adjustTokenDeduct", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_projectId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_projectCapital", + "type": "uint256" + } + ], + "name": "addProject", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_projectId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_projectCapital", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "updateProjectBudget", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_projectId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_projectCapital", + "type": "uint256" + } + ], + "name": "updateProjectBudget", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_projectId", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getProjectBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "_balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_projectId", + "type": "bytes32" + } + ], + "name": "getProjectBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "_balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "issueERC20ToBeneficiary", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "uint256[]", + "name": "_amount", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "_tokenId", + "type": "uint256[]" + } + ], + "name": "issueERC1155ToBeneficiary", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_signer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + }, + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "delegate_issueERC20ToBeneficiary", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_signer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + }, + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "delegate_issueERC1155ToBeneficiary", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "uint256[]", + "name": "_phone", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "_amount", + "type": "uint256[]" + } + ], + "name": "issueBulkERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "uint256[]", + "name": "_phone", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "_amount", + "type": "uint256[]" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "issueBulkERC1155", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokens", + "type": "uint256" + } + ], + "name": "createERC20Claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "createERC1155Claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_signer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "delegate_createERC20Claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_signer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "delegate_createERC1155Claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_vendor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_otpHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_timeToLive", + "type": "uint256" + } + ], + "name": "approveERC20Claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_vendor", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "_otpHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_timeToLive", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "approveERC1155Claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_otp", + "type": "string" + } + ], + "name": "getERC20FromClaim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_otp", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getERC1155FromClaim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_signer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_otp", + "type": "string" + } + ], + "name": "delegate_getERC20FromClaim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_signer", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "_phone", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_otp", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "delegate_getTokensFromClaim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_data", + "type": "uint256" + } + ], + "name": "findHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_data", + "type": "string" + } + ], + "name": "findHash", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_array", + "type": "uint256[]" + } + ], + "name": "getArraySum", + "outputs": [ + { + "internalType": "uint256", + "name": "sum", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract RahatERC20\",\"name\":\"_erc20\",\"type\":\"address\"},{\"internalType\":\"contract RahatERC1155\",\"name\":\"_erc1155\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_admin\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vendor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"beneficiary\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ClaimAcquiredERC1155\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vendor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"beneficiary\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ClaimAcquiredERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vendor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"phone\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ClaimApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vendor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"beneficiary\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ClaimedERC1155\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vendor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"beneficiary\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ClaimedERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"expectedSigner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recoveredSigner\",\"type\":\"address\"}],\"name\":\"InvalidSignature\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"phone\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"IssuedERC1155\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"projectId\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"phone\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"IssuedERC20\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CREATE_CLAIM\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GET_TOKENS_FROM_CLAIM\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ISSUE_TOKEN\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MANAGER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MOBILIZER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SERVER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VENDOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"addAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_projectId\",\"type\":\"string\"}],\"name\":\"addMobilizer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_projectId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_projectCapital\",\"type\":\"uint256\"}],\"name\":\"addProject\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"addServer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"addVendor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"adjustTokenAdd\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"adjustTokenAdd\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"adjustTokenDeduct\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"adjustTokenDeduct\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vendor\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_otpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timeToLive\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approveERC1155Claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vendor\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_otpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_timeToLive\",\"type\":\"uint256\"}],\"name\":\"approveERC20Claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"createERC1155Claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_tokens\",\"type\":\"uint256\"}],\"name\":\"createERC20Claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"delegate_createERC1155Claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"delegate_createERC20Claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_otp\",\"type\":\"string\"}],\"name\":\"delegate_getERC20FromClaim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_otp\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"delegate_getTokensFromClaim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_projectId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"delegate_issueERC1155ToBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_signer\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"_projectId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"delegate_issueERC20ToBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"erc1155\",\"outputs\":[{\"internalType\":\"contract RahatERC1155\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"erc1155Balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"erc1155Issued\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"erc1155IssuedBy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"erc20\",\"outputs\":[{\"internalType\":\"contract RahatERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"erc20Balance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"erc20Issued\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"erc20IssuedBy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_data\",\"type\":\"uint256\"}],\"name\":\"findHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_data\",\"type\":\"string\"}],\"name\":\"findHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_array\",\"type\":\"uint256[]\"}],\"name\":\"getArraySum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sum\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_otp\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getERC1155FromClaim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_otp\",\"type\":\"string\"}],\"name\":\"getERC20FromClaim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_projectId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getProjectBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_projectId\",\"type\":\"bytes32\"}],\"name\":\"getProjectBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getTokenIdsIssuedBy\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"}],\"name\":\"getTokenIdsOfBeneficiary\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"}],\"name\":\"getTotalERC1155Balance\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"balances\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"}],\"name\":\"getTotalERC1155Issued\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"balances\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getTotalERC1155IssuedBy\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"balances\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_projectId\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"_phone\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amount\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"issueBulkERC1155\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_projectId\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"_phone\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amount\",\"type\":\"uint256[]\"}],\"name\":\"issueBulkERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_projectId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_amount\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_tokenId\",\"type\":\"uint256[]\"}],\"name\":\"issueERC1155ToBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_projectId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"issueERC20ToBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"recentERC1155Claims\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"otpHash\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isReleased\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"date\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"recentERC20Claims\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"otpHash\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isReleased\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"date\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_phone\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_projectId\",\"type\":\"bytes32\"}],\"name\":\"suspendBeneficiary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"suspendMobilizer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"suspendVendor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_projectId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_projectCapital\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"updateProjectBudget\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_projectId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_projectCapital\",\"type\":\"uint256\"}],\"name\":\"updateProjectBudget\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addAdmin(address)\":{\"params\":{\"_account\":\"address of the new admin\"}},\"addMobilizer(address,string)\":{\"params\":{\"_account\":\"address of the new vendor\"}},\"addProject(bytes32,uint256)\":{\"params\":{\"_projectCapital\":\"amount of budget to be assigned to project\",\"_projectId\":\"Id of the project to assign budget\"}},\"addServer(address)\":{\"params\":{\"_account\":\"address of the new server account\"}},\"addVendor(address)\":{\"params\":{\"_account\":\"address of the new vendor\"}},\"approveERC1155Claim(address,uint256,bytes32,uint256,uint256)\":{\"params\":{\"_otpHash\":\"Hash of OTP sent to beneficiary by server\",\"_phone\":\"Phone number of the beneficiary, to whom token request was sent\",\"_timeToLive\":\"Validity of OTP in seconds\",\"_tokenId\":\"ERC1155 tokenId\",\"_vendor\":\"Address of the vendor who requested the token from beneficiary\"}},\"approveERC20Claim(address,uint256,bytes32,uint256)\":{\"params\":{\"_otpHash\":\"Hash of OTP sent to beneficiary by server\",\"_phone\":\"Phone number of the beneficiary, to whom token request was sent\",\"_timeToLive\":\"Validity of OTP in seconds\",\"_vendor\":\"Address of the vendor who requested the token from beneficiary\"}},\"createERC1155Claim(uint256,uint256,uint256)\":{\"details\":\"claim tokens from the beneficiary by vendor\",\"params\":{\"_amount\":\"amaount of ERC1155 tokens to request\",\"_phone\":\"identity of the beneficiary\",\"_tokenId\":\"ERC1155 token id\"}},\"createERC20Claim(uint256,uint256)\":{\"params\":{\"_phone\":\"Phone number of beneficiary to whom token is requested\",\"_tokens\":\"Number of tokens to request\"}},\"delegate_createERC1155Claim(address,bytes,uint256,uint256,uint256)\":{\"details\":\"delegate a createClaim transaction for ERC20\",\"params\":{\"_amount\":\"amount of token to be claimed\",\"_phone\":\"identity of benficiary\",\"_signature\":\"Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\",\"_signer\":\"address of vendor/caller of createClaim\",\"_tokenId\":\"ERC1155 tokenId\"}},\"delegate_createERC20Claim(address,bytes,uint256,uint256)\":{\"details\":\"delegate a createClaim transaction for ERC20\",\"params\":{\"_amount\":\"amount of token to be claimed\",\"_phone\":\"identity of benficiary\",\"_signature\":\"Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\",\"_signer\":\"address of vendor/caller of createClaim\"}},\"delegate_getERC20FromClaim(address,bytes,uint256,string)\":{\"details\":\"delegates getERC20FromClaim for vendors/callers\",\"params\":{\"_otp\":\"OTP sent by the server\",\"_phone\":\"Phone Number of the beneficiary, to whom token request was sent\",\"_signature\":\"Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\",\"_signer\":\"address of vendor/caller of getERC20FromClaim\"}},\"delegate_getTokensFromClaim(address,bytes,uint256,string,uint256)\":{\"details\":\"delegates getERC20FromClaim for vendors/callers\",\"params\":{\"_otp\":\"OTP sent by the server\",\"_phone\":\"Phone Number of the beneficiary, to whom token request was sent\",\"_signature\":\"Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\",\"_signer\":\"address of vendor/caller of getERC1155FromClaim\",\"_tokenId\":\"ERC1155 tokenId\"}},\"delegate_issueERC1155ToBeneficiary(address,bytes,string,uint256,uint256,uint256)\":{\"params\":{\"_amount\":\"Amount of token to be assigned to beneficiary\",\"_phone\":\"phone number of the beneficiary\",\"_projectId\":\"Id of the project beneficiary is involved in\",\"_signature\":\"Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through mobilizer/caller wallet\",\"_signer\":\"Address of the mobilizer/caller who is issuing tokens\",\"_tokenId\":\"ERC1155 TokenId\"}},\"delegate_issueERC20ToBeneficiary(address,bytes,string,uint256,uint256)\":{\"params\":{\"_amount\":\"Amount of token to be assigned to beneficiary\",\"_phone\":\"phone number of the beneficiary\",\"_projectId\":\"Id of the project beneficiary is involved in\",\"_signature\":\"Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through mobilizer/caller wallet\",\"_signer\":\"Address of the mobilizer/caller who is issuing tokens\"}},\"findHash(string)\":{\"params\":{\"_data\":\"String of which hash is to be generated\"}},\"findHash(uint256)\":{\"params\":{\"_data\":\"String of which hash is to be generated\"}},\"getArraySum(uint256[])\":{\"params\":{\"_array\":\"Array of uint\"}},\"getERC1155FromClaim(uint256,string,uint256)\":{\"params\":{\"_otp\":\"OTP sent by the server\",\"_phone\":\"Phone Number of the beneficiary, to whom token request was sent\",\"_tokenId\":\"ERC1155 tokenId\"}},\"getERC20FromClaim(uint256,string)\":{\"params\":{\"_otp\":\"OTP sent by the server\",\"_phone\":\"Phone Number of the beneficiary, to whom token request was sent\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"issueBulkERC1155(string,uint256[],uint256[],uint256)\":{\"params\":{\"_amount\":\"array of Amount of token to be assigned to beneficiary\",\"_phone\":\"array of phone number of the beneficiary\",\"_projectId\":\"Id of the project beneficiary is involved in\"}},\"issueBulkERC20(string,uint256[],uint256[])\":{\"params\":{\"_amount\":\"array of Amount of token to be assigned to beneficiary\",\"_phone\":\"array of phone number of the beneficiary\",\"_projectId\":\"Id of the project beneficiary is involved in\"}},\"issueERC1155ToBeneficiary(string,uint256,uint256[],uint256[])\":{\"params\":{\"_amount\":\"Amount of token to be assigned to beneficiary\",\"_phone\":\"phone number of the beneficiary\",\"_projectId\":\"Id of the project beneficiary is involved in\",\"_tokenId\":\"ERC1155 TokenId\"}},\"issueERC20ToBeneficiary(string,uint256,uint256)\":{\"params\":{\"_amount\":\"Amount of token to be assigned to beneficiary\",\"_phone\":\"phone number of the beneficiary\",\"_projectId\":\"Id of the project beneficiary is involved in\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"},\"suspendBeneficiary(uint256,bytes32)\":{\"params\":{\"_phone\":\"phone number of the Beneficiary\",\"_projectId\":\"projectId of the beneficiary\"}},\"updateProjectBudget(bytes32,uint256)\":{\"params\":{\"_projectCapital\":\"amount of budget to be added to project\",\"_projectId\":\"Id of the project to assign budget\"}},\"updateProjectBudget(bytes32,uint256,uint256)\":{\"params\":{\"_projectCapital\":\"amount of budget to be added to project\",\"_projectId\":\"Id of the project to assign budget\",\"tokenId\":\"ERC1155 token id\"}}},\"stateVariables\":{\"recentERC20Claims\":{\"details\":\"vendorAddress => phone => claim\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addAdmin(address)\":{\"notice\":\"add admin of the this contract\"},\"addMobilizer(address,string)\":{\"notice\":\"add vendors\"},\"addProject(bytes32,uint256)\":{\"notice\":\"creates a project.called by rahatdmin contract\"},\"addServer(address)\":{\"notice\":\"add server account for this contract\"},\"addVendor(address)\":{\"notice\":\"add vendors\"},\"adjustTokenAdd(uint256,uint256)\":{\"notice\":\"adds the token from beneficiary\"},\"adjustTokenAdd(uint256,uint256,uint256)\":{\"notice\":\"adds the token from beneficiary\"},\"adjustTokenDeduct(uint256,uint256)\":{\"notice\":\"deducts the token from beneficiary\"},\"adjustTokenDeduct(uint256,uint256,uint256)\":{\"notice\":\"deducts the token from beneficiary\"},\"approveERC1155Claim(address,uint256,bytes32,uint256,uint256)\":{\"notice\":\"Approve the requested claim from serverside and set the otp hash\"},\"approveERC20Claim(address,uint256,bytes32,uint256)\":{\"notice\":\"Approve the requested claim from serverside and set the otp hash\"},\"createERC20Claim(uint256,uint256)\":{\"notice\":\"request a token to beneficiary by vendor\"},\"delegate_issueERC1155ToBeneficiary(address,bytes,string,uint256,uint256,uint256)\":{\"notice\":\"Issue ERC1155 tokens to beneficiary\"},\"delegate_issueERC20ToBeneficiary(address,bytes,string,uint256,uint256)\":{\"notice\":\"Issue ERC20 to beneficiary\"},\"erc20Balance(uint256)\":{\"notice\":\"track balances of each beneficiary phone\"},\"erc20Issued(uint256)\":{\"notice\":\"track total issued tokens of each benefiicary phone\"},\"findHash(string)\":{\"notice\":\"generates the hash of the given string\"},\"findHash(uint256)\":{\"notice\":\"generates the hash of the given string\"},\"getArraySum(uint256[])\":{\"notice\":\"Generates the sum of all the integers in array\"},\"getERC1155FromClaim(uint256,string,uint256)\":{\"notice\":\"Retrieve tokens that was requested to beneficiary by entering OTP\"},\"getERC20FromClaim(uint256,string)\":{\"notice\":\"Retrieve tokens that was requested to beneficiary by entering OTP\"},\"getProjectBalance(bytes32)\":{\"notice\":\"get the current balance of project\"},\"getProjectBalance(bytes32,uint256)\":{\"notice\":\"get the current balance of project\"},\"issueBulkERC1155(string,uint256[],uint256[],uint256)\":{\"notice\":\"Issue tokens to beneficiary in bulk\"},\"issueBulkERC20(string,uint256[],uint256[])\":{\"notice\":\"Issue tokens to beneficiary in bulk\"},\"issueERC1155ToBeneficiary(string,uint256,uint256[],uint256[])\":{\"notice\":\"Issue ERC20 tokens to beneficiary\"},\"issueERC20ToBeneficiary(string,uint256,uint256)\":{\"notice\":\"Issue tokens to beneficiary\"},\"suspendBeneficiary(uint256,bytes32)\":{\"notice\":\"suspend the benficiary by deducting all the balance beneficiary owns\"},\"updateProjectBudget(bytes32,uint256)\":{\"notice\":\"update a project balance.called by rahatdmin contract\"},\"updateProjectBudget(bytes32,uint256,uint256)\":{\"notice\":\"update a project balance.called by rahatdmin contract\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Rahat.sol\":\"Rahat\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x183481af1c40d2efb26b86f63d6fe9e22f24c87e436d60a69f261b38500e7cd6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f562746c399ae045994a88b2218d1238a349de07afbfb305aab0c7fdbc2954cc\",\"dweb:/ipfs/QmYoFrDD2c6fi9CpPz1bjCMAyketjZ3G7ByUSVQMntysms\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xfe0edb09653ed10e8a1bfe03eb9b0ff06775666eee817a95bd3d0799f1ee2b44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbb9d503857eab98f87465df0f02fef03083f30c1dbec82f319f41aaadae19b4\",\"dweb:/ipfs/QmTxDshRAMtoeM45YrTzQZdpmy4mt4scCNHjfZiWSvdETF\"]},\"@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0xbda715785876dbfc675396b89ac45bb9f4cceb968133a8258924d163a700f0e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2345f1fbddd1fc344a50bdac7bcebf6e266398fed655c0df6b7940385a59a43\",\"dweb:/ipfs/Qmf6GX6ddVTySuct3AY4uDzj327i1cLZuPzWBfFX6oKZMS\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0xfce1eb6398eae0e2b50251140866a70a3106193f101972c878bba1dbf44929ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f0709c3f462b28b400f57db181254ad970967c3b49a8948ef5e05929b106ffe\",\"dweb:/ipfs/QmNe3sRmPKw1T7q7m733tk7tFKpi3jo9PCisDPMbjeg3kJ\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0x7de6e64d4a8075e803a972cc77c4c91463e0c3777e4110eacfb5d4a71759b2fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b83b3b09ef36374c1c104ee896797dadf2e81466d2143b481d3f1ddc7d9f3873\",\"dweb:/ipfs/QmSWtqs28RHDezRWBbmEfqiPYwsGTKj44NRbuxvZ96cqMU\"]},\"@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol\":{\"keccak256\":\"0xedf8db444aa542739a0aabe8243a4e8100003aacba9783637a75f16bb556ab44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b3f242e6ec10ddbd8bf810a92335e827aa4e071521abe0122e563436d6722ae\",\"dweb:/ipfs/QmdN3gQ5dwjveFwX5EBdUbQhdiiiJ8r7SwMWGb9oQ6MrJs\"]},\"@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol\":{\"keccak256\":\"0xbabdad0b4e2eaf7d0c756c901f34d6d823538a45a7848c362349634216148986\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80ac3129ad9448bc2bd1c2f602cc49a1e20ccbed23e4cea1413e096fff57f39b\",\"dweb:/ipfs/QmWhoHehFy2XWFWsXH2taWeEEwH8ZLiYFP86DpwSr5aqUL\"]},\"@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0x6ba0564f6970414d1166ee83127b834bbe7dbf699241a3005eb7ae64a2211975\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9784827a0575eab840a3b2d42900390724c79139063150955c95f5b730545669\",\"dweb:/ipfs/Qmergdvk1vDFSpXxZSXghPm5SxKBUqrqkZdYmsUSaMwaXK\"]},\"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol\":{\"keccak256\":\"0x4716e860c041e651d2f2486399ea5a49ec12289e91b2763991a2fa3a70772acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80530019b488d859b57c411defccf2f5dbc6fba21f32f93b7f07be074097ff87\",\"dweb:/ipfs/QmdYDwbeJN4YZmPrzDG28AbHnvFLkx4GKMujEAtVEXtsJd\"]},\"@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol\":{\"keccak256\":\"0x8c578d9e30c8f2bb7ac01d108766df87d42b73d4d3638f01d494a894fe7c1f4b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f919596cc035c6a9192548a48f5e225ccd347140ed9af75fa73c36dc8b1ade7e\",\"dweb:/ipfs/QmUGc2vGhQC52usiwGaEjFHAzrtyJVRxNpWxFpdPBcfs5t\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb03df8481a954604ad0c9125680893b2e3f7ff770fe470e38b89ac61b84e8072\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b34655953d18ba3a45b762fb6bdbb6549af69a27435e10ece178742bf70baf45\",\"dweb:/ipfs/QmcqjUoFLLMyx7dbwSHUnDBH6aphkVHXWQvQRRev5EAWEh\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x027b891937d20ccf213fdb9c31531574256de774bda99d3a70ecef6e1913ed2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://087318b21c528119f649899f5b5580566dd8d7b0303d4904bd0e8580c3545f14\",\"dweb:/ipfs/Qmbn5Mj7aUn8hJuQ8VrQjjEXRsXyJKykgnjR9p4C3nfLtL\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0xf98cb1651a90d20ef77d8c1dd10d5fce4954e747603e5672a8292bd4368120dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://76b539a8edd558b010d1ff3e462c5d4edd039b790b91f31a5bce18957655cc9f\",\"dweb:/ipfs/QmSdJehhx1SwCWLSFFgHQTmUY2YwDTBQjTVjkmhXhA1srb\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol\":{\"keccak256\":\"0x716009b907958a146335eb5a8a0300d684ffda2690bf907e135118d775e04053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5331eb29310a4c4f5aa3d3eb172a4ec648660f357836644d315e4b0d893296a\",\"dweb:/ipfs/QmavZDyuZuoNw6NSMyqpKUNiTGnYGLXWSgXd1VFSRsGaM5\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x83fe24f5c04a56091e50f4a345ff504c8bff658a76d4c43b16878c8f940c53b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4c3df1a7ca104b633a7d81c6c6f5192367d150cd5a32cba81f7f27012729013\",\"dweb:/ipfs/QmSim72e3ZVsfgZt8UceCvbiSuMRHR6WDsiamqNzZahGSY\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x3336baae5cf23e94274d75336e2d412193be508504aee185e61dc7d58cd05c8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39a05eec7083dfa0cc7e0cbfe6cd1bd085a340af1ede93fdff3ad047c5fb3d8e\",\"dweb:/ipfs/QmVApz5fCUq2QC8gKTsNNdCmcedJ3ETHp68zR5N3WUKS4r\"]},\"@openzeppelin/contracts/utils/Arrays.sol\":{\"keccak256\":\"0x4752e3dddc1de93cf04f7231c79520d5ef02e45679baeecbd79ff19fdfcc6114\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c6a0d3d19454e3a7b3bfb7881e6a0cbf36dbaad2ac241a290bdf1d61328efc2\",\"dweb:/ipfs/QmRezLqVEJNSt3GFnu3hxUB6B7xC7RNBUyDJAtSb1xZcWu\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x90565a39ae45c80f0468dc96c7b20d0afc3055f344c8203a0c9258239f350b9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26e8b38a7ac8e7b4463af00cf7fff1bf48ae9875765bf4f7751e100124d0bc8c\",\"dweb:/ipfs/QmWcsmkVr24xmmjfnBQZoemFniXjj3vwT78Cz6uqZW1Hux\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0x78450f4e3b722cce467b21e285f72ce5eaf361e9ba9dd2241a413926246773cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103065051300cd995fd4599ba91188d4071b92175b52f26110e02db091617c0\",\"dweb:/ipfs/QmSyDz67R2HCypDE8Pacn3voVwxw9x17NM66q47YgBnGqc\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x391d3ba97ab6856a16b225d6ee29617ad15ff00db70f3b4df1ab5ea33aa47c9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d636ba90bbbeed04a1ea7fe9ec2466757e30fd38ba2ca173636dbf69a518735e\",\"dweb:/ipfs/QmQwCB2BHnEuYR22PYt9HkpbgeFDhq4rHmaYqAZbX3WRC7\"]},\"@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0xbc991a1cf357ce19480831a40792c814238a3b5458134703682abd8aa39719fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab2e3313add3a233ad2d1e9b65cb7c0296bdbe159c6d631da2b1d027b4954926\",\"dweb:/ipfs/QmT8bVda92mptimLgonyq28qENq4sRgy6K3v118CvZcKdP\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x5718c5df9bd67ac68a796961df938821bb5dc0cd4c6118d77e9145afb187409b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d10e1d9b26042424789246603906ad06143bf9a928f4e99de8b5e3bdc662f549\",\"dweb:/ipfs/Qmejonoaj5MLekPus229rJQHcC6E9dz2xorjHJR84fMfmn\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0xa28007762d9da9db878dd421960c8cb9a10471f47ab5c1b3309bfe48e9e79ff4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://796ab6e88af7bf0e78def0f059310c903af6a312b565344e0ff524a0f26e81c6\",\"dweb:/ipfs/QmcsVgLgzWdor3UnAztUkXKNGcysm1MPneWksF72AvnwBx\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x49ebdac5d515aebb95168564158940b79d7d5d12fbfe59cec546a00d57fee64a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c02d3ba19711bffdb7aa33ff3107cfd17902c82640837ef0de2e327515f4f70d\",\"dweb:/ipfs/QmdR7JUXpD5X7eXkc24bRtNj3e7ahs8RC8s25cu7X14GHU\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x3778dc944f4a696335878bad8beca60f38b7c79b7a0bd8ddbeb618bd502a95ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12961fd593c79b60088c8829fd760db4149790b1c702411919fac76769e8c39a\",\"dweb:/ipfs/QmXN79ZS3btSrPhiMBWtWmdwaWKjYTaAYpVMt5QHvwwKMw\"]},\"project:/contracts/Rahat.sol\":{\"keccak256\":\"0xbff2e758b83bb80c982d631969b800341ce25a03863cfae64eb8579f9b19149d\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://9be77e980c7d45c841c307f09714824dbd9c11c3bd3b5c4cc7001b48ee355e71\",\"dweb:/ipfs/Qma1nFJcLMs6DiJjwdeyZc2VsBTSjjGu2HxKsWr2sJzW3h\"]},\"project:/contracts/RahatERC1155.sol\":{\"keccak256\":\"0x077edc0e32630d8bc181dcad4abd82e8eb85ef7c36475d1dda26b890400edd4f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://32557b1efb69e5039ce84ab38e8427766a82c83a264d8652feb5ba99d85469e1\",\"dweb:/ipfs/QmY6tNN7sKfwzJN62Xwsrpy6vZn6b7ERR4658d8vSF5mVf\"]},\"project:/contracts/RahatERC20.sol\":{\"keccak256\":\"0x2a98cbdb922c54f6f5d8412ffaf97463d992e89ddd8f20535a9fea384439173e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ca2aea20cae8aeeca367a100d187545476d0a6c735e622656132550c27713956\",\"dweb:/ipfs/QmW2D5huHvf4xp1WWECCBdDD643rnmpP6wSxDY2Sn4UUtC\"]}},\"version\":1}", + "bytecode": "0x60806040523480156200001157600080fd5b506040516200527038038062005270833981016040819052620000349162000473565b62000041600032620000e5565b6200004e600082620000e5565b6200006a600080516020620052508339815191526000620000f5565b620000977f0aaf57387812c7f832412470a57567b5648a930069be49aa9c98d04f88520d346000620000f5565b620000b2600080516020620052508339815191523362000140565b50600280546001600160a01b039384166001600160a01b031991821617909155600380549290931691161790556200065a565b620000f182826200016f565b5050565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6000828152602081905260409020600101546200015e81336200020f565b6200016a83836200016f565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620000f1576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001cb3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620000f15762000259816001600160a01b03166014620002b360201b62002f591760201c565b6200026f83602062002f59620002b3821b17811c565b60405160200162000282929190620004c7565b60408051601f198184030181529082905262461bcd60e51b8252620002aa9160040162000540565b60405180910390fd5b60606000620002c483600262000590565b620002d190600262000575565b6001600160401b03811115620002eb57620002eb6200062b565b6040519080825280601f01601f19166020018201604052801562000316576020820181803683370190505b509050600360fc1b8160008151811062000334576200033462000615565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811062000366576200036662000615565b60200101906001600160f81b031916908160001a90535060006200038c84600262000590565b6200039990600162000575565b90505b60018111156200041b576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110620003d157620003d162000615565b1a60f81b828281518110620003ea57620003ea62000615565b60200101906001600160f81b031916908160001a90535060049490941c936200041381620005e5565b90506200039c565b5083156200046c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401620002aa565b9392505050565b6000806000606084860312156200048957600080fd5b8351620004968162000641565b6020850151909350620004a98162000641565b6040850151909250620004bc8162000641565b809150509250925092565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835162000501816017850160208801620005b2565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162000534816028840160208801620005b2565b01602801949350505050565b602081526000825180602084015262000561816040850160208701620005b2565b601f01601f19169190910160400192915050565b600082198211156200058b576200058b620005ff565b500190565b6000816000190483118215151615620005ad57620005ad620005ff565b500290565b60005b83811015620005cf578181015183820152602001620005b5565b83811115620005df576000848401525b50505050565b600081620005f757620005f7620005ff565b506000190190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146200065757600080fd5b50565b614be6806200066a6000396000f3fe608060405234801561001057600080fd5b50600436106103715760003560e01c8063747bb537116101d5578063bf6b867b11610105578063d547741f116100a8578063d547741f14610984578063d56022d714610997578063eaad46f5146109aa578063ec87621c146109bd578063f23a6e61146109e4578063f521621614610a03578063f708ccab1461039e578063f94afcea14610a16578063f9b5bf9014610a2957600080fd5b8063bf6b867b14610894578063bfa68363146108a7578063c0d955d6146108ba578063c8d9bb29146108cd578063cae22709146108e0578063cf784eda1461090b578063d0e65d141461092b578063d1e671671461093e57600080fd5b80638eda3247116101785780638eda3247146107bd57806391d14854146107d0578063926a694d146107e357806394343cd2146107f85780639ea693501461080d578063a067ddfe14610820578063a217fddf14610841578063b32ca28914610849578063bc197c811461085c57600080fd5b8063747bb537146106e6578063785e9e86146106f95780637ecebe001461072457806382d41dd21461074457806383d385a41461076f57806388257567146107825780638a80940d146107955780638bbab5c7146107a857600080fd5b80633036950e116102b0578063494101ff11610253578063494101ff146106395780634c91b44e1461064c5780635bb67567146106615780635c966100146106745780635cbd99d4146106875780635eb5eec91461069a5780636d8943e5146106ad57806370480275146106c057806370c75107146106d357600080fd5b80633036950e146105575780633098b74b1461056a57806332a0749c1461057d578063351c3d0b146105a857806336568abe146105c857806339cbd15c146105db57806345e0f7531461060657806348f204761461061957600080fd5b8063250de2b211610318578063250de2b21461046057806326fabe911461047357806327fa7a2014610486578063298ed0c9146104995780632aef0c30146104ac5780632d41d559146104bf5780632f2ff15d146104d25780632fb3eabf146104e557600080fd5b806301ffc9a7146103765780630241a5b31461039e578063055ee070146103a05780630f6025eb146103ce57806318cf2834146103e1578063237c9db3146103f65780632384e10514610416578063248a9ca31461043d575b600080fd5b610389610384366004613ff9565b610a3c565b60405190151581526020015b60405180910390f35b005b6103c06103ae366004613f66565b60046020526000908152604090205481565b604051908152602001610395565b61039e6103dc366004613fcd565b610a4d565b6103c0600080516020614b7183398151915281565b6103c06104043660046139e8565b600f6020526000908152604090205481565b6103c07fcfa8166f1bb1b8818c3767a9ffd776afbbe3409a468070bb860831e01b56549981565b6103c061044b366004613f66565b60009081526020819052604090206001015490565b61039e61046e3660046140de565b610a80565b61039e610481366004613bf2565b610c15565b61039e61049436600461423f565b610d9f565b61039e6104a7366004613fab565b610fb4565b61039e6104ba366004613fab565b610fd2565b61039e6104cd366004613e95565b611084565b61039e6104e0366004613f7f565b611223565b6105316104f3366004613b3a565b601360209081526000938452604080852082529284528284209052825290208054600182015460028301546003909301549192909160ff9091169084565b604080519485526020850193909352901515918301919091526060820152608001610395565b61039e610565366004613fcd565b61124e565b6103c0610578366004613f10565b6112cc565b6103c061058b366004613fab565b600860209081526000928352604080842090915290825290205481565b6103c06105b6366004613f66565b60076020526000908152604090205481565b61039e6105d6366004613f7f565b611318565b6103c06105e9366004613fab565b6000918252600c6020908152604080842092845291905290205490565b61039e6106143660046139e8565b611396565b61062c610627366004613f66565b6113b1565b60405161039591906144a0565b6103c0610647366004613f66565b6113cb565b6103c0600080516020614b3183398151915281565b61039e61066f366004613fcd565b611403565b61039e61068236600461416d565b611499565b61039e6106953660046139e8565b6117f4565b61039e6106a8366004614057565b61180c565b61039e6106bb366004613de0565b6118fb565b61039e6106ce3660046139e8565b611a9a565b6103c06106e1366004614023565b611aa5565b61039e6106f4366004613fcd565b611ab8565b60025461070c906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103c06107323660046139e8565b60016020526000908152604090205481565b6103c0610752366004613b10565b601160209081526000928352604080842090915290825290205481565b61039e61077d366004613ece565b611ba8565b61039e610790366004613fab565b611d21565b61039e6107a3366004613b6d565b611d48565b6103c0600080516020614b9183398151915281565b61039e6107cb366004613cfe565b611ea7565b6103896107de366004613f7f565b612117565b6103c0600080516020614b1183398151915281565b6103c0600080516020614b5183398151915281565b61039e61081b366004613fab565b612140565b61083361082e366004613f66565b612256565b6040516103959291906144b3565b6103c0600081565b6108336108573660046139e8565b6123a7565b61087b61086a366004613a03565b63bc197c8160e01b95945050505050565b6040516001600160e01b03199091168152602001610395565b61039e6108a2366004613fab565b61250a565b61039e6108b536600461426f565b61259d565b61039e6108c83660046141f2565b61277b565b61039e6108db366004613d83565b6128cc565b6103c06108ee366004613fab565b600560209081526000928352604080842090915290825290205481565b6103c0610919366004613f66565b6000908152600b602052604090205490565b610833610939366004613f66565b612a4f565b61053161094c366004613b10565b601260209081526000928352604080842090915290825290208054600182015460028301546003909301549192909160ff9091169084565b61039e610992366004613f7f565b612b94565b60035461070c906001600160a01b031681565b61039e6109b8366004613e48565b612bba565b6103c07faf290d8680820aad922855f39b306097b20e28774d6c1ad35a20325630c3a02c81565b61087b6109f2366004613aac565b63f23a6e6160e01b95945050505050565b61062c610a113660046139e8565b612bfd565b61039e610a24366004613c81565b612c21565b61039e610a37366004613fab565b612edc565b6000610a47826130fb565b92915050565b6000838152600c6020908152604080832084845290915281208054849290610a769084906149ce565b9091555050505050565b610a8b600033612117565b610ab05760405162461bcd60e51b8152600401610aa7906146f0565b60405180910390fd5b8151835114610ad15760405162461bcd60e51b8152600401610aa79061494f565b600080610add846112cc565b90506000610aea87611aa5565b6000818152600c60209081526040808320888452909152902054909150821115610b265760405162461bcd60e51b8152600401610aa790614514565b600092505b8551831015610c0c57604080516001808252818301909252600091602080830190803683375050604080516001808252818301909252929350600092915060208083019080368337019050509050868581518110610b8b57610b8b614ae4565b602002602001015182600081518110610ba657610ba6614ae4565b6020026020010181815250508581600081518110610bc657610bc6614ae4565b602002602001018181525050610bf789898781518110610be857610be8614ae4565b60200260200101518484611499565b50508280610c0490614a73565b935050610b2b565b50505050505050565b6001600160a01b0386166000908152600160209081526040808320549051610c57923092600080516020614b918339815191529290918a918a918a91016142f9565b6040516020818303038152906040528051906020012090506000610c7b8288613120565b9050876001600160a01b0316816001600160a01b031614610cae5760405162461bcd60e51b8152600401610aa79061486c565b6001600160a01b0388166000908152600160205260408120805491610cd283614a73565b91905055506000610ce287611aa5565b6000818152600c60209081526040808320888452909152902054909150851115610d1e5760405162461bcd60e51b8152600401610aa790614514565b6000818152600c6020908152604080832087845290915281208054879290610d47908490614a19565b90915550610d58905086868661124e565b8386827f0f63528d8c4a54e81a3a5f82736b7f0b5bb9d1143c7e82cf832c0ace6d8cf32088604051610d8c91815260200190565b60405180910390a4505050505050505050565b816000610dab826113cb565b600083815260076020526040902054909150610dd95760405162461bcd60e51b8152600401610aa7906146a3565b610df1600080516020614b1183398151915233612117565b610e0d5760405162461bcd60e51b8152600401610aa790614659565b6000610e18856113cb565b336000908152601260209081526040808320848452909152902060028101549192509060ff16610e5a5760405162461bcd60e51b8152600401610aa790614727565b4281600301541015610e7e5760405162461bcd60e51b8152600401610aa7906148b1565b6000610e8986611aa5565b3360009081526012602090815260408083208784529091529020600101549091508114610ec85760405162461bcd60e51b8152600401610aa7906147f4565b610ed687836000015461250a565b81546002808401805460ff19169055600080855560038501555460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015610f3957600080fd5b505af1158015610f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f719190613f44565b50604051818152889033907fe4de809bf00bba73c562150b76ba81e5af05183458342bfdb09a7c9e303813e5906020015b60405180910390a35050505050505050565b610fbf600983613193565b506000918252600b602052604090912055565b610fea600080516020614b7183398151915233612117565b6110065760405162461bcd60e51b8152600401610aa7906145c0565b816000611012826113cb565b6000838152600760205260409020549091506110405760405162461bcd60e51b8152600401610aa7906146a3565b600084815260076020908152604080832054868452600b909252822080549192839261106d9084906149ce565b9091555061107d9050858261250a565b5050505050565b826000611090826113cb565b6000838152600760205260409020549091506110be5760405162461bcd60e51b8152600401610aa7906146a3565b6110d6600080516020614b7183398151915233612117565b6110f25760405162461bcd60e51b8152600401610aa7906145c0565b60006110fd866113cb565b6001600160a01b038816600090815260126020908152604080832084845290915290206003810154919250906111455760405162461bcd60e51b8152600401610aa790614827565b620151808511156111685760405162461bcd60e51b8152600401610aa79061460a565b600381015461117a90620151806149ce565b4211156111995760405162461bcd60e51b8152600401610aa7906147b1565b600281015460ff16156111be5760405162461bcd60e51b8152600401610aa79061476a565b600180820187905560028201805460ff191690911790556111df85426149ce565b6003820155805460405190815287906001600160a01b038a16907f05ca75b0d90f1dd046ad3b8c1ec4a461042c3d33518b9b67d9feafc7d8d3c6cf90602001610fa2565b60008281526020819052604090206001015461123f813361319f565b6112498383613203565b505050565b611259600033612117565b6112755760405162461bcd60e51b8152600401610aa7906146f0565b60008381526008602090815260408083208484529091528120805484929061129e9084906149ce565b9091555050600083815260056020908152604080832084845290915281208054849290610a769084906149ce565b6000805b8251811015611312578281815181106112eb576112eb614ae4565b6020026020010151826112fe91906149ce565b91508061130a81614a73565b9150506112d0565b50919050565b6001600160a01b03811633146113885760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610aa7565b6113928282613287565b5050565b6113ae600080516020614b1183398151915282611223565b50565b6000818152600660205260409020606090610a47906132ec565b60006113d6826132f9565b6040516020016113e691906143dd565b604051602081830303815290604052805190602001209050919050565b61140e600033612117565b61142a5760405162461bcd60e51b8152600401610aa7906146f0565b826000611436826113cb565b6000838152600760205260409020549091506114645760405162461bcd60e51b8152600401610aa7906146a3565b60008581526008602090815260408083208684529091528120805486929061148d908490614a19565b90915550505050505050565b6114a4600033612117565b806114c257506114c2600080516020614b3183398151915233612117565b6114de5760405162461bcd60e51b8152600401610aa79061456a565b60006114e985611aa5565b9050815183511461150c5760405162461bcd60e51b8152600401610aa79061494f565b611524600080516020614b3183398151915233612117565b1561154a576000818152600d6020526040902061154190336133fe565b61154a57600080fd5b60005b82518110156117ec5783818151811061156857611568614ae4565b6020026020010151600c6000848152602001908152602001600020600085848151811061159757611597614ae4565b602002602001015181526020019081526020016000205410156115cc5760405162461bcd60e51b8152600401610aa790614514565b6116038382815181106115e1576115e1614ae4565b6020908102919091018101513360009081526010909252604090912090613193565b5083818151811061161657611616614ae4565b602002602001015160116000336001600160a01b03166001600160a01b03168152602001908152602001600020600085848151811061165757611657614ae4565b60200260200101518152602001908152602001600020600082825461167c91906149ce565b9250508190555083818151811061169557611695614ae4565b6020026020010151600c600084815260200190815260200160002060008584815181106116c4576116c4614ae4565b6020026020010151815260200190815260200160002060008282546116e99190614a19565b9250508190555061172d8585838151811061170657611706614ae4565b602002602001015185848151811061172057611720614ae4565b602002602001015161124e565b61176b83828151811061174257611742614ae4565b60200260200101516006600088815260200190815260200160002061319390919063ffffffff16565b5082818151811061177e5761177e614ae4565b602002602001015185837f0f63528d8c4a54e81a3a5f82736b7f0b5bb9d1143c7e82cf832c0ace6d8cf3208785815181106117bb576117bb614ae4565b60200260200101516040516117d291815260200190565b60405180910390a4806117e481614a73565b91505061154d565b505050505050565b6113ae600080516020614b7183398151915282611223565b611817600033612117565b6118335760405162461bcd60e51b8152600401610aa7906146f0565b80518251146118545760405162461bcd60e51b8152600401610aa79061494f565b600080611860836112cc565b9050600061186d86611aa5565b6000818152600b602052604090205490915082111561189e5760405162461bcd60e51b8152600401610aa790614514565b600092505b84518310156117ec576118e9868685815181106118c2576118c2614ae4565b60200260200101518686815181106118dc576118dc614ae4565b602002602001015161277b565b826118f381614a73565b9350506118a3565b6001600160a01b03851660009081526001602090815260408083205490516001600160601b03193060601b1692810192909252600080516020614b5183398151915260348301526054820152607481018590526094810184905260b4810183905260d40160405160208183030381529060405280519060200120905060006119838287613420565b9050866001600160a01b0316816001600160a01b0316146119b65760405162461bcd60e51b8152600401610aa79061486c565b6001600160a01b03871660009081526001602052604081208054916119da83614a73565b919050555060006119ea866113cb565b6000878152600860209081526040808320888452909152902054909150851115611a265760405162461bcd60e51b8152600401610aa7906148f2565b6001600160a01b0388166000908152601360209081526040808320848452825280832087845282529182902060028101805460ff1916905587815542600382015591518781528691899132917f1f65060b5be8dd96d202776ad6ec1decbd993b5758a4da0472d05e554f9544c19101610d8c565b6113ae600082611223565b6000816040516020016113e691906143dd565b611ad0600080516020614b1183398151915233612117565b611aec5760405162461bcd60e51b8152600401610aa790614659565b6000611af7846113cb565b6000858152600860209081526040808320868452909152902054909150831115611b335760405162461bcd60e51b8152600401610aa7906148f2565b336000908152601360209081526040808320848452825280832085845282529182902060028101805460ff1916905585815542600382015591518581528491879132917f1f65060b5be8dd96d202776ad6ec1decbd993b5758a4da0472d05e554f9544c1910160405180910390a45050505050565b611bc0600080516020614b7183398151915233612117565b611bdc5760405162461bcd60e51b8152600401610aa7906145c0565b6000611be7856113cb565b6001600160a01b038716600090815260136020908152604080832084845282528083208684529091529020600381015491925090611c375760405162461bcd60e51b8152600401610aa790614827565b62015180841115611c5a5760405162461bcd60e51b8152600401610aa79061460a565b6003810154611c6c90620151806149ce565b421115611c8b5760405162461bcd60e51b8152600401610aa7906147b1565b600281015460ff1615611cb05760405162461bcd60e51b8152600401610aa79061476a565b600180820186905560028201805460ff19169091179055611cd184426149ce565b6003820155805460405190815286906001600160a01b038916907f05ca75b0d90f1dd046ad3b8c1ec4a461042c3d33518b9b67d9feafc7d8d3c6cf9060200160405180910390a350505050505050565b6000828152600b602052604081208054839290611d3f9084906149ce565b90915550505050565b6001600160a01b0385166000908152600160209081526040808320549051611d8a923092600080516020614b91833981519152929091899189918991016142f9565b6040516020818303038152906040528051906020012090506000611dae8287613120565b9050866001600160a01b0316816001600160a01b031614611de15760405162461bcd60e51b8152600401610aa79061486c565b6001600160a01b0387166000908152600160205260408120805491611e0583614a73565b91905055506000611e1586611aa5565b6000818152600b6020526040902054909150841115611e465760405162461bcd60e51b8152600401610aa790614514565b6000818152600b602052604081208054869290611e64908490614a19565b90915550611e7490508585612edc565b84817f707197b34e0edb88707154f8a8ea9f3c8d891eb60a28dac25cc79bf23c3aa5c186604051610fa291815260200190565b6001600160a01b0385166000908152600160209081526040808320549051611ee9923092600080516020614b518339815191529290918991899189910161438e565b6040516020818303038152906040528051906020012090506000611f0d8287613420565b9050866001600160a01b0316816001600160a01b031614611f405760405162461bcd60e51b8152600401610aa79061486c565b6001600160a01b0387166000908152600160205260408120805491611f6483614a73565b91905055506000611f74866113cb565b3360009081526013602090815260408083208484528252808320888452909152902060028101549192509060ff16611fbe5760405162461bcd60e51b8152600401610aa790614727565b4281600301541015611fe25760405162461bcd60e51b8152600401610aa7906148b1565b6000611fed87611aa5565b33600090815260136020908152604080832087845282528083208a845290915290206001015490915081146120345760405162461bcd60e51b8152600401610aa7906147f4565b61204388836000015488611403565b815460028301805460ff19169055600080845560038085019190915554604051637921219560e11b81526001600160a01b039091169063f242432a9061209390309033908c908790600401614468565b600060405180830381600087803b1580156120ad57600080fd5b505af11580156120c1573d6000803e3d6000fd5b505050508689336001600160a01b03167f77b62d0e5f5977416f69e95bf0e9b3965aa4e6e54c8ff195b395b7b747ef81408460405161210291815260200190565b60405180910390a45050505050505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b81600061214c826113cb565b60008381526007602052604090205490915061217a5760405162461bcd60e51b8152600401610aa7906146a3565b612192600080516020614b1183398151915233612117565b6121ae5760405162461bcd60e51b8152600401610aa790614659565b60006121b9856113cb565b6000868152600760205260409020549091508411156121ea5760405162461bcd60e51b8152600401610aa7906148f2565b33600090815260126020908152604080832084845282529182902060028101805460ff191690558681554260038201559151868152879132917f79ef0b2282f5e45718748b37d5a89727c1544ad2f78b126efa97c32ac1f1d232910160405180910390a3505050505050565b60008181526006602052604081206060918291819061227490613447565b90506000816001600160401b0381111561229057612290614afa565b6040519080825280602002602001820160405280156122b9578160200160208202803683370190505b5090506000826001600160401b038111156122d6576122d6614afa565b6040519080825280602002602001820160405280156122ff578160200160208202803683370190505b509050600093505b8284101561239b5760008781526006602052604081206123279086613451565b6000898152600860209081526040808320848452909152902054845191925090829085908890811061235b5761235b614ae4565b6020026020010181815250508083878151811061237a5761237a614ae4565b6020026020010181815250505050838061239390614a73565b945050612307565b90969095509350505050565b6001600160a01b0381166000908152601060205260408120606091829181906123cf90613447565b90506000816001600160401b038111156123eb576123eb614afa565b604051908082528060200260200182016040528015612414578160200160208202803683370190505b5090506000826001600160401b0381111561243157612431614afa565b60405190808252806020026020018201604052801561245a578160200160208202803683370190505b509050600093505b8284101561239b576001600160a01b038716600090815260106020526040812061248c9086613451565b6001600160a01b038916600090815260116020908152604080832084845290915290205484519192509082908590889081106124ca576124ca614ae4565b602002602001018181525050808387815181106124e9576124e9614ae4565b6020026020010181815250505050838061250290614a73565b945050612462565b612515600033612117565b6125315760405162461bcd60e51b8152600401610aa7906146f0565b81600061253d826113cb565b60008381526007602052604090205490915061256b5760405162461bcd60e51b8152600401610aa7906146a3565b600084815260076020526040902054612585908490614a19565b60009485526007602052604090942093909355505050565b6125b5600080516020614b1183398151915233612117565b6125d15760405162461bcd60e51b8152600401610aa790614659565b60006125dc846113cb565b3360009081526013602090815260408083208484528252808320868452909152902060028101549192509060ff166126265760405162461bcd60e51b8152600401610aa790614727565b428160030154101561264a5760405162461bcd60e51b8152600401610aa7906148b1565b600061265585611aa5565b3360009081526013602090815260408083208784528252808320888452909152902060010154909150811461269c5760405162461bcd60e51b8152600401610aa7906147f4565b6126ab86836000015486611403565b815460028301805460ff19169055600080845560038085019190915554604051637921219560e11b81526001600160a01b039091169063f242432a906126fb90309033908a908790600401614468565b600060405180830381600087803b15801561271557600080fd5b505af1158015612729573d6000803e3d6000fd5b505050508487336001600160a01b03167f77b62d0e5f5977416f69e95bf0e9b3965aa4e6e54c8ff195b395b7b747ef81408460405161276a91815260200190565b60405180910390a450505050505050565b612786600033612117565b806127a457506127a4600080516020614b3183398151915233612117565b6127c05760405162461bcd60e51b8152600401610aa79061456a565b60006127cb84611aa5565b90506127e5600080516020614b3183398151915233612117565b1561280b576000818152600d6020526040902061280290336133fe565b61280b57600080fd5b336000908152600f60205260408120805484929061282a9084906149ce565b90915550506000818152600b602052604090205482111561285d5760405162461bcd60e51b8152600401610aa790614514565b6000818152600b60205260408120805484929061287b908490614a19565b9091555061288b90508383612edc565b82817f707197b34e0edb88707154f8a8ea9f3c8d891eb60a28dac25cc79bf23c3aa5c1846040516128be91815260200190565b60405180910390a350505050565b6001600160a01b03841660009081526001602090815260408083205490516001600160601b03193060601b1692810192909252600080516020614b5183398151915260348301526054820152607481018490526094810183905260b401604051602081830303815290604052805190602001209050600061294d8286613420565b9050856001600160a01b0316816001600160a01b0316146129805760405162461bcd60e51b8152600401610aa79061486c565b6001600160a01b03861660009081526001602052604081208054916129a483614a73565b919050555060006129b4856113cb565b6000868152600760205260409020549091508411156129e55760405162461bcd60e51b8152600401610aa7906148f2565b6001600160a01b038716600090815260126020908152604080832084845282529182902060028101805460ff191690558681554260038201559151868152879132917f79ef0b2282f5e45718748b37d5a89727c1544ad2f78b126efa97c32ac1f1d2329101610fa2565b600081815260066020526040812060609182918190612a6d90613447565b90506000816001600160401b03811115612a8957612a89614afa565b604051908082528060200260200182016040528015612ab2578160200160208202803683370190505b5090506000826001600160401b03811115612acf57612acf614afa565b604051908082528060200260200182016040528015612af8578160200160208202803683370190505b509050600093505b8284101561239b576000878152600660205260408120612b209086613451565b60008981526005602090815260408083208484529091529020548451919250908290859088908110612b5457612b54614ae4565b60200260200101818152505080838781518110612b7357612b73614ae4565b60200260200101818152505050508380612b8c90614a73565b945050612b00565b600082815260208190526040902060010154612bb0813361319f565b6112498383613287565b6000612bc582611aa5565b9050612bdf600080516020614b3183398151915284611223565b6000818152600d60205260409020612bf7908461345d565b50505050565b6001600160a01b0381166000908152601060205260409020606090610a47906132ec565b816000612c2d826113cb565b600083815260076020526040902054909150612c5b5760405162461bcd60e51b8152600401610aa7906146a3565b6001600160a01b0386166000908152600160209081526040808320549051612c9b923092600080516020614b518339815191529290918a918a9101614346565b6040516020818303038152906040528051906020012090506000612cbf8288613420565b9050876001600160a01b0316816001600160a01b031614612cf25760405162461bcd60e51b8152600401610aa79061486c565b6001600160a01b0388166000908152600160205260408120805491612d1683614a73565b91905055506000612d26876113cb565b336000908152601260209081526040808320848452909152902060028101549192509060ff16612d685760405162461bcd60e51b8152600401610aa790614727565b4281600301541015612d8c5760405162461bcd60e51b8152600401610aa7906148b1565b6000612d9788611aa5565b3360009081526012602090815260408083208784529091529020600101549091508114612dd65760405162461bcd60e51b8152600401610aa7906147f4565b815460008a81526007602052604081208054909190612df6908490614a19565b909155505081546002808401805460ff19169055600080855560038501555460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015612e5e57600080fd5b505af1158015612e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e969190613f44565b506040518181528a9033907fe4de809bf00bba73c562150b76ba81e5af05183458342bfdb09a7c9e303813e59060200160405180910390a3505050505050505050505050565b612ee7600033612117565b612f035760405162461bcd60e51b8152600401610aa7906146f0565b600082815260076020526040902054612f1d9082906149ce565b600083815260076020908152604080832093909355600490522054612f439082906149ce565b6000928352600460205260409092209190915550565b60606000612f688360026149fa565b612f739060026149ce565b6001600160401b03811115612f8a57612f8a614afa565b6040519080825280601f01601f191660200182016040528015612fb4576020820181803683370190505b509050600360fc1b81600081518110612fcf57612fcf614ae4565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612ffe57612ffe614ae4565b60200101906001600160f81b031916908160001a90535060006130228460026149fa565b61302d9060016149ce565b90505b60018111156130a5576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061306157613061614ae4565b1a60f81b82828151811061307757613077614ae4565b60200101906001600160f81b031916908160001a90535060049490941c9361309e81614a5c565b9050613030565b5083156130f45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610aa7565b9392505050565b60006001600160e01b03198216630271189760e51b1480610a475750610a4782613472565b60008061312d84846134a7565b9050613147600080516020614b3183398151915282612117565b6130f45760405162461bcd60e51b815260206004820152601a60248201527f5369676e65722073686f756c64206265204d6f62696c697a65720000000000006044820152606401610aa7565b60006130f483836134cb565b6131a98282612117565b611392576131c1816001600160a01b03166014612f59565b6131cc836020612f59565b6040516020016131dd9291906143f9565b60408051601f198184030181529082905262461bcd60e51b8252610aa7916004016144e1565b61320d8282612117565b611392576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556132433390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6132918282612117565b15611392576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b606060006130f48361351a565b60608161331d5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115613347578061333181614a73565b91506133409050600a836149e6565b9150613321565b6000816001600160401b0381111561336157613361614afa565b6040519080825280601f01601f19166020018201604052801561338b576020820181803683370190505b5090505b84156133f6576133a0600183614a19565b91506133ad600a86614a8e565b6133b89060306149ce565b60f81b8183815181106133cd576133cd614ae4565b60200101906001600160f81b031916908160001a9053506133ef600a866149e6565b945061338f565b949350505050565b6001600160a01b038116600090815260018301602052604081205415156130f4565b60008061342d84846134a7565b9050613147600080516020614b1183398151915282612117565b6000610a47825490565b60006130f48383613576565b60006130f4836001600160a01b0384166134cb565b60006001600160e01b03198216637965db0b60e01b1480610a4757506301ffc9a760e01b6001600160e01b0319831614610a47565b60008060006134b685856135a0565b915091506134c381613610565b509392505050565b600081815260018301602052604081205461351257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610a47565b506000610a47565b60608160000180548060200260200160405190810160405280929190818152602001828054801561356a57602002820191906000526020600020905b815481526020019060010190808311613556575b50505050509050919050565b600082600001828154811061358d5761358d614ae4565b9060005260206000200154905092915050565b6000808251604114156135d75760208301516040840151606085015160001a6135cb878285856137c6565b94509450505050613609565b82516040141561360157602083015160408401516135f68683836138a9565b935093505050613609565b506000905060025b9250929050565b600081600481111561362457613624614ace565b141561362d5750565b600181600481111561364157613641614ace565b141561368a5760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b6044820152606401610aa7565b600281600481111561369e5761369e614ace565b14156136ec5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610aa7565b600381600481111561370057613700614ace565b14156137595760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610aa7565b600481600481111561376d5761376d614ace565b14156113ae5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610aa7565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038311156137f357506000905060036138a0565b8460ff16601b1415801561380b57508460ff16601c14155b1561381c57506000905060046138a0565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613870573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613899576000600192509250506138a0565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b016138ca878288856137c6565b935093505050935093915050565b80356001600160a01b03811681146138ef57600080fd5b919050565b600082601f83011261390557600080fd5b813560206001600160401b0382111561392057613920614afa565b8160051b61392f82820161499e565b83815282810190868401838801850189101561394a57600080fd5b600093505b8584101561396d57803583526001939093019291840191840161394f565b50979650505050505050565b600082601f83011261398a57600080fd5b81356001600160401b038111156139a3576139a3614afa565b6139b6601f8201601f191660200161499e565b8181528460208386010111156139cb57600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156139fa57600080fd5b6130f4826138d8565b600080600080600060a08688031215613a1b57600080fd5b613a24866138d8565b9450613a32602087016138d8565b935060408601356001600160401b0380821115613a4e57600080fd5b613a5a89838a016138f4565b94506060880135915080821115613a7057600080fd5b613a7c89838a016138f4565b93506080880135915080821115613a9257600080fd5b50613a9f88828901613979565b9150509295509295909350565b600080600080600060a08688031215613ac457600080fd5b613acd866138d8565b9450613adb602087016138d8565b9350604086013592506060860135915060808601356001600160401b03811115613b0457600080fd5b613a9f88828901613979565b60008060408385031215613b2357600080fd5b613b2c836138d8565b946020939093013593505050565b600080600060608486031215613b4f57600080fd5b613b58846138d8565b95602085013595506040909401359392505050565b600080600080600060a08688031215613b8557600080fd5b613b8e866138d8565b945060208601356001600160401b0380821115613baa57600080fd5b613bb689838a01613979565b95506040880135915080821115613bcc57600080fd5b50613bd988828901613979565b9598949750949560608101359550608001359392505050565b60008060008060008060c08789031215613c0b57600080fd5b613c14876138d8565b955060208701356001600160401b0380821115613c3057600080fd5b613c3c8a838b01613979565b96506040890135915080821115613c5257600080fd5b50613c5f89828a01613979565b945050606087013592506080870135915060a087013590509295509295509295565b60008060008060808587031215613c9757600080fd5b613ca0856138d8565b935060208501356001600160401b0380821115613cbc57600080fd5b613cc888838901613979565b9450604087013593506060870135915080821115613ce557600080fd5b50613cf287828801613979565b91505092959194509250565b600080600080600060a08688031215613d1657600080fd5b613d1f866138d8565b945060208601356001600160401b0380821115613d3b57600080fd5b613d4789838a01613979565b9550604088013594506060880135915080821115613d6457600080fd5b50613d7188828901613979565b95989497509295608001359392505050565b60008060008060808587031215613d9957600080fd5b613da2856138d8565b935060208501356001600160401b03811115613dbd57600080fd5b613dc987828801613979565b949794965050505060408301359260600135919050565b600080600080600060a08688031215613df857600080fd5b613e01866138d8565b945060208601356001600160401b03811115613e1c57600080fd5b613e2888828901613979565b959895975050505060408401359360608101359360809091013592509050565b60008060408385031215613e5b57600080fd5b613e64836138d8565b915060208301356001600160401b03811115613e7f57600080fd5b613e8b85828601613979565b9150509250929050565b60008060008060808587031215613eab57600080fd5b613eb4856138d8565b966020860135965060408601359560600135945092505050565b600080600080600060a08688031215613ee657600080fd5b613eef866138d8565b97602087013597506040870135966060810135965060800135945092505050565b600060208284031215613f2257600080fd5b81356001600160401b03811115613f3857600080fd5b6133f6848285016138f4565b600060208284031215613f5657600080fd5b815180151581146130f457600080fd5b600060208284031215613f7857600080fd5b5035919050565b60008060408385031215613f9257600080fd5b82359150613fa2602084016138d8565b90509250929050565b60008060408385031215613fbe57600080fd5b50508035926020909101359150565b600080600060608486031215613fe257600080fd5b505081359360208301359350604090920135919050565b60006020828403121561400b57600080fd5b81356001600160e01b0319811681146130f457600080fd5b60006020828403121561403557600080fd5b81356001600160401b0381111561404b57600080fd5b6133f684828501613979565b60008060006060848603121561406c57600080fd5b83356001600160401b038082111561408357600080fd5b61408f87838801613979565b945060208601359150808211156140a557600080fd5b6140b1878388016138f4565b935060408601359150808211156140c757600080fd5b506140d4868287016138f4565b9150509250925092565b600080600080608085870312156140f457600080fd5b84356001600160401b038082111561410b57600080fd5b61411788838901613979565b9550602087013591508082111561412d57600080fd5b614139888389016138f4565b9450604087013591508082111561414f57600080fd5b5061415c878288016138f4565b949793965093946060013593505050565b6000806000806080858703121561418357600080fd5b84356001600160401b038082111561419a57600080fd5b6141a688838901613979565b95506020870135945060408701359150808211156141c357600080fd5b6141cf888389016138f4565b935060608701359150808211156141e557600080fd5b50613cf2878288016138f4565b60008060006060848603121561420757600080fd5b83356001600160401b0381111561421d57600080fd5b61422986828701613979565b9660208601359650604090950135949350505050565b6000806040838503121561425257600080fd5b8235915060208301356001600160401b03811115613e7f57600080fd5b60008060006060848603121561428457600080fd5b8335925060208401356001600160401b038111156142a157600080fd5b6142ad86828701613979565b925050604084013590509250925092565b600081518084526020808501945080840160005b838110156142ee578151875295820195908201906001016142d2565b509495945050505050565b6001600160601b03198760601b1681528560148201528460348201526000845161432a816054850160208901614a30565b9091016054810193909352506074820152609401949350505050565b6001600160601b03198660601b1681528460148201528360348201528260548201526000825161437d816074850160208701614a30565b919091016074019695505050505050565b6001600160601b03198760601b168152856014820152846034820152836054820152600083516143c5816074850160208801614a30565b60749201918201929092526094019695505050505050565b600082516143ef818460208701614a30565b9190910192915050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161442b816017850160208801614a30565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161445c816028840160208801614a30565b01602801949350505050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b6020815260006130f460208301846142be565b6040815260006144c660408301856142be565b82810360208401526144d881856142be565b95945050505050565b6020815260008251806020840152614500816040850160208701614a30565b601f01601f19169190910160400192915050565b60208082526036908201527f52414841543a20416d6f756e742069732067726561746572207468616e2072656040820152751b585a5b9a5b99c8141c9bda9958dd08109d5919d95d60521b606082015260800190565b60208082526036908201527f52414841543a2053656e646572204d757374206265206120726567697374657260408201527532b21020b236b4b71027b91026b7b134b634bd32b91760511b606082015260800190565b6020808252602a908201527f52414841543a2053656e646572206d75737420626520616e20617574686f72696040820152693d32b21039b2b93b32b960b11b606082015260800190565b6020808252602f908201527f52414841543a54696d6520546f204c6976652073686f756c64206265206c657360408201526e73207468616e20323420686f75727360881b606082015260800190565b6020808252602a908201527f52414841543a2053656e646572204d757374206265206120726567697374657260408201526932b2103b32b73237b91760b11b606082015260800190565b6020808252602d908201527f52414841543a204e6f20616e7920746f6b656e2077617320697373756564207460408201526c37903a3434b990373ab6b132b960991b606082015260800190565b6020808252601f908201527f52414841543a2053656e646572206d75737420626520616e2061646d696e2e00604082015260600190565b60208082526023908201527f52414841543a20436c61696d20686173206e6f74206265656e2072656c65617360408201526232b21760e91b606082015260800190565b60208082526027908201527f52414841543a20436c61696d2068617320616c7265616479206265656e2072656040820152663632b0b9b2b21760c91b606082015260800190565b60208082526023908201527f52414841543a20436c61696d206973206f6c646572207468616e20323420686f60408201526275727360e81b606082015260800190565b6020808252601990820152782920a420aa1d1027aa28103234b2103737ba1036b0ba31b41760391b604082015260600190565b60208082526025908201527f52414841543a20436c61696d20686173206e6f74206265656e2063726561746560408201526419081e595d60da1b606082015260800190565b60208082526025908201527f5369676e617475726520646964206e6f74206d6174636865642077697468207360408201526434b3b732b960d91b606082015260800190565b60208082526021908201527f52414841543a20436c61696d2068617320616c726561647920657870697265646040820152601760f91b606082015260800190565b6020808252603c908201527f52414841543a20416d6f756e742072657175657374656420697320677265617460408201527f6572207468616e2062656e65666963696172792062616c616e63652e00000000606082015260800190565b6020808252602f908201527f52414841543a20496e76616c696420696e70757420617272617973206f66205060408201526e1a1bdb9948185b9908105b5bdd5b9d608a1b606082015260800190565b604051601f8201601f191681016001600160401b03811182821017156149c6576149c6614afa565b604052919050565b600082198211156149e1576149e1614aa2565b500190565b6000826149f5576149f5614ab8565b500490565b6000816000190483118215151615614a1457614a14614aa2565b500290565b600082821015614a2b57614a2b614aa2565b500390565b60005b83811015614a4b578181015183820152602001614a33565b83811115612bf75750506000910152565b600081614a6b57614a6b614aa2565b506000190190565b6000600019821415614a8757614a87614aa2565b5060010190565b600082614a9d57614a9d614ab8565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfe0aaf57387812c7f832412470a57567b5648a930069be49aa9c98d04f88520d34be9e90431f28bd12a87a51b26b014cab620a8a4819bf73d87369ccbe6800a76c8ff5d84bbad5f252f2ee1916646e221e55645205d2f803ebe6a7d6ba8fa4185dcaa7f6290f33308266ee2988386694ac9bc3612b5df272e3502129925a64f997043620c1e1c33ecf60d9dadc62571b96554338b68ef3636e715e52a286bea92ea26469706673582212206fb34c546e8ede06b23504ec00b3897e1cb7ad853fed78e9a49723029015f29e64736f6c63430008070033caa7f6290f33308266ee2988386694ac9bc3612b5df272e3502129925a64f997", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106103715760003560e01c8063747bb537116101d5578063bf6b867b11610105578063d547741f116100a8578063d547741f14610984578063d56022d714610997578063eaad46f5146109aa578063ec87621c146109bd578063f23a6e61146109e4578063f521621614610a03578063f708ccab1461039e578063f94afcea14610a16578063f9b5bf9014610a2957600080fd5b8063bf6b867b14610894578063bfa68363146108a7578063c0d955d6146108ba578063c8d9bb29146108cd578063cae22709146108e0578063cf784eda1461090b578063d0e65d141461092b578063d1e671671461093e57600080fd5b80638eda3247116101785780638eda3247146107bd57806391d14854146107d0578063926a694d146107e357806394343cd2146107f85780639ea693501461080d578063a067ddfe14610820578063a217fddf14610841578063b32ca28914610849578063bc197c811461085c57600080fd5b8063747bb537146106e6578063785e9e86146106f95780637ecebe001461072457806382d41dd21461074457806383d385a41461076f57806388257567146107825780638a80940d146107955780638bbab5c7146107a857600080fd5b80633036950e116102b0578063494101ff11610253578063494101ff146106395780634c91b44e1461064c5780635bb67567146106615780635c966100146106745780635cbd99d4146106875780635eb5eec91461069a5780636d8943e5146106ad57806370480275146106c057806370c75107146106d357600080fd5b80633036950e146105575780633098b74b1461056a57806332a0749c1461057d578063351c3d0b146105a857806336568abe146105c857806339cbd15c146105db57806345e0f7531461060657806348f204761461061957600080fd5b8063250de2b211610318578063250de2b21461046057806326fabe911461047357806327fa7a2014610486578063298ed0c9146104995780632aef0c30146104ac5780632d41d559146104bf5780632f2ff15d146104d25780632fb3eabf146104e557600080fd5b806301ffc9a7146103765780630241a5b31461039e578063055ee070146103a05780630f6025eb146103ce57806318cf2834146103e1578063237c9db3146103f65780632384e10514610416578063248a9ca31461043d575b600080fd5b610389610384366004613ff9565b610a3c565b60405190151581526020015b60405180910390f35b005b6103c06103ae366004613f66565b60046020526000908152604090205481565b604051908152602001610395565b61039e6103dc366004613fcd565b610a4d565b6103c0600080516020614b7183398151915281565b6103c06104043660046139e8565b600f6020526000908152604090205481565b6103c07fcfa8166f1bb1b8818c3767a9ffd776afbbe3409a468070bb860831e01b56549981565b6103c061044b366004613f66565b60009081526020819052604090206001015490565b61039e61046e3660046140de565b610a80565b61039e610481366004613bf2565b610c15565b61039e61049436600461423f565b610d9f565b61039e6104a7366004613fab565b610fb4565b61039e6104ba366004613fab565b610fd2565b61039e6104cd366004613e95565b611084565b61039e6104e0366004613f7f565b611223565b6105316104f3366004613b3a565b601360209081526000938452604080852082529284528284209052825290208054600182015460028301546003909301549192909160ff9091169084565b604080519485526020850193909352901515918301919091526060820152608001610395565b61039e610565366004613fcd565b61124e565b6103c0610578366004613f10565b6112cc565b6103c061058b366004613fab565b600860209081526000928352604080842090915290825290205481565b6103c06105b6366004613f66565b60076020526000908152604090205481565b61039e6105d6366004613f7f565b611318565b6103c06105e9366004613fab565b6000918252600c6020908152604080842092845291905290205490565b61039e6106143660046139e8565b611396565b61062c610627366004613f66565b6113b1565b60405161039591906144a0565b6103c0610647366004613f66565b6113cb565b6103c0600080516020614b3183398151915281565b61039e61066f366004613fcd565b611403565b61039e61068236600461416d565b611499565b61039e6106953660046139e8565b6117f4565b61039e6106a8366004614057565b61180c565b61039e6106bb366004613de0565b6118fb565b61039e6106ce3660046139e8565b611a9a565b6103c06106e1366004614023565b611aa5565b61039e6106f4366004613fcd565b611ab8565b60025461070c906001600160a01b031681565b6040516001600160a01b039091168152602001610395565b6103c06107323660046139e8565b60016020526000908152604090205481565b6103c0610752366004613b10565b601160209081526000928352604080842090915290825290205481565b61039e61077d366004613ece565b611ba8565b61039e610790366004613fab565b611d21565b61039e6107a3366004613b6d565b611d48565b6103c0600080516020614b9183398151915281565b61039e6107cb366004613cfe565b611ea7565b6103896107de366004613f7f565b612117565b6103c0600080516020614b1183398151915281565b6103c0600080516020614b5183398151915281565b61039e61081b366004613fab565b612140565b61083361082e366004613f66565b612256565b6040516103959291906144b3565b6103c0600081565b6108336108573660046139e8565b6123a7565b61087b61086a366004613a03565b63bc197c8160e01b95945050505050565b6040516001600160e01b03199091168152602001610395565b61039e6108a2366004613fab565b61250a565b61039e6108b536600461426f565b61259d565b61039e6108c83660046141f2565b61277b565b61039e6108db366004613d83565b6128cc565b6103c06108ee366004613fab565b600560209081526000928352604080842090915290825290205481565b6103c0610919366004613f66565b6000908152600b602052604090205490565b610833610939366004613f66565b612a4f565b61053161094c366004613b10565b601260209081526000928352604080842090915290825290208054600182015460028301546003909301549192909160ff9091169084565b61039e610992366004613f7f565b612b94565b60035461070c906001600160a01b031681565b61039e6109b8366004613e48565b612bba565b6103c07faf290d8680820aad922855f39b306097b20e28774d6c1ad35a20325630c3a02c81565b61087b6109f2366004613aac565b63f23a6e6160e01b95945050505050565b61062c610a113660046139e8565b612bfd565b61039e610a24366004613c81565b612c21565b61039e610a37366004613fab565b612edc565b6000610a47826130fb565b92915050565b6000838152600c6020908152604080832084845290915281208054849290610a769084906149ce565b9091555050505050565b610a8b600033612117565b610ab05760405162461bcd60e51b8152600401610aa7906146f0565b60405180910390fd5b8151835114610ad15760405162461bcd60e51b8152600401610aa79061494f565b600080610add846112cc565b90506000610aea87611aa5565b6000818152600c60209081526040808320888452909152902054909150821115610b265760405162461bcd60e51b8152600401610aa790614514565b600092505b8551831015610c0c57604080516001808252818301909252600091602080830190803683375050604080516001808252818301909252929350600092915060208083019080368337019050509050868581518110610b8b57610b8b614ae4565b602002602001015182600081518110610ba657610ba6614ae4565b6020026020010181815250508581600081518110610bc657610bc6614ae4565b602002602001018181525050610bf789898781518110610be857610be8614ae4565b60200260200101518484611499565b50508280610c0490614a73565b935050610b2b565b50505050505050565b6001600160a01b0386166000908152600160209081526040808320549051610c57923092600080516020614b918339815191529290918a918a918a91016142f9565b6040516020818303038152906040528051906020012090506000610c7b8288613120565b9050876001600160a01b0316816001600160a01b031614610cae5760405162461bcd60e51b8152600401610aa79061486c565b6001600160a01b0388166000908152600160205260408120805491610cd283614a73565b91905055506000610ce287611aa5565b6000818152600c60209081526040808320888452909152902054909150851115610d1e5760405162461bcd60e51b8152600401610aa790614514565b6000818152600c6020908152604080832087845290915281208054879290610d47908490614a19565b90915550610d58905086868661124e565b8386827f0f63528d8c4a54e81a3a5f82736b7f0b5bb9d1143c7e82cf832c0ace6d8cf32088604051610d8c91815260200190565b60405180910390a4505050505050505050565b816000610dab826113cb565b600083815260076020526040902054909150610dd95760405162461bcd60e51b8152600401610aa7906146a3565b610df1600080516020614b1183398151915233612117565b610e0d5760405162461bcd60e51b8152600401610aa790614659565b6000610e18856113cb565b336000908152601260209081526040808320848452909152902060028101549192509060ff16610e5a5760405162461bcd60e51b8152600401610aa790614727565b4281600301541015610e7e5760405162461bcd60e51b8152600401610aa7906148b1565b6000610e8986611aa5565b3360009081526012602090815260408083208784529091529020600101549091508114610ec85760405162461bcd60e51b8152600401610aa7906147f4565b610ed687836000015461250a565b81546002808401805460ff19169055600080855560038501555460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015610f3957600080fd5b505af1158015610f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f719190613f44565b50604051818152889033907fe4de809bf00bba73c562150b76ba81e5af05183458342bfdb09a7c9e303813e5906020015b60405180910390a35050505050505050565b610fbf600983613193565b506000918252600b602052604090912055565b610fea600080516020614b7183398151915233612117565b6110065760405162461bcd60e51b8152600401610aa7906145c0565b816000611012826113cb565b6000838152600760205260409020549091506110405760405162461bcd60e51b8152600401610aa7906146a3565b600084815260076020908152604080832054868452600b909252822080549192839261106d9084906149ce565b9091555061107d9050858261250a565b5050505050565b826000611090826113cb565b6000838152600760205260409020549091506110be5760405162461bcd60e51b8152600401610aa7906146a3565b6110d6600080516020614b7183398151915233612117565b6110f25760405162461bcd60e51b8152600401610aa7906145c0565b60006110fd866113cb565b6001600160a01b038816600090815260126020908152604080832084845290915290206003810154919250906111455760405162461bcd60e51b8152600401610aa790614827565b620151808511156111685760405162461bcd60e51b8152600401610aa79061460a565b600381015461117a90620151806149ce565b4211156111995760405162461bcd60e51b8152600401610aa7906147b1565b600281015460ff16156111be5760405162461bcd60e51b8152600401610aa79061476a565b600180820187905560028201805460ff191690911790556111df85426149ce565b6003820155805460405190815287906001600160a01b038a16907f05ca75b0d90f1dd046ad3b8c1ec4a461042c3d33518b9b67d9feafc7d8d3c6cf90602001610fa2565b60008281526020819052604090206001015461123f813361319f565b6112498383613203565b505050565b611259600033612117565b6112755760405162461bcd60e51b8152600401610aa7906146f0565b60008381526008602090815260408083208484529091528120805484929061129e9084906149ce565b9091555050600083815260056020908152604080832084845290915281208054849290610a769084906149ce565b6000805b8251811015611312578281815181106112eb576112eb614ae4565b6020026020010151826112fe91906149ce565b91508061130a81614a73565b9150506112d0565b50919050565b6001600160a01b03811633146113885760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610aa7565b6113928282613287565b5050565b6113ae600080516020614b1183398151915282611223565b50565b6000818152600660205260409020606090610a47906132ec565b60006113d6826132f9565b6040516020016113e691906143dd565b604051602081830303815290604052805190602001209050919050565b61140e600033612117565b61142a5760405162461bcd60e51b8152600401610aa7906146f0565b826000611436826113cb565b6000838152600760205260409020549091506114645760405162461bcd60e51b8152600401610aa7906146a3565b60008581526008602090815260408083208684529091528120805486929061148d908490614a19565b90915550505050505050565b6114a4600033612117565b806114c257506114c2600080516020614b3183398151915233612117565b6114de5760405162461bcd60e51b8152600401610aa79061456a565b60006114e985611aa5565b9050815183511461150c5760405162461bcd60e51b8152600401610aa79061494f565b611524600080516020614b3183398151915233612117565b1561154a576000818152600d6020526040902061154190336133fe565b61154a57600080fd5b60005b82518110156117ec5783818151811061156857611568614ae4565b6020026020010151600c6000848152602001908152602001600020600085848151811061159757611597614ae4565b602002602001015181526020019081526020016000205410156115cc5760405162461bcd60e51b8152600401610aa790614514565b6116038382815181106115e1576115e1614ae4565b6020908102919091018101513360009081526010909252604090912090613193565b5083818151811061161657611616614ae4565b602002602001015160116000336001600160a01b03166001600160a01b03168152602001908152602001600020600085848151811061165757611657614ae4565b60200260200101518152602001908152602001600020600082825461167c91906149ce565b9250508190555083818151811061169557611695614ae4565b6020026020010151600c600084815260200190815260200160002060008584815181106116c4576116c4614ae4565b6020026020010151815260200190815260200160002060008282546116e99190614a19565b9250508190555061172d8585838151811061170657611706614ae4565b602002602001015185848151811061172057611720614ae4565b602002602001015161124e565b61176b83828151811061174257611742614ae4565b60200260200101516006600088815260200190815260200160002061319390919063ffffffff16565b5082818151811061177e5761177e614ae4565b602002602001015185837f0f63528d8c4a54e81a3a5f82736b7f0b5bb9d1143c7e82cf832c0ace6d8cf3208785815181106117bb576117bb614ae4565b60200260200101516040516117d291815260200190565b60405180910390a4806117e481614a73565b91505061154d565b505050505050565b6113ae600080516020614b7183398151915282611223565b611817600033612117565b6118335760405162461bcd60e51b8152600401610aa7906146f0565b80518251146118545760405162461bcd60e51b8152600401610aa79061494f565b600080611860836112cc565b9050600061186d86611aa5565b6000818152600b602052604090205490915082111561189e5760405162461bcd60e51b8152600401610aa790614514565b600092505b84518310156117ec576118e9868685815181106118c2576118c2614ae4565b60200260200101518686815181106118dc576118dc614ae4565b602002602001015161277b565b826118f381614a73565b9350506118a3565b6001600160a01b03851660009081526001602090815260408083205490516001600160601b03193060601b1692810192909252600080516020614b5183398151915260348301526054820152607481018590526094810184905260b4810183905260d40160405160208183030381529060405280519060200120905060006119838287613420565b9050866001600160a01b0316816001600160a01b0316146119b65760405162461bcd60e51b8152600401610aa79061486c565b6001600160a01b03871660009081526001602052604081208054916119da83614a73565b919050555060006119ea866113cb565b6000878152600860209081526040808320888452909152902054909150851115611a265760405162461bcd60e51b8152600401610aa7906148f2565b6001600160a01b0388166000908152601360209081526040808320848452825280832087845282529182902060028101805460ff1916905587815542600382015591518781528691899132917f1f65060b5be8dd96d202776ad6ec1decbd993b5758a4da0472d05e554f9544c19101610d8c565b6113ae600082611223565b6000816040516020016113e691906143dd565b611ad0600080516020614b1183398151915233612117565b611aec5760405162461bcd60e51b8152600401610aa790614659565b6000611af7846113cb565b6000858152600860209081526040808320868452909152902054909150831115611b335760405162461bcd60e51b8152600401610aa7906148f2565b336000908152601360209081526040808320848452825280832085845282529182902060028101805460ff1916905585815542600382015591518581528491879132917f1f65060b5be8dd96d202776ad6ec1decbd993b5758a4da0472d05e554f9544c1910160405180910390a45050505050565b611bc0600080516020614b7183398151915233612117565b611bdc5760405162461bcd60e51b8152600401610aa7906145c0565b6000611be7856113cb565b6001600160a01b038716600090815260136020908152604080832084845282528083208684529091529020600381015491925090611c375760405162461bcd60e51b8152600401610aa790614827565b62015180841115611c5a5760405162461bcd60e51b8152600401610aa79061460a565b6003810154611c6c90620151806149ce565b421115611c8b5760405162461bcd60e51b8152600401610aa7906147b1565b600281015460ff1615611cb05760405162461bcd60e51b8152600401610aa79061476a565b600180820186905560028201805460ff19169091179055611cd184426149ce565b6003820155805460405190815286906001600160a01b038916907f05ca75b0d90f1dd046ad3b8c1ec4a461042c3d33518b9b67d9feafc7d8d3c6cf9060200160405180910390a350505050505050565b6000828152600b602052604081208054839290611d3f9084906149ce565b90915550505050565b6001600160a01b0385166000908152600160209081526040808320549051611d8a923092600080516020614b91833981519152929091899189918991016142f9565b6040516020818303038152906040528051906020012090506000611dae8287613120565b9050866001600160a01b0316816001600160a01b031614611de15760405162461bcd60e51b8152600401610aa79061486c565b6001600160a01b0387166000908152600160205260408120805491611e0583614a73565b91905055506000611e1586611aa5565b6000818152600b6020526040902054909150841115611e465760405162461bcd60e51b8152600401610aa790614514565b6000818152600b602052604081208054869290611e64908490614a19565b90915550611e7490508585612edc565b84817f707197b34e0edb88707154f8a8ea9f3c8d891eb60a28dac25cc79bf23c3aa5c186604051610fa291815260200190565b6001600160a01b0385166000908152600160209081526040808320549051611ee9923092600080516020614b518339815191529290918991899189910161438e565b6040516020818303038152906040528051906020012090506000611f0d8287613420565b9050866001600160a01b0316816001600160a01b031614611f405760405162461bcd60e51b8152600401610aa79061486c565b6001600160a01b0387166000908152600160205260408120805491611f6483614a73565b91905055506000611f74866113cb565b3360009081526013602090815260408083208484528252808320888452909152902060028101549192509060ff16611fbe5760405162461bcd60e51b8152600401610aa790614727565b4281600301541015611fe25760405162461bcd60e51b8152600401610aa7906148b1565b6000611fed87611aa5565b33600090815260136020908152604080832087845282528083208a845290915290206001015490915081146120345760405162461bcd60e51b8152600401610aa7906147f4565b61204388836000015488611403565b815460028301805460ff19169055600080845560038085019190915554604051637921219560e11b81526001600160a01b039091169063f242432a9061209390309033908c908790600401614468565b600060405180830381600087803b1580156120ad57600080fd5b505af11580156120c1573d6000803e3d6000fd5b505050508689336001600160a01b03167f77b62d0e5f5977416f69e95bf0e9b3965aa4e6e54c8ff195b395b7b747ef81408460405161210291815260200190565b60405180910390a45050505050505050505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b81600061214c826113cb565b60008381526007602052604090205490915061217a5760405162461bcd60e51b8152600401610aa7906146a3565b612192600080516020614b1183398151915233612117565b6121ae5760405162461bcd60e51b8152600401610aa790614659565b60006121b9856113cb565b6000868152600760205260409020549091508411156121ea5760405162461bcd60e51b8152600401610aa7906148f2565b33600090815260126020908152604080832084845282529182902060028101805460ff191690558681554260038201559151868152879132917f79ef0b2282f5e45718748b37d5a89727c1544ad2f78b126efa97c32ac1f1d232910160405180910390a3505050505050565b60008181526006602052604081206060918291819061227490613447565b90506000816001600160401b0381111561229057612290614afa565b6040519080825280602002602001820160405280156122b9578160200160208202803683370190505b5090506000826001600160401b038111156122d6576122d6614afa565b6040519080825280602002602001820160405280156122ff578160200160208202803683370190505b509050600093505b8284101561239b5760008781526006602052604081206123279086613451565b6000898152600860209081526040808320848452909152902054845191925090829085908890811061235b5761235b614ae4565b6020026020010181815250508083878151811061237a5761237a614ae4565b6020026020010181815250505050838061239390614a73565b945050612307565b90969095509350505050565b6001600160a01b0381166000908152601060205260408120606091829181906123cf90613447565b90506000816001600160401b038111156123eb576123eb614afa565b604051908082528060200260200182016040528015612414578160200160208202803683370190505b5090506000826001600160401b0381111561243157612431614afa565b60405190808252806020026020018201604052801561245a578160200160208202803683370190505b509050600093505b8284101561239b576001600160a01b038716600090815260106020526040812061248c9086613451565b6001600160a01b038916600090815260116020908152604080832084845290915290205484519192509082908590889081106124ca576124ca614ae4565b602002602001018181525050808387815181106124e9576124e9614ae4565b6020026020010181815250505050838061250290614a73565b945050612462565b612515600033612117565b6125315760405162461bcd60e51b8152600401610aa7906146f0565b81600061253d826113cb565b60008381526007602052604090205490915061256b5760405162461bcd60e51b8152600401610aa7906146a3565b600084815260076020526040902054612585908490614a19565b60009485526007602052604090942093909355505050565b6125b5600080516020614b1183398151915233612117565b6125d15760405162461bcd60e51b8152600401610aa790614659565b60006125dc846113cb565b3360009081526013602090815260408083208484528252808320868452909152902060028101549192509060ff166126265760405162461bcd60e51b8152600401610aa790614727565b428160030154101561264a5760405162461bcd60e51b8152600401610aa7906148b1565b600061265585611aa5565b3360009081526013602090815260408083208784528252808320888452909152902060010154909150811461269c5760405162461bcd60e51b8152600401610aa7906147f4565b6126ab86836000015486611403565b815460028301805460ff19169055600080845560038085019190915554604051637921219560e11b81526001600160a01b039091169063f242432a906126fb90309033908a908790600401614468565b600060405180830381600087803b15801561271557600080fd5b505af1158015612729573d6000803e3d6000fd5b505050508487336001600160a01b03167f77b62d0e5f5977416f69e95bf0e9b3965aa4e6e54c8ff195b395b7b747ef81408460405161276a91815260200190565b60405180910390a450505050505050565b612786600033612117565b806127a457506127a4600080516020614b3183398151915233612117565b6127c05760405162461bcd60e51b8152600401610aa79061456a565b60006127cb84611aa5565b90506127e5600080516020614b3183398151915233612117565b1561280b576000818152600d6020526040902061280290336133fe565b61280b57600080fd5b336000908152600f60205260408120805484929061282a9084906149ce565b90915550506000818152600b602052604090205482111561285d5760405162461bcd60e51b8152600401610aa790614514565b6000818152600b60205260408120805484929061287b908490614a19565b9091555061288b90508383612edc565b82817f707197b34e0edb88707154f8a8ea9f3c8d891eb60a28dac25cc79bf23c3aa5c1846040516128be91815260200190565b60405180910390a350505050565b6001600160a01b03841660009081526001602090815260408083205490516001600160601b03193060601b1692810192909252600080516020614b5183398151915260348301526054820152607481018490526094810183905260b401604051602081830303815290604052805190602001209050600061294d8286613420565b9050856001600160a01b0316816001600160a01b0316146129805760405162461bcd60e51b8152600401610aa79061486c565b6001600160a01b03861660009081526001602052604081208054916129a483614a73565b919050555060006129b4856113cb565b6000868152600760205260409020549091508411156129e55760405162461bcd60e51b8152600401610aa7906148f2565b6001600160a01b038716600090815260126020908152604080832084845282529182902060028101805460ff191690558681554260038201559151868152879132917f79ef0b2282f5e45718748b37d5a89727c1544ad2f78b126efa97c32ac1f1d2329101610fa2565b600081815260066020526040812060609182918190612a6d90613447565b90506000816001600160401b03811115612a8957612a89614afa565b604051908082528060200260200182016040528015612ab2578160200160208202803683370190505b5090506000826001600160401b03811115612acf57612acf614afa565b604051908082528060200260200182016040528015612af8578160200160208202803683370190505b509050600093505b8284101561239b576000878152600660205260408120612b209086613451565b60008981526005602090815260408083208484529091529020548451919250908290859088908110612b5457612b54614ae4565b60200260200101818152505080838781518110612b7357612b73614ae4565b60200260200101818152505050508380612b8c90614a73565b945050612b00565b600082815260208190526040902060010154612bb0813361319f565b6112498383613287565b6000612bc582611aa5565b9050612bdf600080516020614b3183398151915284611223565b6000818152600d60205260409020612bf7908461345d565b50505050565b6001600160a01b0381166000908152601060205260409020606090610a47906132ec565b816000612c2d826113cb565b600083815260076020526040902054909150612c5b5760405162461bcd60e51b8152600401610aa7906146a3565b6001600160a01b0386166000908152600160209081526040808320549051612c9b923092600080516020614b518339815191529290918a918a9101614346565b6040516020818303038152906040528051906020012090506000612cbf8288613420565b9050876001600160a01b0316816001600160a01b031614612cf25760405162461bcd60e51b8152600401610aa79061486c565b6001600160a01b0388166000908152600160205260408120805491612d1683614a73565b91905055506000612d26876113cb565b336000908152601260209081526040808320848452909152902060028101549192509060ff16612d685760405162461bcd60e51b8152600401610aa790614727565b4281600301541015612d8c5760405162461bcd60e51b8152600401610aa7906148b1565b6000612d9788611aa5565b3360009081526012602090815260408083208784529091529020600101549091508114612dd65760405162461bcd60e51b8152600401610aa7906147f4565b815460008a81526007602052604081208054909190612df6908490614a19565b909155505081546002808401805460ff19169055600080855560038501555460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015612e5e57600080fd5b505af1158015612e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e969190613f44565b506040518181528a9033907fe4de809bf00bba73c562150b76ba81e5af05183458342bfdb09a7c9e303813e59060200160405180910390a3505050505050505050505050565b612ee7600033612117565b612f035760405162461bcd60e51b8152600401610aa7906146f0565b600082815260076020526040902054612f1d9082906149ce565b600083815260076020908152604080832093909355600490522054612f439082906149ce565b6000928352600460205260409092209190915550565b60606000612f688360026149fa565b612f739060026149ce565b6001600160401b03811115612f8a57612f8a614afa565b6040519080825280601f01601f191660200182016040528015612fb4576020820181803683370190505b509050600360fc1b81600081518110612fcf57612fcf614ae4565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612ffe57612ffe614ae4565b60200101906001600160f81b031916908160001a90535060006130228460026149fa565b61302d9060016149ce565b90505b60018111156130a5576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061306157613061614ae4565b1a60f81b82828151811061307757613077614ae4565b60200101906001600160f81b031916908160001a90535060049490941c9361309e81614a5c565b9050613030565b5083156130f45760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610aa7565b9392505050565b60006001600160e01b03198216630271189760e51b1480610a475750610a4782613472565b60008061312d84846134a7565b9050613147600080516020614b3183398151915282612117565b6130f45760405162461bcd60e51b815260206004820152601a60248201527f5369676e65722073686f756c64206265204d6f62696c697a65720000000000006044820152606401610aa7565b60006130f483836134cb565b6131a98282612117565b611392576131c1816001600160a01b03166014612f59565b6131cc836020612f59565b6040516020016131dd9291906143f9565b60408051601f198184030181529082905262461bcd60e51b8252610aa7916004016144e1565b61320d8282612117565b611392576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556132433390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6132918282612117565b15611392576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b606060006130f48361351a565b60608161331d5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115613347578061333181614a73565b91506133409050600a836149e6565b9150613321565b6000816001600160401b0381111561336157613361614afa565b6040519080825280601f01601f19166020018201604052801561338b576020820181803683370190505b5090505b84156133f6576133a0600183614a19565b91506133ad600a86614a8e565b6133b89060306149ce565b60f81b8183815181106133cd576133cd614ae4565b60200101906001600160f81b031916908160001a9053506133ef600a866149e6565b945061338f565b949350505050565b6001600160a01b038116600090815260018301602052604081205415156130f4565b60008061342d84846134a7565b9050613147600080516020614b1183398151915282612117565b6000610a47825490565b60006130f48383613576565b60006130f4836001600160a01b0384166134cb565b60006001600160e01b03198216637965db0b60e01b1480610a4757506301ffc9a760e01b6001600160e01b0319831614610a47565b60008060006134b685856135a0565b915091506134c381613610565b509392505050565b600081815260018301602052604081205461351257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610a47565b506000610a47565b60608160000180548060200260200160405190810160405280929190818152602001828054801561356a57602002820191906000526020600020905b815481526020019060010190808311613556575b50505050509050919050565b600082600001828154811061358d5761358d614ae4565b9060005260206000200154905092915050565b6000808251604114156135d75760208301516040840151606085015160001a6135cb878285856137c6565b94509450505050613609565b82516040141561360157602083015160408401516135f68683836138a9565b935093505050613609565b506000905060025b9250929050565b600081600481111561362457613624614ace565b141561362d5750565b600181600481111561364157613641614ace565b141561368a5760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b6044820152606401610aa7565b600281600481111561369e5761369e614ace565b14156136ec5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610aa7565b600381600481111561370057613700614ace565b14156137595760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610aa7565b600481600481111561376d5761376d614ace565b14156113ae5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610aa7565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b038311156137f357506000905060036138a0565b8460ff16601b1415801561380b57508460ff16601c14155b1561381c57506000905060046138a0565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613870573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613899576000600192509250506138a0565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b016138ca878288856137c6565b935093505050935093915050565b80356001600160a01b03811681146138ef57600080fd5b919050565b600082601f83011261390557600080fd5b813560206001600160401b0382111561392057613920614afa565b8160051b61392f82820161499e565b83815282810190868401838801850189101561394a57600080fd5b600093505b8584101561396d57803583526001939093019291840191840161394f565b50979650505050505050565b600082601f83011261398a57600080fd5b81356001600160401b038111156139a3576139a3614afa565b6139b6601f8201601f191660200161499e565b8181528460208386010111156139cb57600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156139fa57600080fd5b6130f4826138d8565b600080600080600060a08688031215613a1b57600080fd5b613a24866138d8565b9450613a32602087016138d8565b935060408601356001600160401b0380821115613a4e57600080fd5b613a5a89838a016138f4565b94506060880135915080821115613a7057600080fd5b613a7c89838a016138f4565b93506080880135915080821115613a9257600080fd5b50613a9f88828901613979565b9150509295509295909350565b600080600080600060a08688031215613ac457600080fd5b613acd866138d8565b9450613adb602087016138d8565b9350604086013592506060860135915060808601356001600160401b03811115613b0457600080fd5b613a9f88828901613979565b60008060408385031215613b2357600080fd5b613b2c836138d8565b946020939093013593505050565b600080600060608486031215613b4f57600080fd5b613b58846138d8565b95602085013595506040909401359392505050565b600080600080600060a08688031215613b8557600080fd5b613b8e866138d8565b945060208601356001600160401b0380821115613baa57600080fd5b613bb689838a01613979565b95506040880135915080821115613bcc57600080fd5b50613bd988828901613979565b9598949750949560608101359550608001359392505050565b60008060008060008060c08789031215613c0b57600080fd5b613c14876138d8565b955060208701356001600160401b0380821115613c3057600080fd5b613c3c8a838b01613979565b96506040890135915080821115613c5257600080fd5b50613c5f89828a01613979565b945050606087013592506080870135915060a087013590509295509295509295565b60008060008060808587031215613c9757600080fd5b613ca0856138d8565b935060208501356001600160401b0380821115613cbc57600080fd5b613cc888838901613979565b9450604087013593506060870135915080821115613ce557600080fd5b50613cf287828801613979565b91505092959194509250565b600080600080600060a08688031215613d1657600080fd5b613d1f866138d8565b945060208601356001600160401b0380821115613d3b57600080fd5b613d4789838a01613979565b9550604088013594506060880135915080821115613d6457600080fd5b50613d7188828901613979565b95989497509295608001359392505050565b60008060008060808587031215613d9957600080fd5b613da2856138d8565b935060208501356001600160401b03811115613dbd57600080fd5b613dc987828801613979565b949794965050505060408301359260600135919050565b600080600080600060a08688031215613df857600080fd5b613e01866138d8565b945060208601356001600160401b03811115613e1c57600080fd5b613e2888828901613979565b959895975050505060408401359360608101359360809091013592509050565b60008060408385031215613e5b57600080fd5b613e64836138d8565b915060208301356001600160401b03811115613e7f57600080fd5b613e8b85828601613979565b9150509250929050565b60008060008060808587031215613eab57600080fd5b613eb4856138d8565b966020860135965060408601359560600135945092505050565b600080600080600060a08688031215613ee657600080fd5b613eef866138d8565b97602087013597506040870135966060810135965060800135945092505050565b600060208284031215613f2257600080fd5b81356001600160401b03811115613f3857600080fd5b6133f6848285016138f4565b600060208284031215613f5657600080fd5b815180151581146130f457600080fd5b600060208284031215613f7857600080fd5b5035919050565b60008060408385031215613f9257600080fd5b82359150613fa2602084016138d8565b90509250929050565b60008060408385031215613fbe57600080fd5b50508035926020909101359150565b600080600060608486031215613fe257600080fd5b505081359360208301359350604090920135919050565b60006020828403121561400b57600080fd5b81356001600160e01b0319811681146130f457600080fd5b60006020828403121561403557600080fd5b81356001600160401b0381111561404b57600080fd5b6133f684828501613979565b60008060006060848603121561406c57600080fd5b83356001600160401b038082111561408357600080fd5b61408f87838801613979565b945060208601359150808211156140a557600080fd5b6140b1878388016138f4565b935060408601359150808211156140c757600080fd5b506140d4868287016138f4565b9150509250925092565b600080600080608085870312156140f457600080fd5b84356001600160401b038082111561410b57600080fd5b61411788838901613979565b9550602087013591508082111561412d57600080fd5b614139888389016138f4565b9450604087013591508082111561414f57600080fd5b5061415c878288016138f4565b949793965093946060013593505050565b6000806000806080858703121561418357600080fd5b84356001600160401b038082111561419a57600080fd5b6141a688838901613979565b95506020870135945060408701359150808211156141c357600080fd5b6141cf888389016138f4565b935060608701359150808211156141e557600080fd5b50613cf2878288016138f4565b60008060006060848603121561420757600080fd5b83356001600160401b0381111561421d57600080fd5b61422986828701613979565b9660208601359650604090950135949350505050565b6000806040838503121561425257600080fd5b8235915060208301356001600160401b03811115613e7f57600080fd5b60008060006060848603121561428457600080fd5b8335925060208401356001600160401b038111156142a157600080fd5b6142ad86828701613979565b925050604084013590509250925092565b600081518084526020808501945080840160005b838110156142ee578151875295820195908201906001016142d2565b509495945050505050565b6001600160601b03198760601b1681528560148201528460348201526000845161432a816054850160208901614a30565b9091016054810193909352506074820152609401949350505050565b6001600160601b03198660601b1681528460148201528360348201528260548201526000825161437d816074850160208701614a30565b919091016074019695505050505050565b6001600160601b03198760601b168152856014820152846034820152836054820152600083516143c5816074850160208801614a30565b60749201918201929092526094019695505050505050565b600082516143ef818460208701614a30565b9190910192915050565b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b81526000835161442b816017850160208801614a30565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161445c816028840160208801614a30565b01602801949350505050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260a06080820181905260009082015260c00190565b6020815260006130f460208301846142be565b6040815260006144c660408301856142be565b82810360208401526144d881856142be565b95945050505050565b6020815260008251806020840152614500816040850160208701614a30565b601f01601f19169190910160400192915050565b60208082526036908201527f52414841543a20416d6f756e742069732067726561746572207468616e2072656040820152751b585a5b9a5b99c8141c9bda9958dd08109d5919d95d60521b606082015260800190565b60208082526036908201527f52414841543a2053656e646572204d757374206265206120726567697374657260408201527532b21020b236b4b71027b91026b7b134b634bd32b91760511b606082015260800190565b6020808252602a908201527f52414841543a2053656e646572206d75737420626520616e20617574686f72696040820152693d32b21039b2b93b32b960b11b606082015260800190565b6020808252602f908201527f52414841543a54696d6520546f204c6976652073686f756c64206265206c657360408201526e73207468616e20323420686f75727360881b606082015260800190565b6020808252602a908201527f52414841543a2053656e646572204d757374206265206120726567697374657260408201526932b2103b32b73237b91760b11b606082015260800190565b6020808252602d908201527f52414841543a204e6f20616e7920746f6b656e2077617320697373756564207460408201526c37903a3434b990373ab6b132b960991b606082015260800190565b6020808252601f908201527f52414841543a2053656e646572206d75737420626520616e2061646d696e2e00604082015260600190565b60208082526023908201527f52414841543a20436c61696d20686173206e6f74206265656e2072656c65617360408201526232b21760e91b606082015260800190565b60208082526027908201527f52414841543a20436c61696d2068617320616c7265616479206265656e2072656040820152663632b0b9b2b21760c91b606082015260800190565b60208082526023908201527f52414841543a20436c61696d206973206f6c646572207468616e20323420686f60408201526275727360e81b606082015260800190565b6020808252601990820152782920a420aa1d1027aa28103234b2103737ba1036b0ba31b41760391b604082015260600190565b60208082526025908201527f52414841543a20436c61696d20686173206e6f74206265656e2063726561746560408201526419081e595d60da1b606082015260800190565b60208082526025908201527f5369676e617475726520646964206e6f74206d6174636865642077697468207360408201526434b3b732b960d91b606082015260800190565b60208082526021908201527f52414841543a20436c61696d2068617320616c726561647920657870697265646040820152601760f91b606082015260800190565b6020808252603c908201527f52414841543a20416d6f756e742072657175657374656420697320677265617460408201527f6572207468616e2062656e65666963696172792062616c616e63652e00000000606082015260800190565b6020808252602f908201527f52414841543a20496e76616c696420696e70757420617272617973206f66205060408201526e1a1bdb9948185b9908105b5bdd5b9d608a1b606082015260800190565b604051601f8201601f191681016001600160401b03811182821017156149c6576149c6614afa565b604052919050565b600082198211156149e1576149e1614aa2565b500190565b6000826149f5576149f5614ab8565b500490565b6000816000190483118215151615614a1457614a14614aa2565b500290565b600082821015614a2b57614a2b614aa2565b500390565b60005b83811015614a4b578181015183820152602001614a33565b83811115612bf75750506000910152565b600081614a6b57614a6b614aa2565b506000190190565b6000600019821415614a8757614a87614aa2565b5060010190565b600082614a9d57614a9d614ab8565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfe0aaf57387812c7f832412470a57567b5648a930069be49aa9c98d04f88520d34be9e90431f28bd12a87a51b26b014cab620a8a4819bf73d87369ccbe6800a76c8ff5d84bbad5f252f2ee1916646e221e55645205d2f803ebe6a7d6ba8fa4185dcaa7f6290f33308266ee2988386694ac9bc3612b5df272e3502129925a64f997043620c1e1c33ecf60d9dadc62571b96554338b68ef3636e715e52a286bea92ea26469706673582212206fb34c546e8ede06b23504ec00b3897e1cb7ad853fed78e9a49723029015f29e64736f6c63430008070033", + "immutableReferences": {}, + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:3357:32", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:32", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "169:404:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "215:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "224:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "227:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "217:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "217:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "217:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "190:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "199:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "186:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "186:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "211:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "182:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "182:32:32" + }, + "nodeType": "YulIf", + "src": "179:52:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "240:29:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "259:9:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "253:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "253:16:32" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "244:5:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "303:5:32" + } + ], + "functionName": { + "name": "validator_revert_address", + "nodeType": "YulIdentifier", + "src": "278:24:32" + }, + "nodeType": "YulFunctionCall", + "src": "278:31:32" + }, + "nodeType": "YulExpressionStatement", + "src": "278:31:32" + }, + { + "nodeType": "YulAssignment", + "src": "318:15:32", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "328:5:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "318:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "342:40:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "367:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "378:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "363:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "363:18:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "357:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "357:25:32" + }, + "variables": [ + { + "name": "value_1", + "nodeType": "YulTypedName", + "src": "346:7:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "416:7:32" + } + ], + "functionName": { + "name": "validator_revert_address", + "nodeType": "YulIdentifier", + "src": "391:24:32" + }, + "nodeType": "YulFunctionCall", + "src": "391:33:32" + }, + "nodeType": "YulExpressionStatement", + "src": "391:33:32" + }, + { + "nodeType": "YulAssignment", + "src": "433:17:32", + "value": { + "name": "value_1", + "nodeType": "YulIdentifier", + "src": "443:7:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "433:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "459:40:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "484:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "495:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "480:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "480:18:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "474:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "474:25:32" + }, + "variables": [ + { + "name": "value_2", + "nodeType": "YulTypedName", + "src": "463:7:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value_2", + "nodeType": "YulIdentifier", + "src": "533:7:32" + } + ], + "functionName": { + "name": "validator_revert_address", + "nodeType": "YulIdentifier", + "src": "508:24:32" + }, + "nodeType": "YulFunctionCall", + "src": "508:33:32" + }, + "nodeType": "YulExpressionStatement", + "src": "508:33:32" + }, + { + "nodeType": "YulAssignment", + "src": "550:17:32", + "value": { + "name": "value_2", + "nodeType": "YulIdentifier", + "src": "560:7:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "550:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_RahatERC20_$8969t_contract$_RahatERC1155_$8866t_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "119:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "130:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "142:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "150:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "158:6:32", + "type": "" + } + ], + "src": "14:559:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "967:397:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "984:3:32" + }, + { + "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "989:25:32", + "type": "", + "value": "AccessControl: account " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "977:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "977:38:32" + }, + "nodeType": "YulExpressionStatement", + "src": "977:38:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1024:27:32", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1044:6:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1038:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "1038:13:32" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1028:6:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1086:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1094:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1082:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1082:17:32" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1105:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1110:2:32", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1101:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1101:12:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1115:6:32" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "1060:21:32" + }, + "nodeType": "YulFunctionCall", + "src": "1060:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1060:62:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1131:26:32", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1145:3:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1150:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1141:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1141:16:32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1135:2:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1177:2:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1181:2:32", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1173:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1173:11:32" + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "kind": "string", + "nodeType": "YulLiteral", + "src": "1186:19:32", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1166:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "1166:40:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1166:40:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1215:29:32", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1237:6:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1231:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "1231:13:32" + }, + "variables": [ + { + "name": "length_1", + "nodeType": "YulTypedName", + "src": "1219:8:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1279:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1287:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1275:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1275:17:32" + }, + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1298:2:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1302:2:32", + "type": "", + "value": "40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1294:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1294:11:32" + }, + { + "name": "length_1", + "nodeType": "YulIdentifier", + "src": "1307:8:32" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "1253:21:32" + }, + "nodeType": "YulFunctionCall", + "src": "1253:63:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1253:63:32" + }, + { + "nodeType": "YulAssignment", + "src": "1325:33:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1340:2:32" + }, + { + "name": "length_1", + "nodeType": "YulIdentifier", + "src": "1344:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1336:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1336:17:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1355:2:32", + "type": "", + "value": "40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1332:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1332:26:32" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1325:3:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "935:3:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "940:6:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "948:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "959:3:32", + "type": "" + } + ], + "src": "578:786:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1490:262:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1507:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1518:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1500:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "1500:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1500:21:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1530:27:32", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1550:6:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1544:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "1544:13:32" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1534:6:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1577:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1588:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1573:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1573:18:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1593:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1566:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "1566:34:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1566:34:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1635:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1643:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1631:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1631:15:32" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1652:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1663:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1648:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1648:18:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1668:6:32" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "1609:21:32" + }, + "nodeType": "YulFunctionCall", + "src": "1609:66:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1609:66:32" + }, + { + "nodeType": "YulAssignment", + "src": "1684:62:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1700:9:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1719:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1727:2:32", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1715:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1715:15:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1736:2:32", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1732:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1732:7:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1711:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1711:29:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1696:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1696:45:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1743:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1692:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1692:54:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "1684:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1459:9:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1470:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1481:4:32", + "type": "" + } + ], + "src": "1369:383:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1931:182:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1948:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1959:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1941:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "1941:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1941:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1982:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1993:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1978:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1978:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1998:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1971:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "1971:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1971:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2021:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2032:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2017:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2017:18:32" + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "kind": "string", + "nodeType": "YulLiteral", + "src": "2037:34:32", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2010:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2010:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2010:62:32" + }, + { + "nodeType": "YulAssignment", + "src": "2081:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2093:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2104:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2089:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2089:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2081:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1908:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "1922:4:32", + "type": "" + } + ], + "src": "1757:356:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2166:80:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2193:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "2195:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "2195:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2195:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "2182:1:32" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "2189:1:32" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2185:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2185:6:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2179:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "2179:13:32" + }, + "nodeType": "YulIf", + "src": "2176:39:32" + }, + { + "nodeType": "YulAssignment", + "src": "2224:16:32", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "2235:1:32" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "2238:1:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2231:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2231:9:32" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "2224:3:32" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "2149:1:32", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "2152:1:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "2158:3:32", + "type": "" + } + ], + "src": "2118:128:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2303:116:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2362:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "2364:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "2364:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2364:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "2334:1:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2327:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2327:9:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2320:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2320:17:32" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "2342:1:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2353:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2349:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2349:6:32" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "2357:1:32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "2345:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2345:14:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2339:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "2339:21:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2316:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2316:45:32" + }, + "nodeType": "YulIf", + "src": "2313:71:32" + }, + { + "nodeType": "YulAssignment", + "src": "2393:20:32", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "2408:1:32" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "2411:1:32" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "2404:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2404:9:32" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "2393:7:32" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "2282:1:32", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "2285:1:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "2291:7:32", + "type": "" + } + ], + "src": "2251:168:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2477:205:32", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2487:10:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2496:1:32", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "2491:1:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2556:63:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2581:3:32" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2586:1:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2577:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2577:11:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2600:3:32" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2605:1:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2596:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2596:11:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2590:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "2590:18:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2570:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2570:39:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2570:39:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2517:1:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2520:6:32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2514:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "2514:13:32" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "2528:19:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2530:15:32", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2539:1:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2542:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2535:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2535:10:32" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2530:1:32" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "2510:3:32", + "statements": [] + }, + "src": "2506:113:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2645:31:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2658:3:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2663:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2654:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2654:16:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2672:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2647:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2647:27:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2647:27:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2634:1:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2637:6:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2631:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "2631:13:32" + }, + "nodeType": "YulIf", + "src": "2628:48:32" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "2455:3:32", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "2460:3:32", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2465:6:32", + "type": "" + } + ], + "src": "2424:258:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2734:89:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2761:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "2763:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "2763:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2763:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2754:5:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2747:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2747:13:32" + }, + "nodeType": "YulIf", + "src": "2744:39:32" + }, + { + "nodeType": "YulAssignment", + "src": "2792:25:32", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2803:5:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2814:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "2810:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2810:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2799:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2799:18:32" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "2792:3:32" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2716:5:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "2726:3:32", + "type": "" + } + ], + "src": "2687:136:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2860:95:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2877:1:32", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2884:3:32", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2889:10:32", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "2880:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2880:20:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2870:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2870:31:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2870:31:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2917:1:32", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2920:4:32", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2910:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2910:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2910:15:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2941:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2944:4:32", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2934:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2934:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2934:15:32" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "2828:127:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2992:95:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3009:1:32", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3016:3:32", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3021:10:32", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "3012:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3012:20:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3002:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "3002:31:32" + }, + "nodeType": "YulExpressionStatement", + "src": "3002:31:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3049:1:32", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3052:4:32", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3042:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "3042:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "3042:15:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3073:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3076:4:32", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3066:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "3066:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "3066:15:32" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "2960:127:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3124:95:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3141:1:32", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3148:3:32", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3153:10:32", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "3144:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3144:20:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3134:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "3134:31:32" + }, + "nodeType": "YulExpressionStatement", + "src": "3134:31:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3181:1:32", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3184:4:32", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3174:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "3174:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "3174:15:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3205:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3208:4:32", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3198:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "3198:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "3198:15:32" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "3092:127:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3269:86:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3333:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3342:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3345:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3335:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "3335:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "3335:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3292:5:32" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3303:5:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3318:3:32", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3323:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "3314:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3314:11:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3327:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3310:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3310:19:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3299:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3299:31:32" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "3289:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "3289:42:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "3282:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "3282:50:32" + }, + "nodeType": "YulIf", + "src": "3279:70:32" + } + ] + }, + "name": "validator_revert_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3258:5:32", + "type": "" + } + ], + "src": "3224:131:32" + } + ] + }, + "contents": "{\n { }\n function abi_decode_tuple_t_contract$_RahatERC20_$8969t_contract$_RahatERC1155_$8866t_address_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := mload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\n let value_2 := mload(add(headStart, 64))\n validator_revert_address(value_2)\n value2 := value_2\n }\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, \"AccessControl: account \")\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), add(pos, 23), length)\n let _1 := add(pos, length)\n mstore(add(_1, 23), \" is missing role \")\n let length_1 := mload(value1)\n copy_memory_to_memory(add(value1, 0x20), add(_1, 40), length_1)\n end := add(add(_1, length_1), 40)\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Strings: hex length insufficient\")\n tail := add(headStart, 96)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function copy_memory_to_memory(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function decrement_t_uint256(value) -> ret\n {\n if iszero(value) { panic_error_0x11() }\n ret := add(value, not(0))\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n}", + "id": 32, + "language": "Yul", + "name": "#utility.yul" + } + ], + "deployedGeneratedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:36512:32", + "statements": [ + { + "nodeType": "YulBlock", + "src": "6:3:32", + "statements": [] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "63:124:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "73:29:32", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "95:6:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "82:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "82:20:32" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "73:5:32" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "165:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "174:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "177:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "167:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "167:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "167:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "124:5:32" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "135:5:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "150:3:32", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "155:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "146:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "146:11:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "159:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "142:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "142:19:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "131:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "131:31:32" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "121:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "121:42:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "114:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "114:50:32" + }, + "nodeType": "YulIf", + "src": "111:70:32" + } + ] + }, + "name": "abi_decode_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "42:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "53:5:32", + "type": "" + } + ], + "src": "14:173:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "256:659:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "305:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "314:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "317:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "307:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "307:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "307:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "284:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "292:4:32", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "280:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "280:17:32" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "299:3:32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "276:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "276:27:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "269:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "269:35:32" + }, + "nodeType": "YulIf", + "src": "266:55:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "330:30:32", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "353:6:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "340:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "340:20:32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "334:2:32", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "369:14:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "379:4:32", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "_2", + "nodeType": "YulTypedName", + "src": "373:2:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "422:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "424:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "424:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "424:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "398:2:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "402:18:32", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "395:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "395:26:32" + }, + "nodeType": "YulIf", + "src": "392:52:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "453:20:32", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "467:1:32", + "type": "", + "value": "5" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "470:2:32" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "463:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "463:10:32" + }, + "variables": [ + { + "name": "_3", + "nodeType": "YulTypedName", + "src": "457:2:32", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "482:39:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "513:2:32" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "517:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "509:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "509:11:32" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "493:15:32" + }, + "nodeType": "YulFunctionCall", + "src": "493:28:32" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "486:3:32", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "530:16:32", + "value": { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "543:3:32" + }, + "variables": [ + { + "name": "dst_1", + "nodeType": "YulTypedName", + "src": "534:5:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "562:3:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "567:2:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "555:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "555:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "555:15:32" + }, + { + "nodeType": "YulAssignment", + "src": "579:19:32", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "590:3:32" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "595:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "586:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "586:12:32" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "579:3:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "607:26:32", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "622:6:32" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "630:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "618:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "618:15:32" + }, + "variables": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "611:3:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "679:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "688:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "691:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "681:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "681:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "681:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "656:6:32" + }, + { + "name": "_3", + "nodeType": "YulIdentifier", + "src": "664:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "652:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "652:15:32" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "669:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "648:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "648:24:32" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "674:3:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "645:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "645:33:32" + }, + "nodeType": "YulIf", + "src": "642:53:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "704:10:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "713:1:32", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "708:1:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "768:118:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "789:3:32" + }, + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "807:3:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "794:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "794:17:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "782:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "782:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "782:30:32" + }, + { + "nodeType": "YulAssignment", + "src": "825:19:32", + "value": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "836:3:32" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "841:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "832:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "832:12:32" + }, + "variableNames": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "825:3:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "857:19:32", + "value": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "868:3:32" + }, + { + "name": "_2", + "nodeType": "YulIdentifier", + "src": "873:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "864:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "864:12:32" + }, + "variableNames": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "857:3:32" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "734:1:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "737:2:32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "731:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "731:9:32" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "741:18:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "743:14:32", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "752:1:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "755:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "748:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "748:9:32" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "743:1:32" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "727:3:32", + "statements": [] + }, + "src": "723:163:32" + }, + { + "nodeType": "YulAssignment", + "src": "895:14:32", + "value": { + "name": "dst_1", + "nodeType": "YulIdentifier", + "src": "904:5:32" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "895:5:32" + } + ] + } + ] + }, + "name": "abi_decode_array_uint256_dyn", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "230:6:32", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "238:3:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "246:5:32", + "type": "" + } + ], + "src": "192:723:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "972:478:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1021:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1030:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1033:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1023:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "1023:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1023:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1000:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1008:4:32", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "996:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "996:17:32" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1015:3:32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "992:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "992:27:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "985:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "985:35:32" + }, + "nodeType": "YulIf", + "src": "982:55:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1046:30:32", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1069:6:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1056:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "1056:20:32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "1050:2:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1115:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1117:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "1117:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1117:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1091:2:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1095:18:32", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1088:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "1088:26:32" + }, + "nodeType": "YulIf", + "src": "1085:52:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1146:70:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1189:2:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1193:4:32", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1185:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1185:13:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1204:2:32", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "1200:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1200:7:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "1181:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1181:27:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1210:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1177:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1177:38:32" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "1161:15:32" + }, + "nodeType": "YulFunctionCall", + "src": "1161:55:32" + }, + "variables": [ + { + "name": "array_1", + "nodeType": "YulTypedName", + "src": "1150:7:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "1232:7:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1241:2:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1225:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "1225:19:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1225:19:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1292:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1301:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1304:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1294:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "1294:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1294:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1267:6:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1275:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1263:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1263:15:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1280:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1259:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1259:26:32" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1287:3:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1256:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "1256:35:32" + }, + "nodeType": "YulIf", + "src": "1253:55:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "1334:7:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1343:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1330:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1330:18:32" + }, + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1354:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1362:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1350:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1350:17:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1369:2:32" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "1317:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "1317:55:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1317:55:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "1396:7:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "1405:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1392:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1392:16:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1410:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1388:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1388:27:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1417:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "1381:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "1381:38:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1381:38:32" + }, + { + "nodeType": "YulAssignment", + "src": "1428:16:32", + "value": { + "name": "array_1", + "nodeType": "YulIdentifier", + "src": "1437:7:32" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "1428:5:32" + } + ] + } + ] + }, + "name": "abi_decode_bytes", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "946:6:32", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "954:3:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "962:5:32", + "type": "" + } + ], + "src": "920:530:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1525:116:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1571:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1580:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1583:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1573:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "1573:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1573:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1546:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1555:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1542:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1542:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1567:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1538:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1538:32:32" + }, + "nodeType": "YulIf", + "src": "1535:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "1596:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1625:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "1606:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "1606:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1596:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1491:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1502:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1514:6:32", + "type": "" + } + ], + "src": "1455:186:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1843:746:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1890:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1899:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1902:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1892:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "1892:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "1892:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1864:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1873:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1860:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1860:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1885:3:32", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1856:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1856:33:32" + }, + "nodeType": "YulIf", + "src": "1853:53:32" + }, + { + "nodeType": "YulAssignment", + "src": "1915:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1944:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "1925:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "1925:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1915:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1963:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1996:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2007:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1992:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "1992:18:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "1973:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "1973:38:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1963:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2020:46:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2051:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2062:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2047:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2047:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2034:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "2034:32:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2024:6:32", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2075:28:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2085:18:32", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "2079:2:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2130:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2139:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2142:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2132:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2132:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2132:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2118:6:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2126:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2115:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "2115:14:32" + }, + "nodeType": "YulIf", + "src": "2112:34:32" + }, + { + "nodeType": "YulAssignment", + "src": "2155:71:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2198:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2209:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2194:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2194:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2218:7:32" + } + ], + "functionName": { + "name": "abi_decode_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "2165:28:32" + }, + "nodeType": "YulFunctionCall", + "src": "2165:61:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "2155:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2235:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2268:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2279:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2264:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2264:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2251:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "2251:32:32" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "2239:8:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2312:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2321:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2324:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2314:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2314:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2314:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "2298:8:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2308:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2295:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "2295:16:32" + }, + "nodeType": "YulIf", + "src": "2292:36:32" + }, + { + "nodeType": "YulAssignment", + "src": "2337:73:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2380:9:32" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "2391:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2376:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2376:24:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2402:7:32" + } + ], + "functionName": { + "name": "abi_decode_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "2347:28:32" + }, + "nodeType": "YulFunctionCall", + "src": "2347:63:32" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "2337:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2419:49:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2452:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2463:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2448:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2448:19:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2435:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "2435:33:32" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "2423:8:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2497:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2506:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2509:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2499:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2499:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2499:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "2483:8:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "2493:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2480:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "2480:16:32" + }, + "nodeType": "YulIf", + "src": "2477:36:32" + }, + { + "nodeType": "YulAssignment", + "src": "2522:61:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2553:9:32" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "2564:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2549:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2549:24:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2575:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "2532:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "2532:51:32" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "2522:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1777:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1788:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1800:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1808:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "1816:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "1824:6:32", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "1832:6:32", + "type": "" + } + ], + "src": "1646:943:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2741:459:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2788:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2797:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2800:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2790:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "2790:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "2790:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2762:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2771:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2758:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2758:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2783:3:32", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2754:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2754:33:32" + }, + "nodeType": "YulIf", + "src": "2751:53:32" + }, + { + "nodeType": "YulAssignment", + "src": "2813:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2842:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "2823:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "2823:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2813:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2861:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2894:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2905:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2890:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2890:18:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "2871:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "2871:38:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2861:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2918:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2945:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2956:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2941:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2941:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2928:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "2928:32:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "2918:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2969:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2996:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3007:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2992:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "2992:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "2979:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "2979:32:32" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "2969:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "3020:47:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3051:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3062:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3047:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3047:19:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3034:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "3034:33:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3024:6:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3110:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3119:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3122:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3112:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "3112:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "3112:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3082:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3090:18:32", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3079:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "3079:30:32" + }, + "nodeType": "YulIf", + "src": "3076:50:32" + }, + { + "nodeType": "YulAssignment", + "src": "3135:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3166:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3177:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3162:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3162:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3186:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "3145:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "3145:49:32" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "3135:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2675:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2686:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2698:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2706:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "2714:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "2722:6:32", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "2730:6:32", + "type": "" + } + ], + "src": "2594:606:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3292:167:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3338:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3347:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3350:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3340:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "3340:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "3340:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3313:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3322:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3309:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3309:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3334:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3305:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3305:32:32" + }, + "nodeType": "YulIf", + "src": "3302:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "3363:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3392:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "3373:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "3373:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3363:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3411:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3438:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3449:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3434:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3434:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3421:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "3421:32:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3411:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3250:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3261:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3273:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3281:6:32", + "type": "" + } + ], + "src": "3205:254:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3568:218:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3614:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3623:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3626:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3616:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "3616:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "3616:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3589:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3598:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3585:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3585:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3610:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3581:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3581:32:32" + }, + "nodeType": "YulIf", + "src": "3578:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "3639:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3668:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "3649:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "3649:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3639:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3687:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3714:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3725:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3710:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3710:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3697:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "3697:32:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3687:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3738:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3765:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3776:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3761:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3761:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3748:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "3748:32:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "3738:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes32t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3518:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3529:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3541:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3549:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3557:6:32", + "type": "" + } + ], + "src": "3464:322:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3948:595:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3995:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4004:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4007:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3997:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "3997:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "3997:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3969:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3978:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3965:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3965:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3990:3:32", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3961:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "3961:33:32" + }, + "nodeType": "YulIf", + "src": "3958:53:32" + }, + { + "nodeType": "YulAssignment", + "src": "4020:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4049:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "4030:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "4030:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4020:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4068:46:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4099:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4110:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4095:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "4095:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4082:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "4082:32:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4072:6:32", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4123:28:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4133:18:32", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "4127:2:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4178:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4187:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4190:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4180:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "4180:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "4180:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4166:6:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4174:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4163:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "4163:14:32" + }, + "nodeType": "YulIf", + "src": "4160:34:32" + }, + { + "nodeType": "YulAssignment", + "src": "4203:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4234:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4245:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4230:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "4230:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4254:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "4213:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "4213:49:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4203:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4271:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4304:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4315:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4300:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "4300:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4287:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "4287:32:32" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "4275:8:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4348:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4357:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4360:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4350:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "4350:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "4350:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "4334:8:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4344:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4331:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "4331:16:32" + }, + "nodeType": "YulIf", + "src": "4328:36:32" + }, + { + "nodeType": "YulAssignment", + "src": "4373:61:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4404:9:32" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "4415:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4400:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "4400:24:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4426:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "4383:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "4383:51:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4373:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4443:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4470:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4481:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4466:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "4466:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4453:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "4453:32:32" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "4443:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4494:43:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4521:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4532:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4517:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "4517:19:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4504:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "4504:33:32" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "4494:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes_memory_ptrt_string_memory_ptrt_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3882:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3893:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3905:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3913:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "3921:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "3929:6:32", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "3937:6:32", + "type": "" + } + ], + "src": "3791:752:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4722:647:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4769:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4778:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4781:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4771:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "4771:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "4771:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4743:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4752:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4739:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "4739:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4764:3:32", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4735:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "4735:33:32" + }, + "nodeType": "YulIf", + "src": "4732:53:32" + }, + { + "nodeType": "YulAssignment", + "src": "4794:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4823:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "4804:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "4804:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4794:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4842:46:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4873:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4884:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4869:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "4869:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "4856:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "4856:32:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4846:6:32", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "4897:28:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4907:18:32", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "4901:2:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4952:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4961:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4964:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4954:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "4954:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "4954:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4940:6:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "4948:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4937:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "4937:14:32" + }, + "nodeType": "YulIf", + "src": "4934:34:32" + }, + { + "nodeType": "YulAssignment", + "src": "4977:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5008:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5019:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5004:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "5004:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5028:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "4987:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "4987:49:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4977:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5045:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5078:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5089:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5074:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "5074:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5061:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "5061:32:32" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "5049:8:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5122:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5131:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5134:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5124:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "5124:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "5124:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "5108:8:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "5118:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5105:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "5105:16:32" + }, + "nodeType": "YulIf", + "src": "5102:36:32" + }, + { + "nodeType": "YulAssignment", + "src": "5147:61:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5178:9:32" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "5189:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5174:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "5174:24:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5200:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "5157:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "5157:51:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "5147:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5217:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5244:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5255:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5240:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "5240:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5227:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "5227:32:32" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "5217:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5268:43:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5295:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5306:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5291:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "5291:19:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5278:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "5278:33:32" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "5268:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5320:43:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5347:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5358:3:32", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5343:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "5343:19:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5330:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "5330:33:32" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "5320:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes_memory_ptrt_string_memory_ptrt_uint256t_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4648:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4659:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4671:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "4679:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "4687:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "4695:6:32", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "4703:6:32", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "4711:6:32", + "type": "" + } + ], + "src": "4548:821:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5514:543:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5561:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5570:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5573:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5563:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "5563:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "5563:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5535:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5544:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5531:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "5531:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5556:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5527:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "5527:33:32" + }, + "nodeType": "YulIf", + "src": "5524:53:32" + }, + { + "nodeType": "YulAssignment", + "src": "5586:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5615:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "5596:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "5596:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5586:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5634:46:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5665:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5676:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5661:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "5661:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5648:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "5648:32:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5638:6:32", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5689:28:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5699:18:32", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "5693:2:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5744:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5753:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5756:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5746:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "5746:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "5746:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5732:6:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "5740:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5729:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "5729:14:32" + }, + "nodeType": "YulIf", + "src": "5726:34:32" + }, + { + "nodeType": "YulAssignment", + "src": "5769:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5800:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5811:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5796:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "5796:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5820:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "5779:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "5779:49:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "5769:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5837:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5864:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5875:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5860:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "5860:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5847:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "5847:32:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "5837:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5888:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5921:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5932:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5917:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "5917:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5904:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "5904:32:32" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "5892:8:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5965:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5974:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5977:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5967:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "5967:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "5967:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "5951:8:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "5961:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5948:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "5948:16:32" + }, + "nodeType": "YulIf", + "src": "5945:36:32" + }, + { + "nodeType": "YulAssignment", + "src": "5990:61:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6021:9:32" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "6032:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6017:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "6017:24:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6043:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "6000:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "6000:51:32" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "5990:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes_memory_ptrt_uint256t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5456:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5467:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5479:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "5487:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "5495:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "5503:6:32", + "type": "" + } + ], + "src": "5374:683:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6219:595:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6266:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6275:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6278:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6268:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "6268:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "6268:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6240:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6249:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6236:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "6236:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6261:3:32", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6232:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "6232:33:32" + }, + "nodeType": "YulIf", + "src": "6229:53:32" + }, + { + "nodeType": "YulAssignment", + "src": "6291:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6320:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "6301:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "6301:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6291:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6339:46:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6370:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6381:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6366:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "6366:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6353:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "6353:32:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6343:6:32", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6394:28:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6404:18:32", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "6398:2:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6449:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6458:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6461:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6451:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "6451:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "6451:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6437:6:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6445:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6434:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "6434:14:32" + }, + "nodeType": "YulIf", + "src": "6431:34:32" + }, + { + "nodeType": "YulAssignment", + "src": "6474:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6505:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6516:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6501:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "6501:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6525:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "6484:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "6484:49:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "6474:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6542:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6569:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6580:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6565:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "6565:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6552:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "6552:32:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "6542:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "6593:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6626:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6637:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6622:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "6622:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6609:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "6609:32:32" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "6597:8:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6670:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6679:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6682:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6672:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "6672:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "6672:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "6656:8:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "6666:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6653:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "6653:16:32" + }, + "nodeType": "YulIf", + "src": "6650:36:32" + }, + { + "nodeType": "YulAssignment", + "src": "6695:61:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6726:9:32" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "6737:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6722:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "6722:24:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6748:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "6705:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "6705:51:32" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "6695:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6765:43:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6792:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6803:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6788:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "6788:19:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6775:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "6775:33:32" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "6765:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes_memory_ptrt_uint256t_string_memory_ptrt_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6153:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6164:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6176:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "6184:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "6192:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "6200:6:32", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "6208:6:32", + "type": "" + } + ], + "src": "6062:752:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6949:401:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6996:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7005:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7008:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6998:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "6998:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "6998:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6970:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6979:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6966:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "6966:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6991:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6962:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "6962:33:32" + }, + "nodeType": "YulIf", + "src": "6959:53:32" + }, + { + "nodeType": "YulAssignment", + "src": "7021:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7050:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "7031:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "7031:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7021:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7069:46:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7100:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7111:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7096:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "7096:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7083:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "7083:32:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7073:6:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7158:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7167:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7170:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7160:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "7160:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "7160:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7130:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7138:18:32", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7127:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "7127:30:32" + }, + "nodeType": "YulIf", + "src": "7124:50:32" + }, + { + "nodeType": "YulAssignment", + "src": "7183:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7214:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7225:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7210:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "7210:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7234:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "7193:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "7193:49:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7183:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7251:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7278:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7289:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7274:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "7274:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7261:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "7261:32:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "7251:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7302:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7329:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7340:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7325:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "7325:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7312:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "7312:32:32" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "7302:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes_memory_ptrt_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6891:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6902:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6914:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "6922:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "6930:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "6938:6:32", + "type": "" + } + ], + "src": "6819:531:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7502:453:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7549:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7558:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7561:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7551:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "7551:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "7551:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7523:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7532:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7519:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "7519:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7544:3:32", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "7515:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "7515:33:32" + }, + "nodeType": "YulIf", + "src": "7512:53:32" + }, + { + "nodeType": "YulAssignment", + "src": "7574:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7603:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "7584:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "7584:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7574:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "7622:46:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7653:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7664:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7649:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "7649:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7636:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "7636:32:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "7626:6:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7711:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7720:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7723:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7713:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "7713:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "7713:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7683:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7691:18:32", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "7680:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "7680:30:32" + }, + "nodeType": "YulIf", + "src": "7677:50:32" + }, + { + "nodeType": "YulAssignment", + "src": "7736:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7767:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "7778:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7763:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "7763:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "7787:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "7746:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "7746:49:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "7736:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7804:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7831:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7842:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7827:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "7827:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7814:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "7814:32:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "7804:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7855:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7882:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7893:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7878:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "7878:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7865:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "7865:32:32" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "7855:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7906:43:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7933:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7944:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7929:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "7929:19:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "7916:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "7916:33:32" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "7906:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes_memory_ptrt_uint256t_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7436:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "7447:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7459:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "7467:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "7475:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "7483:6:32", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "7491:6:32", + "type": "" + } + ], + "src": "7355:600:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8057:298:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8103:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8112:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8115:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8105:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "8105:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "8105:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8078:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8087:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8074:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "8074:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8099:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "8070:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "8070:32:32" + }, + "nodeType": "YulIf", + "src": "8067:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "8128:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8157:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "8138:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "8138:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8128:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8176:46:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8207:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8218:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8203:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "8203:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8190:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "8190:32:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "8180:6:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8265:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8274:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8277:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8267:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "8267:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "8267:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8237:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8245:18:32", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "8234:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "8234:30:32" + }, + "nodeType": "YulIf", + "src": "8231:50:32" + }, + { + "nodeType": "YulAssignment", + "src": "8290:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8321:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "8332:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8317:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "8317:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8341:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "8300:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "8300:49:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8290:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8015:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "8026:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8038:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "8046:6:32", + "type": "" + } + ], + "src": "7960:395:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8447:167:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8493:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8502:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8505:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8495:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "8495:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "8495:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8468:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8477:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8464:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "8464:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8489:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "8460:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "8460:32:32" + }, + "nodeType": "YulIf", + "src": "8457:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "8518:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8547:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "8528:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "8528:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8518:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8566:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8593:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8604:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8589:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "8589:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8576:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "8576:32:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8566:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8405:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "8416:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8428:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "8436:6:32", + "type": "" + } + ], + "src": "8360:254:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8740:270:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "8787:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8796:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8799:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8789:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "8789:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "8789:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "8761:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8770:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8757:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "8757:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8782:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "8753:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "8753:33:32" + }, + "nodeType": "YulIf", + "src": "8750:53:32" + }, + { + "nodeType": "YulAssignment", + "src": "8812:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8841:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "8822:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "8822:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8812:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8860:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8887:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8898:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8883:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "8883:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8870:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "8870:32:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "8860:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8911:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8938:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8949:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8934:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "8934:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8921:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "8921:32:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "8911:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8962:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8989:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9000:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8985:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "8985:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "8972:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "8972:32:32" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "8962:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256t_bytes32t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8682:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "8693:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8705:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "8713:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "8721:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "8729:6:32", + "type": "" + } + ], + "src": "8619:391:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9153:322:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9200:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9209:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9212:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9202:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "9202:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "9202:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9174:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9183:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9170:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "9170:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9195:3:32", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9166:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "9166:33:32" + }, + "nodeType": "YulIf", + "src": "9163:53:32" + }, + { + "nodeType": "YulAssignment", + "src": "9225:39:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9254:9:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "9235:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "9235:29:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9225:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9273:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9300:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9311:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9296:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "9296:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9283:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "9283:32:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "9273:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9324:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9351:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9362:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9347:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "9347:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9334:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "9334:32:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "9324:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9375:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9402:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9413:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9398:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "9398:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9385:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "9385:32:32" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "9375:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9426:43:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9453:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9464:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9449:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "9449:19:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9436:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "9436:33:32" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "9426:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256t_bytes32t_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9087:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9098:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9110:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "9118:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "9126:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "9134:6:32", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "9142:6:32", + "type": "" + } + ], + "src": "9015:460:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9575:253:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9621:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9630:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9633:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9623:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "9623:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "9623:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9596:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9605:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9592:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "9592:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9617:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9588:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "9588:32:32" + }, + "nodeType": "YulIf", + "src": "9585:52:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9646:37:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9673:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "9660:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "9660:23:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "9650:6:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9726:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9735:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9738:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9728:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "9728:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "9728:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9698:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9706:18:32", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9695:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "9695:30:32" + }, + "nodeType": "YulIf", + "src": "9692:50:32" + }, + { + "nodeType": "YulAssignment", + "src": "9751:71:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9794:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "9805:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9790:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "9790:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9814:7:32" + } + ], + "functionName": { + "name": "abi_decode_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "9761:28:32" + }, + "nodeType": "YulFunctionCall", + "src": "9761:61:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9751:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9541:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9552:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9564:6:32", + "type": "" + } + ], + "src": "9480:348:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9911:199:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "9957:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9966:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9969:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "9959:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "9959:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "9959:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "9932:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9941:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9928:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "9928:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9953:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "9924:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "9924:32:32" + }, + "nodeType": "YulIf", + "src": "9921:52:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9982:29:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10001:9:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9995:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "9995:16:32" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9986:5:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10064:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10073:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10076:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10066:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "10066:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "10066:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10033:5:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10054:5:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "10047:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "10047:13:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "10040:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "10040:21:32" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "10030:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "10030:32:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "10023:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "10023:40:32" + }, + "nodeType": "YulIf", + "src": "10020:60:32" + }, + { + "nodeType": "YulAssignment", + "src": "10089:15:32", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10099:5:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10089:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9877:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "9888:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9900:6:32", + "type": "" + } + ], + "src": "9833:277:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10185:110:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10231:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10240:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10243:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10233:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "10233:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "10233:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10206:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10215:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10202:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "10202:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10227:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10198:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "10198:32:32" + }, + "nodeType": "YulIf", + "src": "10195:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "10256:33:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10279:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10266:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "10266:23:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10256:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10151:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "10162:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10174:6:32", + "type": "" + } + ], + "src": "10115:180:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10387:167:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10433:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10442:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10445:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10435:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "10435:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "10435:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10408:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10417:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10404:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "10404:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10429:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10400:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "10400:32:32" + }, + "nodeType": "YulIf", + "src": "10397:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "10458:33:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10481:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10468:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "10468:23:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10458:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10500:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10533:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10544:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10529:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "10529:18:32" + } + ], + "functionName": { + "name": "abi_decode_address", + "nodeType": "YulIdentifier", + "src": "10510:18:32" + }, + "nodeType": "YulFunctionCall", + "src": "10510:38:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "10500:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10345:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "10356:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10368:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10376:6:32", + "type": "" + } + ], + "src": "10300:254:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10646:161:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10692:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10701:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10704:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10694:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "10694:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "10694:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10667:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10676:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10663:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "10663:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10688:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10659:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "10659:32:32" + }, + "nodeType": "YulIf", + "src": "10656:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "10717:33:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10740:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10727:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "10727:23:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10717:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "10759:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10786:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10797:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10782:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "10782:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10769:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "10769:32:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "10759:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10604:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "10615:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10627:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10635:6:32", + "type": "" + } + ], + "src": "10559:248:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10916:212:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "10962:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10971:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10974:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10964:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "10964:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "10964:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "10937:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10946:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10933:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "10933:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10958:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "10929:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "10929:32:32" + }, + "nodeType": "YulIf", + "src": "10926:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "10987:33:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11010:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "10997:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "10997:23:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "10987:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11029:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11056:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11067:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11052:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "11052:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11039:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "11039:32:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "11029:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11080:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11107:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11118:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11103:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "11103:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11090:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "11090:32:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "11080:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10866:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "10877:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "10889:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "10897:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "10905:6:32", + "type": "" + } + ], + "src": "10812:316:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11202:217:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11248:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11257:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11260:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11250:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "11250:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "11250:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11223:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11232:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11219:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "11219:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11244:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11215:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "11215:32:32" + }, + "nodeType": "YulIf", + "src": "11212:52:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11273:36:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11299:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11286:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "11286:23:32" + }, + "variables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11277:5:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11373:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11382:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11385:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11375:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "11375:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "11375:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11331:5:32" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11342:5:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11353:3:32", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11358:10:32", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "11349:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "11349:20:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11338:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "11338:32:32" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "11328:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "11328:43:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "11321:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "11321:51:32" + }, + "nodeType": "YulIf", + "src": "11318:71:32" + }, + { + "nodeType": "YulAssignment", + "src": "11398:15:32", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11408:5:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11398:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11168:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11179:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11191:6:32", + "type": "" + } + ], + "src": "11133:286:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11504:241:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11550:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11559:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11562:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11552:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "11552:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "11552:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11525:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11534:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11521:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "11521:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11546:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11517:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "11517:32:32" + }, + "nodeType": "YulIf", + "src": "11514:52:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11575:37:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11602:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11589:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "11589:23:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11579:6:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11655:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11664:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11667:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11657:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "11657:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "11657:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11627:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11635:18:32", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "11624:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "11624:30:32" + }, + "nodeType": "YulIf", + "src": "11621:50:32" + }, + { + "nodeType": "YulAssignment", + "src": "11680:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11711:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11722:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11707:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "11707:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11731:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "11690:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "11690:49:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11680:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11470:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11481:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11493:6:32", + "type": "" + } + ], + "src": "11424:321:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11914:630:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11960:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11969:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11972:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11962:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "11962:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "11962:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11935:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11944:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11931:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "11931:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11956:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11927:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "11927:32:32" + }, + "nodeType": "YulIf", + "src": "11924:52:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "11985:37:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12012:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "11999:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "11999:23:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11989:6:32", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12031:28:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12041:18:32", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "12035:2:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12086:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12095:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12098:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12088:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "12088:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "12088:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12074:6:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12082:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12071:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "12071:14:32" + }, + "nodeType": "YulIf", + "src": "12068:34:32" + }, + { + "nodeType": "YulAssignment", + "src": "12111:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12142:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12153:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12138:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "12138:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12162:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "12121:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "12121:49:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12111:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12179:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12212:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12223:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12208:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "12208:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12195:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "12195:32:32" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "12183:8:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12256:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12265:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12268:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12258:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "12258:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "12258:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "12242:8:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12252:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12239:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "12239:16:32" + }, + "nodeType": "YulIf", + "src": "12236:36:32" + }, + { + "nodeType": "YulAssignment", + "src": "12281:73:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12324:9:32" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "12335:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12320:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "12320:24:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12346:7:32" + } + ], + "functionName": { + "name": "abi_decode_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "12291:28:32" + }, + "nodeType": "YulFunctionCall", + "src": "12291:63:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12281:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12363:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12396:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12407:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12392:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "12392:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12379:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "12379:32:32" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "12367:8:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12440:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12449:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12452:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12442:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "12442:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "12442:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "12426:8:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12436:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12423:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "12423:16:32" + }, + "nodeType": "YulIf", + "src": "12420:36:32" + }, + { + "nodeType": "YulAssignment", + "src": "12465:73:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12508:9:32" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "12519:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12504:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "12504:24:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12530:7:32" + } + ], + "functionName": { + "name": "abi_decode_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "12475:28:32" + }, + "nodeType": "YulFunctionCall", + "src": "12475:63:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "12465:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11864:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11875:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11887:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "11895:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "11903:6:32", + "type": "" + } + ], + "src": "11750:794:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12730:682:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12777:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12786:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12789:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12779:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "12779:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "12779:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12751:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12760:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12747:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "12747:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12772:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "12743:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "12743:33:32" + }, + "nodeType": "YulIf", + "src": "12740:53:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12802:37:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12829:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "12816:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "12816:23:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "12806:6:32", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12848:28:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12858:18:32", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "12852:2:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12903:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12912:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12915:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12905:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "12905:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "12905:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12891:6:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "12899:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12888:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "12888:14:32" + }, + "nodeType": "YulIf", + "src": "12885:34:32" + }, + { + "nodeType": "YulAssignment", + "src": "12928:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12959:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "12970:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12955:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "12955:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "12979:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "12938:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "12938:49:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12928:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "12996:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13029:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13040:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13025:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "13025:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13012:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "13012:32:32" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "13000:8:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13073:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13082:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13085:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13075:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "13075:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "13075:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "13059:8:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13069:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13056:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "13056:16:32" + }, + "nodeType": "YulIf", + "src": "13053:36:32" + }, + { + "nodeType": "YulAssignment", + "src": "13098:73:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13141:9:32" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "13152:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13137:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "13137:24:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13163:7:32" + } + ], + "functionName": { + "name": "abi_decode_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "13108:28:32" + }, + "nodeType": "YulFunctionCall", + "src": "13108:63:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13098:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13180:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13213:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13224:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13209:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "13209:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13196:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "13196:32:32" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "13184:8:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13257:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13266:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13269:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13259:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "13259:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "13259:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "13243:8:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13253:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13240:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "13240:16:32" + }, + "nodeType": "YulIf", + "src": "13237:36:32" + }, + { + "nodeType": "YulAssignment", + "src": "13282:73:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13325:9:32" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "13336:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13321:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "13321:24:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13347:7:32" + } + ], + "functionName": { + "name": "abi_decode_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "13292:28:32" + }, + "nodeType": "YulFunctionCall", + "src": "13292:63:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "13282:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13364:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13391:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13402:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13387:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "13387:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13374:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "13374:32:32" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "13364:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12672:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "12683:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12695:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "12703:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "12711:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "12719:6:32", + "type": "" + } + ], + "src": "12549:863:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13598:682:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13645:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13654:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13657:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13647:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "13647:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "13647:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13619:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13628:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13615:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "13615:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13640:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "13611:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "13611:33:32" + }, + "nodeType": "YulIf", + "src": "13608:53:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13670:37:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13697:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13684:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "13684:23:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13674:6:32", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13716:28:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13726:18:32", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "13720:2:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13771:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13780:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13783:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13773:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "13773:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "13773:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13759:6:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13767:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13756:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "13756:14:32" + }, + "nodeType": "YulIf", + "src": "13753:34:32" + }, + { + "nodeType": "YulAssignment", + "src": "13796:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13827:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13838:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13823:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "13823:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "13847:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "13806:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "13806:49:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13796:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13864:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13891:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13902:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13887:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "13887:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13874:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "13874:32:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13864:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13915:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13948:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13959:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13944:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "13944:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13931:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "13931:32:32" + }, + "variables": [ + { + "name": "offset_1", + "nodeType": "YulTypedName", + "src": "13919:8:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13992:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14001:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14004:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13994:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "13994:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "13994:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "13978:8:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "13988:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13975:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "13975:16:32" + }, + "nodeType": "YulIf", + "src": "13972:36:32" + }, + { + "nodeType": "YulAssignment", + "src": "14017:73:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14060:9:32" + }, + { + "name": "offset_1", + "nodeType": "YulIdentifier", + "src": "14071:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14056:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "14056:24:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14082:7:32" + } + ], + "functionName": { + "name": "abi_decode_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "14027:28:32" + }, + "nodeType": "YulFunctionCall", + "src": "14027:63:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "14017:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14099:48:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14132:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14143:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14128:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "14128:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "14115:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "14115:32:32" + }, + "variables": [ + { + "name": "offset_2", + "nodeType": "YulTypedName", + "src": "14103:8:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14176:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14185:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14188:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14178:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "14178:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "14178:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "14162:8:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "14172:2:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "14159:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "14159:16:32" + }, + "nodeType": "YulIf", + "src": "14156:36:32" + }, + { + "nodeType": "YulAssignment", + "src": "14201:73:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14244:9:32" + }, + { + "name": "offset_2", + "nodeType": "YulIdentifier", + "src": "14255:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14240:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "14240:24:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14266:7:32" + } + ], + "functionName": { + "name": "abi_decode_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "14211:28:32" + }, + "nodeType": "YulFunctionCall", + "src": "14211:63:32" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "14201:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_uint256t_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13540:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "13551:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13563:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "13571:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "13579:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "13587:6:32", + "type": "" + } + ], + "src": "13417:863:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14399:343:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14445:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14454:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14457:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14447:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "14447:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "14447:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14420:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14429:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14416:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "14416:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14441:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "14412:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "14412:32:32" + }, + "nodeType": "YulIf", + "src": "14409:52:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "14470:37:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14497:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "14484:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "14484:23:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "14474:6:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14550:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14559:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14562:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14552:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "14552:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "14552:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14522:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14530:18:32", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "14519:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "14519:30:32" + }, + "nodeType": "YulIf", + "src": "14516:50:32" + }, + { + "nodeType": "YulAssignment", + "src": "14575:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14606:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "14617:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14602:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "14602:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14626:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "14585:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "14585:49:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14575:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14643:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14670:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14681:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14666:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "14666:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "14653:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "14653:32:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "14643:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14694:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14721:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14732:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14717:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "14717:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "14704:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "14704:32:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "14694:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14349:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "14360:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14372:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "14380:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "14388:6:32", + "type": "" + } + ], + "src": "14285:457:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14817:110:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "14863:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14872:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14875:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14865:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "14865:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "14865:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "14838:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14847:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14834:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "14834:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14859:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "14830:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "14830:32:32" + }, + "nodeType": "YulIf", + "src": "14827:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "14888:33:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14911:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "14898:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "14898:23:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14888:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14783:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "14794:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14806:6:32", + "type": "" + } + ], + "src": "14747:180:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15019:161:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "15065:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15074:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15077:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15067:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "15067:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "15067:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15040:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15049:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15036:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "15036:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15061:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "15032:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "15032:32:32" + }, + "nodeType": "YulIf", + "src": "15029:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "15090:33:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15113:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15100:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "15100:23:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15090:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15132:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15159:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15170:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15155:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "15155:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15142:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "15142:32:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "15132:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14977:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "14988:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15000:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "15008:6:32", + "type": "" + } + ], + "src": "14932:248:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15282:292:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "15328:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15337:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15340:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15330:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "15330:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "15330:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15303:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15312:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15299:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "15299:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15324:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "15295:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "15295:32:32" + }, + "nodeType": "YulIf", + "src": "15292:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "15353:33:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15376:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15363:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "15363:23:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15353:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15395:46:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15426:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15437:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15422:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "15422:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15409:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "15409:32:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15399:6:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15484:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15493:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15496:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15486:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "15486:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "15486:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15456:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15464:18:32", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "15453:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "15453:30:32" + }, + "nodeType": "YulIf", + "src": "15450:50:32" + }, + { + "nodeType": "YulAssignment", + "src": "15509:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15540:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15551:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15536:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "15536:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15560:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "15519:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "15519:49:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "15509:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15240:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "15251:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15263:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "15271:6:32", + "type": "" + } + ], + "src": "15185:389:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15693:343:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "15739:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15748:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15751:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15741:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "15741:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "15741:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15714:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15723:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15710:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "15710:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15735:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "15706:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "15706:32:32" + }, + "nodeType": "YulIf", + "src": "15703:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "15764:33:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15787:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15774:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "15774:23:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15764:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "15806:46:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15837:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15848:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15833:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "15833:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15820:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "15820:32:32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "15810:6:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15895:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15904:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15907:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "15897:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "15897:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "15897:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15867:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15875:18:32", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "15864:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "15864:30:32" + }, + "nodeType": "YulIf", + "src": "15861:50:32" + }, + { + "nodeType": "YulAssignment", + "src": "15920:59:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15951:9:32" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "15962:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15947:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "15947:22:32" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "15971:7:32" + } + ], + "functionName": { + "name": "abi_decode_bytes", + "nodeType": "YulIdentifier", + "src": "15930:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "15930:49:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "15920:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "15988:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16015:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16026:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16011:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "16011:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "15998:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "15998:32:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "15988:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_string_memory_ptrt_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15643:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "15654:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15666:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "15674:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "15682:6:32", + "type": "" + } + ], + "src": "15579:457:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16128:161:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "16174:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16183:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16186:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16176:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "16176:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "16176:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16149:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16158:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16145:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "16145:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16170:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "16141:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "16141:32:32" + }, + "nodeType": "YulIf", + "src": "16138:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "16199:33:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16222:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16209:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "16209:23:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16199:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16241:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16268:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16279:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16264:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "16264:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16251:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "16251:32:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "16241:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16086:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "16097:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16109:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "16117:6:32", + "type": "" + } + ], + "src": "16041:248:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16398:212:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "16444:16:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16453:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16456:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16446:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "16446:12:32" + }, + "nodeType": "YulExpressionStatement", + "src": "16446:12:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "16419:7:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16428:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16415:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "16415:23:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16440:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "16411:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "16411:32:32" + }, + "nodeType": "YulIf", + "src": "16408:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "16469:33:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16492:9:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16479:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "16479:23:32" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16469:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16511:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16538:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16549:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16534:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "16534:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16521:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "16521:32:32" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "16511:6:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16562:42:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16589:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16600:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16585:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "16585:18:32" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "16572:12:32" + }, + "nodeType": "YulFunctionCall", + "src": "16572:32:32" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "16562:6:32" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_uint256t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16348:9:32", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "16359:7:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16371:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "16379:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "16387:6:32", + "type": "" + } + ], + "src": "16294:316:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16676:374:32", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "16686:26:32", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16706:5:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "16700:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "16700:12:32" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "16690:6:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16728:3:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16733:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16721:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "16721:19:32" + }, + "nodeType": "YulExpressionStatement", + "src": "16721:19:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16749:14:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16759:4:32", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "16753:2:32", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16772:19:32", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16783:3:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "16788:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16779:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "16779:12:32" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16772:3:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16800:28:32", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16818:5:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "16825:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16814:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "16814:14:32" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "16804:6:32", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "16837:10:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16846:1:32", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "16841:1:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16905:120:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16926:3:32" + }, + { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "16937:6:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "16931:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "16931:13:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16919:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "16919:26:32" + }, + "nodeType": "YulExpressionStatement", + "src": "16919:26:32" + }, + { + "nodeType": "YulAssignment", + "src": "16958:19:32", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16969:3:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "16974:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16965:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "16965:12:32" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "16958:3:32" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "16990:25:32", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "17004:6:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "17012:2:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17000:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "17000:15:32" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "16990:6:32" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "16867:1:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "16870:6:32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "16864:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "16864:13:32" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "16878:18:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16880:14:32", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "16889:1:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16892:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16885:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "16885:9:32" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "16880:1:32" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "16860:3:32", + "statements": [] + }, + "src": "16856:169:32" + }, + { + "nodeType": "YulAssignment", + "src": "17034:10:32", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17041:3:32" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17034:3:32" + } + ] + } + ] + }, + "name": "abi_encode_array_uint256_dyn", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16653:5:32", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "16660:3:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "16668:3:32", + "type": "" + } + ], + "src": "16615:435:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17334:399:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17351:3:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17364:2:32", + "type": "", + "value": "96" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17368:6:32" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "17360:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "17360:15:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17381:26:32", + "type": "", + "value": "0xffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "17377:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "17377:31:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "17356:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "17356:53:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17344:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "17344:66:32" + }, + "nodeType": "YulExpressionStatement", + "src": "17344:66:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17430:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17435:2:32", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17426:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "17426:12:32" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "17440:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17419:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "17419:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "17419:28:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17467:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17472:2:32", + "type": "", + "value": "52" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17463:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "17463:12:32" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "17477:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17456:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "17456:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "17456:28:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17493:27:32", + "value": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "17513:6:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "17507:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "17507:13:32" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "17497:6:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "17555:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17563:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17551:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "17551:17:32" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17574:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17579:2:32", + "type": "", + "value": "84" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17570:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "17570:12:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17584:6:32" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "17529:21:32" + }, + "nodeType": "YulFunctionCall", + "src": "17529:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "17529:62:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "17600:26:32", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "17614:3:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "17619:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17610:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "17610:16:32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "17604:2:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "17646:2:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17650:2:32", + "type": "", + "value": "84" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17642:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "17642:11:32" + }, + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "17655:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17635:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "17635:27:32" + }, + "nodeType": "YulExpressionStatement", + "src": "17635:27:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "17682:2:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17686:3:32", + "type": "", + "value": "116" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17678:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "17678:12:32" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "17692:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17671:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "17671:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "17671:28:32" + }, + { + "nodeType": "YulAssignment", + "src": "17708:19:32", + "value": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "17719:2:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17723:3:32", + "type": "", + "value": "148" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17715:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "17715:12:32" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "17708:3:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_address_t_bytes32_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__to_t_address_t_bytes32_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17270:3:32", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "17275:6:32", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "17283:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "17291:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "17299:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "17307:6:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17315:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17326:3:32", + "type": "" + } + ], + "src": "17055:678:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17989:343:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18006:3:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18019:2:32", + "type": "", + "value": "96" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18023:6:32" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "18015:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18015:15:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18036:26:32", + "type": "", + "value": "0xffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "18032:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18032:31:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "18011:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18011:53:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17999:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "17999:66:32" + }, + "nodeType": "YulExpressionStatement", + "src": "17999:66:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18085:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18090:2:32", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18081:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18081:12:32" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "18095:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18074:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "18074:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "18074:28:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18122:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18127:2:32", + "type": "", + "value": "52" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18118:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18118:12:32" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "18132:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18111:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "18111:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "18111:28:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18159:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18164:2:32", + "type": "", + "value": "84" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18155:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18155:12:32" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "18169:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18148:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "18148:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "18148:28:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18185:27:32", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "18205:6:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "18199:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "18199:13:32" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "18189:6:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "18247:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18255:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18243:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18243:17:32" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18266:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18271:3:32", + "type": "", + "value": "116" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18262:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18262:13:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18277:6:32" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "18221:21:32" + }, + "nodeType": "YulFunctionCall", + "src": "18221:63:32" + }, + "nodeType": "YulExpressionStatement", + "src": "18221:63:32" + }, + { + "nodeType": "YulAssignment", + "src": "18293:33:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18308:3:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18313:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18304:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18304:16:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18322:3:32", + "type": "", + "value": "116" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18300:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18300:26:32" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18293:3:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_address_t_bytes32_t_uint256_t_uint256_t_string_memory_ptr__to_t_address_t_bytes32_t_uint256_t_uint256_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "17933:3:32", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "17938:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "17946:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "17954:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "17962:6:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17970:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "17981:3:32", + "type": "" + } + ], + "src": "17738:594:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18616:401:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18633:3:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18646:2:32", + "type": "", + "value": "96" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18650:6:32" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "18642:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18642:15:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18663:26:32", + "type": "", + "value": "0xffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "18659:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18659:31:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "18638:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18638:53:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18626:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "18626:66:32" + }, + "nodeType": "YulExpressionStatement", + "src": "18626:66:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18712:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18717:2:32", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18708:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18708:12:32" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "18722:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18701:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "18701:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "18701:28:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18749:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18754:2:32", + "type": "", + "value": "52" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18745:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18745:12:32" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "18759:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18738:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "18738:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "18738:28:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18786:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18791:2:32", + "type": "", + "value": "84" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18782:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18782:12:32" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "18796:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18775:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "18775:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "18775:28:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18812:27:32", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "18832:6:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "18826:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "18826:13:32" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "18816:6:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "18874:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18882:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18870:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18870:17:32" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18893:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18898:3:32", + "type": "", + "value": "116" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18889:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18889:13:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18904:6:32" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "18848:21:32" + }, + "nodeType": "YulFunctionCall", + "src": "18848:63:32" + }, + "nodeType": "YulExpressionStatement", + "src": "18848:63:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "18920:26:32", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "18934:3:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "18939:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18930:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18930:16:32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "18924:2:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "18966:2:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18970:3:32", + "type": "", + "value": "116" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18962:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18962:12:32" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "18976:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18955:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "18955:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "18955:28:32" + }, + { + "nodeType": "YulAssignment", + "src": "18992:19:32", + "value": { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "19003:2:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19007:3:32", + "type": "", + "value": "148" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18999:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "18999:12:32" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "18992:3:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_address_t_bytes32_t_uint256_t_uint256_t_string_memory_ptr_t_uint256__to_t_address_t_bytes32_t_uint256_t_uint256_t_string_memory_ptr_t_uint256__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "18552:3:32", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "18557:6:32", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "18565:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "18573:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "18581:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "18589:6:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18597:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "18608:3:32", + "type": "" + } + ], + "src": "18337:680:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19253:260:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19270:3:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19283:2:32", + "type": "", + "value": "96" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19287:6:32" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "19279:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19279:15:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19300:26:32", + "type": "", + "value": "0xffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "19296:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19296:31:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "19275:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19275:53:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19263:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "19263:66:32" + }, + "nodeType": "YulExpressionStatement", + "src": "19263:66:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19349:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19354:2:32", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19345:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19345:12:32" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "19359:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19338:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "19338:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "19338:28:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19386:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19391:2:32", + "type": "", + "value": "52" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19382:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19382:12:32" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "19396:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19375:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "19375:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "19375:28:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19423:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19428:2:32", + "type": "", + "value": "84" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19419:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19419:12:32" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "19433:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19412:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "19412:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "19412:28:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19460:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19465:3:32", + "type": "", + "value": "116" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19456:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19456:13:32" + }, + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "19471:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19449:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "19449:29:32" + }, + "nodeType": "YulExpressionStatement", + "src": "19449:29:32" + }, + { + "nodeType": "YulAssignment", + "src": "19487:20:32", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19498:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19503:3:32", + "type": "", + "value": "148" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19494:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19494:13:32" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "19487:3:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_address_t_bytes32_t_uint256_t_uint256_t_uint256__to_t_address_t_bytes32_t_uint256_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19197:3:32", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "19202:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "19210:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "19218:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "19226:6:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19234:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19245:3:32", + "type": "" + } + ], + "src": "19022:491:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19777:298:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19794:3:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19807:2:32", + "type": "", + "value": "96" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19811:6:32" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "19803:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19803:15:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19824:26:32", + "type": "", + "value": "0xffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "19820:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19820:31:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "19799:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19799:53:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19787:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "19787:66:32" + }, + "nodeType": "YulExpressionStatement", + "src": "19787:66:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19873:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19878:2:32", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19869:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19869:12:32" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "19883:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19862:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "19862:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "19862:28:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19910:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19915:2:32", + "type": "", + "value": "52" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19906:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19906:12:32" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "19920:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19899:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "19899:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "19899:28:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19947:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19952:2:32", + "type": "", + "value": "84" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19943:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19943:12:32" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "19957:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19936:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "19936:28:32" + }, + "nodeType": "YulExpressionStatement", + "src": "19936:28:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19984:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19989:3:32", + "type": "", + "value": "116" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19980:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "19980:13:32" + }, + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "19995:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19973:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "19973:29:32" + }, + "nodeType": "YulExpressionStatement", + "src": "19973:29:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20022:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20027:3:32", + "type": "", + "value": "148" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20018:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "20018:13:32" + }, + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "20033:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20011:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "20011:29:32" + }, + "nodeType": "YulExpressionStatement", + "src": "20011:29:32" + }, + { + "nodeType": "YulAssignment", + "src": "20049:20:32", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20060:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20065:3:32", + "type": "", + "value": "180" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20056:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "20056:13:32" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "20049:3:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_address_t_bytes32_t_uint256_t_uint256_t_uint256_t_uint256__to_t_address_t_bytes32_t_uint256_t_uint256_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19713:3:32", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "19718:6:32", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "19726:6:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "19734:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "19742:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "19750:6:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19758:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "19769:3:32", + "type": "" + } + ], + "src": "19518:557:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20219:137:32", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20229:27:32", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20249:6:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20243:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "20243:13:32" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "20233:6:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20291:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20299:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20287:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "20287:17:32" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20306:3:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20311:6:32" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "20265:21:32" + }, + "nodeType": "YulFunctionCall", + "src": "20265:53:32" + }, + "nodeType": "YulExpressionStatement", + "src": "20265:53:32" + }, + { + "nodeType": "YulAssignment", + "src": "20327:23:32", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20338:3:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20343:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20334:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "20334:16:32" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "20327:3:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "20195:3:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "20200:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "20211:3:32", + "type": "" + } + ], + "src": "20080:276:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20750:397:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20767:3:32" + }, + { + "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20772:25:32", + "type": "", + "value": "AccessControl: account " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20760:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "20760:38:32" + }, + "nodeType": "YulExpressionStatement", + "src": "20760:38:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20807:27:32", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20827:6:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20821:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "20821:13:32" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "20811:6:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "20869:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20877:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20865:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "20865:17:32" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20888:3:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20893:2:32", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20884:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "20884:12:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20898:6:32" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "20843:21:32" + }, + "nodeType": "YulFunctionCall", + "src": "20843:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "20843:62:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20914:26:32", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20928:3:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20933:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20924:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "20924:16:32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "20918:2:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "20960:2:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20964:2:32", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20956:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "20956:11:32" + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "kind": "string", + "nodeType": "YulLiteral", + "src": "20969:19:32", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20949:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "20949:40:32" + }, + "nodeType": "YulExpressionStatement", + "src": "20949:40:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "20998:29:32", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "21020:6:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "21014:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "21014:13:32" + }, + "variables": [ + { + "name": "length_1", + "nodeType": "YulTypedName", + "src": "21002:8:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "21062:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21070:4:32", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21058:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21058:17:32" + }, + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "21081:2:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21085:2:32", + "type": "", + "value": "40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21077:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21077:11:32" + }, + { + "name": "length_1", + "nodeType": "YulIdentifier", + "src": "21090:8:32" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "21036:21:32" + }, + "nodeType": "YulFunctionCall", + "src": "21036:63:32" + }, + "nodeType": "YulExpressionStatement", + "src": "21036:63:32" + }, + { + "nodeType": "YulAssignment", + "src": "21108:33:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "21123:2:32" + }, + { + "name": "length_1", + "nodeType": "YulIdentifier", + "src": "21127:8:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21119:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21119:17:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21138:2:32", + "type": "", + "value": "40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21115:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21115:26:32" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21108:3:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "20718:3:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "20723:6:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "20731:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "20742:3:32", + "type": "" + } + ], + "src": "20361:786:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21437:342:32", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21447:29:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21465:3:32", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21470:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "21461:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21461:11:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21474:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21457:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21457:19:32" + }, + "variables": [ + { + "name": "_1", + "nodeType": "YulTypedName", + "src": "21451:2:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21492:9:32" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21507:6:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "21515:2:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "21503:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21503:15:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21485:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "21485:34:32" + }, + "nodeType": "YulExpressionStatement", + "src": "21485:34:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21539:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21550:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21535:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21535:18:32" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "21559:6:32" + }, + { + "name": "_1", + "nodeType": "YulIdentifier", + "src": "21567:2:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "21555:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21555:15:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21528:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "21528:43:32" + }, + "nodeType": "YulExpressionStatement", + "src": "21528:43:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21591:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21602:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21587:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21587:18:32" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "21607:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21580:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "21580:34:32" + }, + "nodeType": "YulExpressionStatement", + "src": "21580:34:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21634:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21645:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21630:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21630:18:32" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "21650:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21623:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "21623:34:32" + }, + "nodeType": "YulExpressionStatement", + "src": "21623:34:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21677:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21688:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21673:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21673:19:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21694:3:32", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21666:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "21666:32:32" + }, + "nodeType": "YulExpressionStatement", + "src": "21666:32:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21718:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21729:3:32", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21714:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21714:19:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21735:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21707:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "21707:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "21707:30:32" + }, + { + "nodeType": "YulAssignment", + "src": "21746:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21758:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21769:3:32", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21754:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21754:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21746:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21382:9:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "21393:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "21401:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "21409:6:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "21417:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21428:4:32", + "type": "" + } + ], + "src": "21152:627:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21913:145:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21923:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21935:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21946:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21931:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21931:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21923:4:32" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21965:9:32" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "21980:6:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21996:3:32", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22001:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "21992:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21992:11:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22005:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21988:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21988:19:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "21976:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "21976:32:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21958:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "21958:51:32" + }, + "nodeType": "YulExpressionStatement", + "src": "21958:51:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22029:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22040:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22025:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "22025:18:32" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "22045:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22018:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "22018:34:32" + }, + "nodeType": "YulExpressionStatement", + "src": "22018:34:32" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21874:9:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "21885:6:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "21893:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21904:4:32", + "type": "" + } + ], + "src": "21784:274:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22214:110:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22231:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22242:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22224:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "22224:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "22224:21:32" + }, + { + "nodeType": "YulAssignment", + "src": "22254:64:32", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22291:6:32" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22303:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22314:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22299:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "22299:18:32" + } + ], + "functionName": { + "name": "abi_encode_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "22262:28:32" + }, + "nodeType": "YulFunctionCall", + "src": "22262:56:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22254:4:32" + } + ] + } + ] + }, + "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": "22183:9:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "22194:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22205:4:32", + "type": "" + } + ], + "src": "22063:261:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22558:236:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22575:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22586:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22568:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "22568:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "22568:21:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "22598:70:32", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22641:6:32" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22653:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22664:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22649:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "22649:18:32" + } + ], + "functionName": { + "name": "abi_encode_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "22612:28:32" + }, + "nodeType": "YulFunctionCall", + "src": "22612:56:32" + }, + "variables": [ + { + "name": "tail_1", + "nodeType": "YulTypedName", + "src": "22602:6:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22688:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22699:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22684:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "22684:18:32" + }, + { + "arguments": [ + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "22708:6:32" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22716:9:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22704:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "22704:22:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22677:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "22677:50:32" + }, + "nodeType": "YulExpressionStatement", + "src": "22677:50:32" + }, + { + "nodeType": "YulAssignment", + "src": "22736:52:32", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "22773:6:32" + }, + { + "name": "tail_1", + "nodeType": "YulIdentifier", + "src": "22781:6:32" + } + ], + "functionName": { + "name": "abi_encode_array_uint256_dyn", + "nodeType": "YulIdentifier", + "src": "22744:28:32" + }, + "nodeType": "YulFunctionCall", + "src": "22744:44:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22736:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22519:9:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "22530:6:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "22538:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22549:4:32", + "type": "" + } + ], + "src": "22329:465:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22894:92:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22904:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22916:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22927:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22912:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "22912:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22904:4:32" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22946:9:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "22971:6:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "22964:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "22964:14:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "22957:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "22957:22:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22939:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "22939:41:32" + }, + "nodeType": "YulExpressionStatement", + "src": "22939:41:32" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22863:9:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "22874:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22885:4:32", + "type": "" + } + ], + "src": "22799:187:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23092:76:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23102:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23114:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23125:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23110:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23110:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23102:4:32" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23144:9:32" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23155:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23137:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "23137:25:32" + }, + "nodeType": "YulExpressionStatement", + "src": "23137:25:32" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23061:9:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23072:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23083:4:32", + "type": "" + } + ], + "src": "22991:177:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23354:217:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23364:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23376:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23387:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23372:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23372:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23364:4:32" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23407:9:32" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23418:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23400:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "23400:25:32" + }, + "nodeType": "YulExpressionStatement", + "src": "23400:25:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23445:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23456:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23441:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23441:18:32" + }, + { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "23465:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23473:4:32", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "23461:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23461:17:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23434:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "23434:45:32" + }, + "nodeType": "YulExpressionStatement", + "src": "23434:45:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23499:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23510:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23495:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23495:18:32" + }, + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "23515:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23488:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "23488:34:32" + }, + "nodeType": "YulExpressionStatement", + "src": "23488:34:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23542:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23553:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23538:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23538:18:32" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "23558:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23531:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "23531:34:32" + }, + "nodeType": "YulExpressionStatement", + "src": "23531:34:32" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23299:9:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "23310:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "23318:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "23326:6:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23334:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23345:4:32", + "type": "" + } + ], + "src": "23173:398:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23675:103:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23685:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23697:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23708:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23693:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23693:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23685:4:32" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23727:9:32" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23742:6:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23754:3:32", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23759:10:32", + "type": "", + "value": "0xffffffff" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "23750:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23750:20:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "23738:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23738:33:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23720:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "23720:52:32" + }, + "nodeType": "YulExpressionStatement", + "src": "23720:52:32" + } + ] + }, + "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23644:9:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23655:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23666:4:32", + "type": "" + } + ], + "src": "23576:202:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23905:102:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23915:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23927:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23938:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23923:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23923:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23915:4:32" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23957:9:32" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23972:6:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23988:3:32", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23993:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "23984:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23984:11:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23997:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23980:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23980:19:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "23968:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "23968:32:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23950:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "23950:51:32" + }, + "nodeType": "YulExpressionStatement", + "src": "23950:51:32" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_RahatERC1155_$8866__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23874:9:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23885:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23896:4:32", + "type": "" + } + ], + "src": "23783:224:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24132:102:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24142:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24154:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24165:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24150:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24150:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24142:4:32" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24184:9:32" + }, + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "24199:6:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24215:3:32", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24220:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "24211:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24211:11:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24224:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "24207:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24207:19:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "24195:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24195:32:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24177:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "24177:51:32" + }, + "nodeType": "YulExpressionStatement", + "src": "24177:51:32" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_RahatERC20_$8969__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24101:9:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "24112:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24123:4:32", + "type": "" + } + ], + "src": "24012:222:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24360:262:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24377:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24388:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24370:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "24370:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "24370:21:32" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "24400:27:32", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "24420:6:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "24414:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "24414:13:32" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24404:6:32", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24447:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24458:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24443:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24443:18:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24463:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24436:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "24436:34:32" + }, + "nodeType": "YulExpressionStatement", + "src": "24436:34:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "24505:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24513:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24501:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24501:15:32" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24522:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24533:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24518:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24518:18:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24538:6:32" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "24479:21:32" + }, + "nodeType": "YulFunctionCall", + "src": "24479:66:32" + }, + "nodeType": "YulExpressionStatement", + "src": "24479:66:32" + }, + { + "nodeType": "YulAssignment", + "src": "24554:62:32", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24570:9:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24589:6:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24597:2:32", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24585:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24585:15:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24606:2:32", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "24602:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24602:7:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "24581:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24581:29:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24566:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24566:45:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24613:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24562:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24562:54:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24554:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24329:9:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "24340:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24351:4:32", + "type": "" + } + ], + "src": "24239:383:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24801:174:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24818:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24829:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24811:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "24811:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "24811:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24852:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24863:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24848:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24848:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24868:2:32", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24841:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "24841:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "24841:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24891:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24902:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24887:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24887:18:32" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "24907:26:32", + "type": "", + "value": "ECDSA: invalid signature" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24880:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "24880:54:32" + }, + "nodeType": "YulExpressionStatement", + "src": "24880:54:32" + }, + { + "nodeType": "YulAssignment", + "src": "24943:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "24955:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24966:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24951:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "24951:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "24943:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "24778:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "24792:4:32", + "type": "" + } + ], + "src": "24627:348:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25154:182:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25171:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25182:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25164:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "25164:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "25164:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25205:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25216:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25201:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "25201:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25221:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25194:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "25194:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "25194:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25244:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25255:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25240:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "25240:18:32" + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25260:34:32", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25233:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "25233:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "25233:62:32" + }, + { + "nodeType": "YulAssignment", + "src": "25304:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25316:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25327:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25312:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "25312:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25304:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25131:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25145:4:32", + "type": "" + } + ], + "src": "24980:356:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25515:244:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25532:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25543:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25525:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "25525:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "25525:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25566:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25577:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25562:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "25562:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25582:2:32", + "type": "", + "value": "54" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25555:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "25555:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "25555:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25605:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25616:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25601:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "25601:18:32" + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e207265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25621:34:32", + "type": "", + "value": "RAHAT: Amount is greater than re" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25594:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "25594:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "25594:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25676:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25687:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25672:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "25672:18:32" + }, + { + "hexValue": "6d61696e696e672050726f6a65637420427564676574", + "kind": "string", + "nodeType": "YulLiteral", + "src": "25692:24:32", + "type": "", + "value": "maining Project Budget" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25665:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "25665:52:32" + }, + "nodeType": "YulExpressionStatement", + "src": "25665:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "25726:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25738:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25749:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25734:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "25734:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "25726:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25492:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25506:4:32", + "type": "" + } + ], + "src": "25341:418:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25938:181:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25955:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25966:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25948:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "25948:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "25948:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "25989:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26000:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25985:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "25985:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26005:2:32", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "25978:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "25978:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "25978:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26028:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26039:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26024:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "26024:18:32" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265206c656e677468", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26044:33:32", + "type": "", + "value": "ECDSA: invalid signature length" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26017:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "26017:61:32" + }, + "nodeType": "YulExpressionStatement", + "src": "26017:61:32" + }, + { + "nodeType": "YulAssignment", + "src": "26087:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26099:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26110:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26095:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "26095:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26087:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "25915:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "25929:4:32", + "type": "" + } + ], + "src": "25764:355:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26298:244:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26315:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26326:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26308:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "26308:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "26308:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26349:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26360:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26345:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "26345:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26365:2:32", + "type": "", + "value": "54" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26338:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "26338:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "26338:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26388:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26399:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26384:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "26384:18:32" + }, + { + "hexValue": "52414841543a2053656e646572204d7573742062652061207265676973746572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26404:34:32", + "type": "", + "value": "RAHAT: Sender Must be a register" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26377:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "26377:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "26377:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26459:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26470:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26455:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "26455:18:32" + }, + { + "hexValue": "65642041646d696e204f72204d6f62696c697a65722e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26475:24:32", + "type": "", + "value": "ed Admin Or Mobilizer." + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26448:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "26448:52:32" + }, + "nodeType": "YulExpressionStatement", + "src": "26448:52:32" + }, + { + "nodeType": "YulAssignment", + "src": "26509:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26521:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26532:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26517:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "26517:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26509:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_365ba3947c2bf2b10dc335d80037be4b757978e5f1fd7be5c3a47295c3dea668__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26275:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26289:4:32", + "type": "" + } + ], + "src": "26124:418:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26721:176:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26738:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26749:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26731:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "26731:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "26731:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26772:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26783:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26768:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "26768:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26788:2:32", + "type": "", + "value": "26" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26761:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "26761:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "26761:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26811:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26822:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26807:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "26807:18:32" + }, + { + "hexValue": "5369676e65722073686f756c64206265204d6f62696c697a6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26827:28:32", + "type": "", + "value": "Signer should be Mobilizer" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26800:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "26800:56:32" + }, + "nodeType": "YulExpressionStatement", + "src": "26800:56:32" + }, + { + "nodeType": "YulAssignment", + "src": "26865:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26877:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26888:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26873:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "26873:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26865:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3abced3b2cbee5ea1b046b545c47d2713c9ee0c5b224ee552a1c226fdd69a6fe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26698:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26712:4:32", + "type": "" + } + ], + "src": "26547:350:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27076:232:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27093:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27104:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27086:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "27086:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "27086:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27127:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27138:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27123:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "27123:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27143:2:32", + "type": "", + "value": "42" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27116:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "27116:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "27116:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27166:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27177:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27162:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "27162:18:32" + }, + { + "hexValue": "52414841543a2053656e646572206d75737420626520616e20617574686f7269", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27182:34:32", + "type": "", + "value": "RAHAT: Sender must be an authori" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27155:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "27155:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "27155:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27237:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27248:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27233:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "27233:18:32" + }, + { + "hexValue": "7a656420736572766572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27253:12:32", + "type": "", + "value": "zed server" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27226:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "27226:40:32" + }, + "nodeType": "YulExpressionStatement", + "src": "27226:40:32" + }, + { + "nodeType": "YulAssignment", + "src": "27275:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27287:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27298:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27283:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "27283:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27275:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3c7443c6504f83de40c401595df36f2167c7a538b21a822874bf48b0e8a2b0f6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27053:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27067:4:32", + "type": "" + } + ], + "src": "26902:406:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27487:237:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27504:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27515:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27497:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "27497:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "27497:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27538:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27549:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27534:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "27534:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27554:2:32", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27527:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "27527:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "27527:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27577:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27588:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27573:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "27573:18:32" + }, + { + "hexValue": "52414841543a54696d6520546f204c6976652073686f756c64206265206c6573", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27593:34:32", + "type": "", + "value": "RAHAT:Time To Live should be les" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27566:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "27566:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "27566:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27648:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27659:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27644:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "27644:18:32" + }, + { + "hexValue": "73207468616e20323420686f757273", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27664:17:32", + "type": "", + "value": "s than 24 hours" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27637:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "27637:45:32" + }, + "nodeType": "YulExpressionStatement", + "src": "27637:45:32" + }, + { + "nodeType": "YulAssignment", + "src": "27691:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27703:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27714:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27699:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "27699:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27691:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_494830ec479ab6e8b10f8d4bf9d46223a57a3e831547c9797d10ffe42993c26a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27464:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27478:4:32", + "type": "" + } + ], + "src": "27313:411:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27903:232:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27920:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27931:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27913:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "27913:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "27913:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27954:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27965:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27950:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "27950:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27970:2:32", + "type": "", + "value": "42" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27943:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "27943:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "27943:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27993:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28004:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27989:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "27989:18:32" + }, + { + "hexValue": "52414841543a2053656e646572204d7573742062652061207265676973746572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28009:34:32", + "type": "", + "value": "RAHAT: Sender Must be a register" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27982:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "27982:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "27982:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28064:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28075:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28060:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "28060:18:32" + }, + { + "hexValue": "65642076656e646f722e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28080:12:32", + "type": "", + "value": "ed vendor." + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28053:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "28053:40:32" + }, + "nodeType": "YulExpressionStatement", + "src": "28053:40:32" + }, + { + "nodeType": "YulAssignment", + "src": "28102:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28114:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28125:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28110:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "28110:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28102:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4f75d619c6e9241d2084c47952ac078e8a65938afbb86936eb24213e1f57428a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27880:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27894:4:32", + "type": "" + } + ], + "src": "27729:406:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28314:224:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28331:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28342:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28324:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "28324:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "28324:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28365:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28376:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28361:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "28361:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28381:2:32", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28354:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "28354:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "28354:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28404:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28415:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28400:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "28400:18:32" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265202773272076616c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28420:34:32", + "type": "", + "value": "ECDSA: invalid signature 's' val" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28393:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "28393:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "28393:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28475:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28486:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28471:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "28471:18:32" + }, + { + "hexValue": "7565", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28491:4:32", + "type": "", + "value": "ue" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28464:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "28464:32:32" + }, + "nodeType": "YulExpressionStatement", + "src": "28464:32:32" + }, + { + "nodeType": "YulAssignment", + "src": "28505:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28517:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28528:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28513:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "28513:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28505:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28291:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28305:4:32", + "type": "" + } + ], + "src": "28140:398:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28717:235:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28734:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28745:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28727:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "28727:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "28727:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28768:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28779:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28764:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "28764:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28784:2:32", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28757:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "28757:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "28757:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28807:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28818:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28803:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "28803:18:32" + }, + { + "hexValue": "52414841543a204e6f20616e7920746f6b656e20776173206973737565642074", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28823:34:32", + "type": "", + "value": "RAHAT: No any token was issued t" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28796:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "28796:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "28796:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28878:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28889:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28874:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "28874:18:32" + }, + { + "hexValue": "6f2074686973206e756d626572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28894:15:32", + "type": "", + "value": "o this number" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28867:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "28867:43:32" + }, + "nodeType": "YulExpressionStatement", + "src": "28867:43:32" + }, + { + "nodeType": "YulAssignment", + "src": "28919:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28931:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28942:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28927:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "28927:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28919:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6ed5bc9c1745a04176b681434ec327f68b5663ee1b4a9caf4e0e88f04797d4af__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28694:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28708:4:32", + "type": "" + } + ], + "src": "28543:409:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29131:181:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29148:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29159:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29141:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "29141:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "29141:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29182:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29193:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29178:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "29178:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29198:2:32", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29171:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "29171:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "29171:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29221:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29232:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29217:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "29217:18:32" + }, + { + "hexValue": "52414841543a2053656e646572206d75737420626520616e2061646d696e2e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "29237:33:32", + "type": "", + "value": "RAHAT: Sender must be an admin." + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29210:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "29210:61:32" + }, + "nodeType": "YulExpressionStatement", + "src": "29210:61:32" + }, + { + "nodeType": "YulAssignment", + "src": "29280:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29292:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29303:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29288:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "29288:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29280:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_7514f88aca4c54d0d6afab23870ec72ecfd57a1311911970b281e4c95040adef__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29108:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29122:4:32", + "type": "" + } + ], + "src": "28957:355:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29491:224:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29508:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29519:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29501:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "29501:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "29501:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29542:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29553:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29538:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "29538:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29558:2:32", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29531:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "29531:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "29531:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29581:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29592:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29577:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "29577:18:32" + }, + { + "hexValue": "45434453413a20696e76616c6964207369676e6174757265202776272076616c", + "kind": "string", + "nodeType": "YulLiteral", + "src": "29597:34:32", + "type": "", + "value": "ECDSA: invalid signature 'v' val" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29570:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "29570:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "29570:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29652:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29663:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29648:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "29648:18:32" + }, + { + "hexValue": "7565", + "kind": "string", + "nodeType": "YulLiteral", + "src": "29668:4:32", + "type": "", + "value": "ue" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29641:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "29641:32:32" + }, + "nodeType": "YulExpressionStatement", + "src": "29641:32:32" + }, + { + "nodeType": "YulAssignment", + "src": "29682:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29694:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29705:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29690:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "29690:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29682:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29468:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29482:4:32", + "type": "" + } + ], + "src": "29317:398:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29894:225:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29911:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29922:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29904:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "29904:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "29904:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29945:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29956:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29941:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "29941:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29961:2:32", + "type": "", + "value": "35" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29934:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "29934:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "29934:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29984:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29995:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29980:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "29980:18:32" + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e2072656c656173", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30000:34:32", + "type": "", + "value": "RAHAT: Claim has not been releas" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29973:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "29973:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "29973:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30055:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30066:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30051:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "30051:18:32" + }, + { + "hexValue": "65642e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30071:5:32", + "type": "", + "value": "ed." + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30044:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "30044:33:32" + }, + "nodeType": "YulExpressionStatement", + "src": "30044:33:32" + }, + { + "nodeType": "YulAssignment", + "src": "30086:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30098:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30109:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30094:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "30094:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30086:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29871:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29885:4:32", + "type": "" + } + ], + "src": "29720:399:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30298:229:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30315:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30326:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30308:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "30308:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "30308:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30349:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30360:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30345:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "30345:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30365:2:32", + "type": "", + "value": "39" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30338:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "30338:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "30338:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30388:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30399:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30384:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "30384:18:32" + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c7265616479206265656e207265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30404:34:32", + "type": "", + "value": "RAHAT: Claim has already been re" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30377:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "30377:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "30377:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30459:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30470:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30455:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "30455:18:32" + }, + { + "hexValue": "6c65617365642e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30475:9:32", + "type": "", + "value": "leased." + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30448:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "30448:37:32" + }, + "nodeType": "YulExpressionStatement", + "src": "30448:37:32" + }, + { + "nodeType": "YulAssignment", + "src": "30494:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30506:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30517:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30502:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "30502:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30494:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b055079e7b3a8550e9102f232cf5ed277c9056128c3f2966105d06854b21a0ef__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30275:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30289:4:32", + "type": "" + } + ], + "src": "30124:403:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30706:225:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30723:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30734:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30716:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "30716:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "30716:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30757:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30768:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30753:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "30753:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30773:2:32", + "type": "", + "value": "35" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30746:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "30746:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "30746:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30796:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30807:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30792:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "30792:18:32" + }, + { + "hexValue": "52414841543a20436c61696d206973206f6c646572207468616e20323420686f", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30812:34:32", + "type": "", + "value": "RAHAT: Claim is older than 24 ho" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30785:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "30785:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "30785:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30867:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30878:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30863:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "30863:18:32" + }, + { + "hexValue": "757273", + "kind": "string", + "nodeType": "YulLiteral", + "src": "30883:5:32", + "type": "", + "value": "urs" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30856:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "30856:33:32" + }, + "nodeType": "YulExpressionStatement", + "src": "30856:33:32" + }, + { + "nodeType": "YulAssignment", + "src": "30898:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "30910:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30921:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30906:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "30906:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "30898:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c812789fe050dbd004401c78ffbd7bed35f2da7c07d9561fb6b59effd4d6049c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "30683:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "30697:4:32", + "type": "" + } + ], + "src": "30532:399:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31110:175:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31127:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31138:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31120:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "31120:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "31120:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31161:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31172:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31157:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "31157:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31177:2:32", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31150:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "31150:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "31150:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31200:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31211:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31196:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "31196:18:32" + }, + { + "hexValue": "52414841543a204f545020646964206e6f74206d617463682e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31216:27:32", + "type": "", + "value": "RAHAT: OTP did not match." + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31189:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "31189:55:32" + }, + "nodeType": "YulExpressionStatement", + "src": "31189:55:32" + }, + { + "nodeType": "YulAssignment", + "src": "31253:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31265:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31276:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31261:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "31261:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31253:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31087:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31101:4:32", + "type": "" + } + ], + "src": "30936:349:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31464:227:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31481:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31492:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31474:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "31474:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "31474:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31515:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31526:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31511:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "31511:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31531:2:32", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31504:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "31504:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "31504:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31554:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31565:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31550:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "31550:18:32" + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e20637265617465", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31570:34:32", + "type": "", + "value": "RAHAT: Claim has not been create" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31543:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "31543:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "31543:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31625:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31636:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31621:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "31621:18:32" + }, + { + "hexValue": "6420796574", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31641:7:32", + "type": "", + "value": "d yet" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31614:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "31614:35:32" + }, + "nodeType": "YulExpressionStatement", + "src": "31614:35:32" + }, + { + "nodeType": "YulAssignment", + "src": "31658:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31670:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31681:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31666:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "31666:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "31658:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_d6db0b8d5b6124dfff7bc16f3229f74173cdfdd7d91661aa8ee91fd4cfab79c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31441:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31455:4:32", + "type": "" + } + ], + "src": "31290:401:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31870:227:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31887:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31898:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31880:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "31880:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "31880:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31921:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31932:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31917:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "31917:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31937:2:32", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31910:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "31910:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "31910:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31960:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31971:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31956:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "31956:18:32" + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d61746368656420776974682073", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31976:34:32", + "type": "", + "value": "Signature did not matched with s" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31949:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "31949:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "31949:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32031:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32042:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32027:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "32027:18:32" + }, + { + "hexValue": "69676e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32047:7:32", + "type": "", + "value": "igner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32020:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "32020:35:32" + }, + "nodeType": "YulExpressionStatement", + "src": "32020:35:32" + }, + { + "nodeType": "YulAssignment", + "src": "32064:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32076:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32087:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32072:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "32072:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32064:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31847:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "31861:4:32", + "type": "" + } + ], + "src": "31696:401:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32276:223:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32293:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32304:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32286:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "32286:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "32286:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32327:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32338:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32323:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "32323:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32343:2:32", + "type": "", + "value": "33" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32316:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "32316:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "32316:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32366:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32377:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32362:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "32362:18:32" + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c72656164792065787069726564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32382:34:32", + "type": "", + "value": "RAHAT: Claim has already expired" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32355:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "32355:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "32355:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32437:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32448:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32433:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "32433:18:32" + }, + { + "hexValue": "2e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32453:3:32", + "type": "", + "value": "." + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32426:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "32426:31:32" + }, + "nodeType": "YulExpressionStatement", + "src": "32426:31:32" + }, + { + "nodeType": "YulAssignment", + "src": "32466:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32478:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32489:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32474:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "32474:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32466:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "32253:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32267:4:32", + "type": "" + } + ], + "src": "32102:397:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32678:250:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32695:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32706:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32688:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "32688:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "32688:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32729:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32740:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32725:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "32725:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32745:2:32", + "type": "", + "value": "60" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32718:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "32718:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "32718:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32768:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32779:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32764:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "32764:18:32" + }, + { + "hexValue": "52414841543a20416d6f756e7420726571756573746564206973206772656174", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32784:34:32", + "type": "", + "value": "RAHAT: Amount requested is great" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32757:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "32757:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "32757:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32839:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32850:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32835:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "32835:18:32" + }, + { + "hexValue": "6572207468616e2062656e65666963696172792062616c616e63652e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "32855:30:32", + "type": "", + "value": "er than beneficiary balance." + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "32828:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "32828:58:32" + }, + "nodeType": "YulExpressionStatement", + "src": "32828:58:32" + }, + { + "nodeType": "YulAssignment", + "src": "32895:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "32907:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32918:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "32903:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "32903:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "32895:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "32655:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "32669:4:32", + "type": "" + } + ], + "src": "32504:424:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33107:237:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33124:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33135:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33117:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "33117:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "33117:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33158:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33169:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33154:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "33154:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33174:2:32", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33147:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "33147:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "33147:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33197:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33208:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33193:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "33193:18:32" + }, + { + "hexValue": "52414841543a20496e76616c696420696e70757420617272617973206f662050", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33213:34:32", + "type": "", + "value": "RAHAT: Invalid input arrays of P" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33186:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "33186:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "33186:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33268:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33279:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33264:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "33264:18:32" + }, + { + "hexValue": "686f6e6520616e6420416d6f756e74", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33284:17:32", + "type": "", + "value": "hone and Amount" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33257:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "33257:45:32" + }, + "nodeType": "YulExpressionStatement", + "src": "33257:45:32" + }, + { + "nodeType": "YulAssignment", + "src": "33311:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33323:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33334:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33319:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "33319:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33311:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33084:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33098:4:32", + "type": "" + } + ], + "src": "32933:411:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33523:237:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33540:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33551:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33533:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "33533:21:32" + }, + "nodeType": "YulExpressionStatement", + "src": "33533:21:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33574:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33585:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33570:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "33570:18:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33590:2:32", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33563:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "33563:30:32" + }, + "nodeType": "YulExpressionStatement", + "src": "33563:30:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33613:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33624:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33609:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "33609:18:32" + }, + { + "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33629:34:32", + "type": "", + "value": "AccessControl: can only renounce" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33602:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "33602:62:32" + }, + "nodeType": "YulExpressionStatement", + "src": "33602:62:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33684:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33695:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33680:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "33680:18:32" + }, + { + "hexValue": "20726f6c657320666f722073656c66", + "kind": "string", + "nodeType": "YulLiteral", + "src": "33700:17:32", + "type": "", + "value": " roles for self" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33673:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "33673:45:32" + }, + "nodeType": "YulExpressionStatement", + "src": "33673:45:32" + }, + { + "nodeType": "YulAssignment", + "src": "33727:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33739:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33750:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33735:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "33735:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33727:4:32" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33500:9:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33514:4:32", + "type": "" + } + ], + "src": "33349:411:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33866:76:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "33876:26:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33888:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33899:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "33884:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "33884:18:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "33876:4:32" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "33918:9:32" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "33929:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "33911:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "33911:25:32" + }, + "nodeType": "YulExpressionStatement", + "src": "33911:25:32" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "33835:9:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "33846:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "33857:4:32", + "type": "" + } + ], + "src": "33765:177:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34126:222:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34136:27:32", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34148:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34159:3:32", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34144:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34144:19:32" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "34136:4:32" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34179:9:32" + }, + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "34190:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34172:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "34172:25:32" + }, + "nodeType": "YulExpressionStatement", + "src": "34172:25:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34217:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34228:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34213:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34213:18:32" + }, + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "34233:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34206:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "34206:34:32" + }, + "nodeType": "YulExpressionStatement", + "src": "34206:34:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34260:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34271:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34256:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34256:18:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "34290:6:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "34283:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "34283:14:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "34276:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "34276:22:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34249:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "34249:50:32" + }, + "nodeType": "YulExpressionStatement", + "src": "34249:50:32" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "34319:9:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34330:2:32", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34315:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34315:18:32" + }, + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "34335:6:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34308:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "34308:34:32" + }, + "nodeType": "YulExpressionStatement", + "src": "34308:34:32" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_bytes32_t_bool_t_uint256__to_t_uint256_t_bytes32_t_bool_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "34071:9:32", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "34082:6:32", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "34090:6:32", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "34098:6:32", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "34106:6:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "34117:4:32", + "type": "" + } + ], + "src": "33947:401:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34398:230:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "34408:19:32", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34424:2:32", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "34418:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "34418:9:32" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34408:6:32" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "34436:58:32", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34458:6:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "34474:4:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34480:2:32", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34470:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34470:13:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34489:2:32", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "34485:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34485:7:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "34466:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34466:27:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34454:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34454:40:32" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "34440:10:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34569:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "34571:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "34571:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "34571:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "34512:10:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34524:18:32", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "34509:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "34509:34:32" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "34548:10:32" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "34560:6:32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "34545:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "34545:22:32" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "34506:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "34506:62:32" + }, + "nodeType": "YulIf", + "src": "34503:88:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34607:2:32", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "34611:10:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "34600:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "34600:22:32" + }, + "nodeType": "YulExpressionStatement", + "src": "34600:22:32" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "34378:4:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "34387:6:32", + "type": "" + } + ], + "src": "34353:275:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34681:80:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "34708:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "34710:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "34710:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "34710:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "34697:1:32" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "34704:1:32" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "34700:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34700:6:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "34694:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "34694:13:32" + }, + "nodeType": "YulIf", + "src": "34691:39:32" + }, + { + "nodeType": "YulAssignment", + "src": "34739:16:32", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "34750:1:32" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "34753:1:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "34746:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34746:9:32" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "34739:3:32" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "34664:1:32", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "34667:1:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "34673:3:32", + "type": "" + } + ], + "src": "34633:128:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34812:74:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "34835:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x12", + "nodeType": "YulIdentifier", + "src": "34837:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "34837:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "34837:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "34832:1:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "34825:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "34825:9:32" + }, + "nodeType": "YulIf", + "src": "34822:35:32" + }, + { + "nodeType": "YulAssignment", + "src": "34866:14:32", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "34875:1:32" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "34878:1:32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "34871:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34871:9:32" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "34866:1:32" + } + ] + } + ] + }, + "name": "checked_div_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "34797:1:32", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "34800:1:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "34806:1:32", + "type": "" + } + ], + "src": "34766:120:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "34943:116:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "35002:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "35004:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "35004:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "35004:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "34974:1:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "34967:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "34967:9:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "34960:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "34960:17:32" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "34982:1:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "34993:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "34989:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34989:6:32" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "34997:1:32" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "34985:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34985:14:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "34979:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "34979:21:32" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "34956:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "34956:45:32" + }, + "nodeType": "YulIf", + "src": "34953:71:32" + }, + { + "nodeType": "YulAssignment", + "src": "35033:20:32", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "35048:1:32" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "35051:1:32" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "35044:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "35044:9:32" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "35033:7:32" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "34922:1:32", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "34925:1:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "34931:7:32", + "type": "" + } + ], + "src": "34891:168:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35113:76:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "35135:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "35137:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "35137:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "35137:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "35129:1:32" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "35132:1:32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "35126:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "35126:8:32" + }, + "nodeType": "YulIf", + "src": "35123:34:32" + }, + { + "nodeType": "YulAssignment", + "src": "35166:17:32", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "35178:1:32" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "35181:1:32" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "35174:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "35174:9:32" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "35166:4:32" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "35095:1:32", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "35098:1:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "35104:4:32", + "type": "" + } + ], + "src": "35064:125:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35247:205:32", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "35257:10:32", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35266:1:32", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "35261:1:32", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35326:63:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "35351:3:32" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "35356:1:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35347:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "35347:11:32" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "35370:3:32" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "35375:1:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35366:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "35366:11:32" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "35360:5:32" + }, + "nodeType": "YulFunctionCall", + "src": "35360:18:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35340:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "35340:39:32" + }, + "nodeType": "YulExpressionStatement", + "src": "35340:39:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "35287:1:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "35290:6:32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "35284:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "35284:13:32" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "35298:19:32", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "35300:15:32", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "35309:1:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35312:2:32", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35305:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "35305:10:32" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "35300:1:32" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "35280:3:32", + "statements": [] + }, + "src": "35276:113:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35415:31:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "35428:3:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "35433:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35424:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "35424:16:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35442:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35417:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "35417:27:32" + }, + "nodeType": "YulExpressionStatement", + "src": "35417:27:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "35404:1:32" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "35407:6:32" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "35401:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "35401:13:32" + }, + "nodeType": "YulIf", + "src": "35398:48:32" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "35225:3:32", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "35230:3:32", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "35235:6:32", + "type": "" + } + ], + "src": "35194:258:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35504:89:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "35531:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "35533:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "35533:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "35533:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "35524:5:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "35517:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "35517:13:32" + }, + "nodeType": "YulIf", + "src": "35514:39:32" + }, + { + "nodeType": "YulAssignment", + "src": "35562:25:32", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "35573:5:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35584:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "35580:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "35580:6:32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35569:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "35569:18:32" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "35562:3:32" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "35486:5:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "35496:3:32", + "type": "" + } + ], + "src": "35457:136:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35645:88:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "35676:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "35678:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "35678:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "35678:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "35661:5:32" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35672:1:32", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "35668:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "35668:6:32" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "35658:2:32" + }, + "nodeType": "YulFunctionCall", + "src": "35658:17:32" + }, + "nodeType": "YulIf", + "src": "35655:43:32" + }, + { + "nodeType": "YulAssignment", + "src": "35707:20:32", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "35718:5:32" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35725:1:32", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "35714:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "35714:13:32" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "35707:3:32" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "35627:5:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "35637:3:32", + "type": "" + } + ], + "src": "35598:135:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35776:74:32", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "35799:22:32", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x12", + "nodeType": "YulIdentifier", + "src": "35801:16:32" + }, + "nodeType": "YulFunctionCall", + "src": "35801:18:32" + }, + "nodeType": "YulExpressionStatement", + "src": "35801:18:32" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "35796:1:32" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "35789:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "35789:9:32" + }, + "nodeType": "YulIf", + "src": "35786:35:32" + }, + { + "nodeType": "YulAssignment", + "src": "35830:14:32", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "35839:1:32" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "35842:1:32" + } + ], + "functionName": { + "name": "mod", + "nodeType": "YulIdentifier", + "src": "35835:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "35835:9:32" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "35830:1:32" + } + ] + } + ] + }, + "name": "mod_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "35761:1:32", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "35764:1:32", + "type": "" + } + ], + "returnVariables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "35770:1:32", + "type": "" + } + ], + "src": "35738:112:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "35887:95:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35904:1:32", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35911:3:32", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35916:10:32", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "35907:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "35907:20:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35897:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "35897:31:32" + }, + "nodeType": "YulExpressionStatement", + "src": "35897:31:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35944:1:32", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35947:4:32", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "35937:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "35937:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "35937:15:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35968:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "35971:4:32", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "35961:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "35961:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "35961:15:32" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "35855:127:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36019:95:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36036:1:32", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36043:3:32", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36048:10:32", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "36039:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "36039:20:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36029:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "36029:31:32" + }, + "nodeType": "YulExpressionStatement", + "src": "36029:31:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36076:1:32", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36079:4:32", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36069:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "36069:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "36069:15:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36100:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36103:4:32", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "36093:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "36093:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "36093:15:32" + } + ] + }, + "name": "panic_error_0x12", + "nodeType": "YulFunctionDefinition", + "src": "35987:127:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36151:95:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36168:1:32", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36175:3:32", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36180:10:32", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "36171:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "36171:20:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36161:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "36161:31:32" + }, + "nodeType": "YulExpressionStatement", + "src": "36161:31:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36208:1:32", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36211:4:32", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36201:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "36201:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "36201:15:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36232:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36235:4:32", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "36225:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "36225:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "36225:15:32" + } + ] + }, + "name": "panic_error_0x21", + "nodeType": "YulFunctionDefinition", + "src": "36119:127:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36283:95:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36300:1:32", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36307:3:32", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36312:10:32", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "36303:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "36303:20:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36293:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "36293:31:32" + }, + "nodeType": "YulExpressionStatement", + "src": "36293:31:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36340:1:32", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36343:4:32", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36333:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "36333:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "36333:15:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36364:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36367:4:32", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "36357:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "36357:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "36357:15:32" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "36251:127:32" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "36415:95:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36432:1:32", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36439:3:32", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36444:10:32", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nodeType": "YulIdentifier", + "src": "36435:3:32" + }, + "nodeType": "YulFunctionCall", + "src": "36435:20:32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36425:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "36425:31:32" + }, + "nodeType": "YulExpressionStatement", + "src": "36425:31:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36472:1:32", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36475:4:32", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "36465:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "36465:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "36465:15:32" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36496:1:32", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "36499:4:32", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "36489:6:32" + }, + "nodeType": "YulFunctionCall", + "src": "36489:15:32" + }, + "nodeType": "YulExpressionStatement", + "src": "36489:15:32" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "36383:127:32" + } + ] + }, + "contents": "{\n { }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_array_uint256_dyn(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0x20\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let _3 := shl(5, _1)\n let dst := allocate_memory(add(_3, _2))\n let dst_1 := dst\n mstore(dst, _1)\n dst := add(dst, _2)\n let src := add(offset, _2)\n if gt(add(add(offset, _3), _2), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, 1) }\n {\n mstore(dst, calldataload(src))\n dst := add(dst, _2)\n src := add(src, _2)\n }\n array := dst_1\n }\n function abi_decode_bytes(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n if gt(_1, 0xffffffffffffffff) { panic_error_0x41() }\n let array_1 := allocate_memory(add(and(add(_1, 0x1f), not(31)), 0x20))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n calldatacopy(add(array_1, 0x20), add(offset, 0x20), _1)\n mstore(add(add(array_1, _1), 0x20), 0)\n array := array_1\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_decode_tuple_t_addresst_addresst_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n let offset := calldataload(add(headStart, 64))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value2 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 96))\n if gt(offset_1, _1) { revert(0, 0) }\n value3 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 128))\n if gt(offset_2, _1) { revert(0, 0) }\n value4 := abi_decode_bytes(add(headStart, offset_2), dataEnd)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256t_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n let offset := calldataload(add(headStart, 128))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value4 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_addresst_bytes32(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_bytes32t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_addresst_bytes_memory_ptrt_string_memory_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_bytes(add(headStart, offset_1), dataEnd)\n value3 := calldataload(add(headStart, 96))\n value4 := calldataload(add(headStart, 128))\n }\n function abi_decode_tuple_t_addresst_bytes_memory_ptrt_string_memory_ptrt_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_bytes(add(headStart, offset_1), dataEnd)\n value3 := calldataload(add(headStart, 96))\n value4 := calldataload(add(headStart, 128))\n value5 := calldataload(add(headStart, 160))\n }\n function abi_decode_tuple_t_addresst_bytes_memory_ptrt_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n value2 := calldataload(add(headStart, 64))\n let offset_1 := calldataload(add(headStart, 96))\n if gt(offset_1, _1) { revert(0, 0) }\n value3 := abi_decode_bytes(add(headStart, offset_1), dataEnd)\n }\n function abi_decode_tuple_t_addresst_bytes_memory_ptrt_uint256t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n value2 := calldataload(add(headStart, 64))\n let offset_1 := calldataload(add(headStart, 96))\n if gt(offset_1, _1) { revert(0, 0) }\n value3 := abi_decode_bytes(add(headStart, offset_1), dataEnd)\n value4 := calldataload(add(headStart, 128))\n }\n function abi_decode_tuple_t_addresst_bytes_memory_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n }\n function abi_decode_tuple_t_addresst_bytes_memory_ptrt_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n value4 := calldataload(add(headStart, 128))\n }\n function abi_decode_tuple_t_addresst_string_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_uint256t_bytes32t_uint256(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n }\n function abi_decode_tuple_t_addresst_uint256t_bytes32t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n value3 := calldataload(add(headStart, 96))\n value4 := calldataload(add(headStart, 128))\n }\n function abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_array_uint256_dyn(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_bytes32t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n value0 := value\n }\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_string_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n value2 := abi_decode_array_uint256_dyn(add(headStart, offset_2), dataEnd)\n }\n function abi_decode_tuple_t_string_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n value2 := abi_decode_array_uint256_dyn(add(headStart, offset_2), dataEnd)\n value3 := calldataload(add(headStart, 96))\n }\n function abi_decode_tuple_t_string_memory_ptrt_uint256t_array$_t_uint256_$dyn_memory_ptrt_array$_t_uint256_$dyn_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_array_uint256_dyn(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n value3 := abi_decode_array_uint256_dyn(add(headStart, offset_2), dataEnd)\n }\n function abi_decode_tuple_t_string_memory_ptrt_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_bytes(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_uint256t_bytes32(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_uint256t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_bytes(add(headStart, offset), dataEnd)\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_uint256t_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_encode_array_uint256_dyn(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let _1 := 0x20\n pos := add(pos, _1)\n let srcPtr := add(value, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n end := pos\n }\n function abi_encode_tuple_packed_t_address_t_bytes32_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__to_t_address_t_bytes32_t_uint256_t_string_memory_ptr_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed(pos, value5, value4, value3, value2, value1, value0) -> end\n {\n mstore(pos, and(shl(96, value0), not(0xffffffffffffffffffffffff)))\n mstore(add(pos, 20), value1)\n mstore(add(pos, 52), value2)\n let length := mload(value3)\n copy_memory_to_memory(add(value3, 0x20), add(pos, 84), length)\n let _1 := add(pos, length)\n mstore(add(_1, 84), value4)\n mstore(add(_1, 116), value5)\n end := add(_1, 148)\n }\n function abi_encode_tuple_packed_t_address_t_bytes32_t_uint256_t_uint256_t_string_memory_ptr__to_t_address_t_bytes32_t_uint256_t_uint256_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value4, value3, value2, value1, value0) -> end\n {\n mstore(pos, and(shl(96, value0), not(0xffffffffffffffffffffffff)))\n mstore(add(pos, 20), value1)\n mstore(add(pos, 52), value2)\n mstore(add(pos, 84), value3)\n let length := mload(value4)\n copy_memory_to_memory(add(value4, 0x20), add(pos, 116), length)\n end := add(add(pos, length), 116)\n }\n function abi_encode_tuple_packed_t_address_t_bytes32_t_uint256_t_uint256_t_string_memory_ptr_t_uint256__to_t_address_t_bytes32_t_uint256_t_uint256_t_string_memory_ptr_t_uint256__nonPadded_inplace_fromStack_reversed(pos, value5, value4, value3, value2, value1, value0) -> end\n {\n mstore(pos, and(shl(96, value0), not(0xffffffffffffffffffffffff)))\n mstore(add(pos, 20), value1)\n mstore(add(pos, 52), value2)\n mstore(add(pos, 84), value3)\n let length := mload(value4)\n copy_memory_to_memory(add(value4, 0x20), add(pos, 116), length)\n let _1 := add(pos, length)\n mstore(add(_1, 116), value5)\n end := add(_1, 148)\n }\n function abi_encode_tuple_packed_t_address_t_bytes32_t_uint256_t_uint256_t_uint256__to_t_address_t_bytes32_t_uint256_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed(pos, value4, value3, value2, value1, value0) -> end\n {\n mstore(pos, and(shl(96, value0), not(0xffffffffffffffffffffffff)))\n mstore(add(pos, 20), value1)\n mstore(add(pos, 52), value2)\n mstore(add(pos, 84), value3)\n mstore(add(pos, 116), value4)\n end := add(pos, 148)\n }\n function abi_encode_tuple_packed_t_address_t_bytes32_t_uint256_t_uint256_t_uint256_t_uint256__to_t_address_t_bytes32_t_uint256_t_uint256_t_uint256_t_uint256__nonPadded_inplace_fromStack_reversed(pos, value5, value4, value3, value2, value1, value0) -> end\n {\n mstore(pos, and(shl(96, value0), not(0xffffffffffffffffffffffff)))\n mstore(add(pos, 20), value1)\n mstore(add(pos, 52), value2)\n mstore(add(pos, 84), value3)\n mstore(add(pos, 116), value4)\n mstore(add(pos, 148), value5)\n end := add(pos, 180)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n mstore(pos, \"AccessControl: account \")\n let length := mload(value0)\n copy_memory_to_memory(add(value0, 0x20), add(pos, 23), length)\n let _1 := add(pos, length)\n mstore(add(_1, 23), \" is missing role \")\n let length_1 := mload(value1)\n copy_memory_to_memory(add(value1, 0x20), add(_1, 40), length_1)\n end := add(add(_1, length_1), 40)\n }\n function abi_encode_tuple_t_address_t_address_t_uint256_t_uint256_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_address_t_address_t_uint256_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), 160)\n mstore(add(headStart, 160), 0)\n tail := add(headStart, 192)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\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 {\n mstore(headStart, 32)\n tail := abi_encode_array_uint256_dyn(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n let tail_1 := abi_encode_array_uint256_dyn(value0, add(headStart, 64))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_array_uint256_dyn(value1, tail_1)\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_bytes32_t_uint8_t_bytes32_t_bytes32__to_t_bytes32_t_uint8_t_bytes32_t_bytes32__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), and(value1, 0xff))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n }\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, shl(224, 0xffffffff)))\n }\n function abi_encode_tuple_t_contract$_RahatERC1155_$8866__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_contract$_RahatERC20_$8969__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n copy_memory_to_memory(add(value0, 32), add(headStart, 64), length)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_encode_tuple_t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"ECDSA: invalid signature\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 32)\n mstore(add(headStart, 64), \"Strings: hex length insufficient\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 54)\n mstore(add(headStart, 64), \"RAHAT: Amount is greater than re\")\n mstore(add(headStart, 96), \"maining Project Budget\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ECDSA: invalid signature length\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_365ba3947c2bf2b10dc335d80037be4b757978e5f1fd7be5c3a47295c3dea668__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 54)\n mstore(add(headStart, 64), \"RAHAT: Sender Must be a register\")\n mstore(add(headStart, 96), \"ed Admin Or Mobilizer.\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_3abced3b2cbee5ea1b046b545c47d2713c9ee0c5b224ee552a1c226fdd69a6fe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Signer should be Mobilizer\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3c7443c6504f83de40c401595df36f2167c7a538b21a822874bf48b0e8a2b0f6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"RAHAT: Sender must be an authori\")\n mstore(add(headStart, 96), \"zed server\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_494830ec479ab6e8b10f8d4bf9d46223a57a3e831547c9797d10ffe42993c26a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"RAHAT:Time To Live should be les\")\n mstore(add(headStart, 96), \"s than 24 hours\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_4f75d619c6e9241d2084c47952ac078e8a65938afbb86936eb24213e1f57428a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 42)\n mstore(add(headStart, 64), \"RAHAT: Sender Must be a register\")\n mstore(add(headStart, 96), \"ed vendor.\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ECDSA: invalid signature 's' val\")\n mstore(add(headStart, 96), \"ue\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_6ed5bc9c1745a04176b681434ec327f68b5663ee1b4a9caf4e0e88f04797d4af__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"RAHAT: No any token was issued t\")\n mstore(add(headStart, 96), \"o this number\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_7514f88aca4c54d0d6afab23870ec72ecfd57a1311911970b281e4c95040adef__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"RAHAT: Sender must be an admin.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_8522ee1b53216f595394db8e80a64d9e7d9bd512c0811c18debe9f40858597e4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 34)\n mstore(add(headStart, 64), \"ECDSA: invalid signature 'v' val\")\n mstore(add(headStart, 96), \"ue\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"RAHAT: Claim has not been releas\")\n mstore(add(headStart, 96), \"ed.\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_b055079e7b3a8550e9102f232cf5ed277c9056128c3f2966105d06854b21a0ef__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 39)\n mstore(add(headStart, 64), \"RAHAT: Claim has already been re\")\n mstore(add(headStart, 96), \"leased.\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_c812789fe050dbd004401c78ffbd7bed35f2da7c07d9561fb6b59effd4d6049c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 35)\n mstore(add(headStart, 64), \"RAHAT: Claim is older than 24 ho\")\n mstore(add(headStart, 96), \"urs\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"RAHAT: OTP did not match.\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_d6db0b8d5b6124dfff7bc16f3229f74173cdfdd7d91661aa8ee91fd4cfab79c2__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"RAHAT: Claim has not been create\")\n mstore(add(headStart, 96), \"d yet\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 37)\n mstore(add(headStart, 64), \"Signature did not matched with s\")\n mstore(add(headStart, 96), \"igner\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 33)\n mstore(add(headStart, 64), \"RAHAT: Claim has already expired\")\n mstore(add(headStart, 96), \".\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 60)\n mstore(add(headStart, 64), \"RAHAT: Amount requested is great\")\n mstore(add(headStart, 96), \"er than beneficiary balance.\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"RAHAT: Invalid input arrays of P\")\n mstore(add(headStart, 96), \"hone and Amount\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 47)\n mstore(add(headStart, 64), \"AccessControl: can only renounce\")\n mstore(add(headStart, 96), \" roles for self\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_uint256_t_bytes32_t_bool_t_uint256__to_t_uint256_t_bytes32_t_bool_t_uint256__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n tail := add(headStart, 128)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), iszero(iszero(value2)))\n mstore(add(headStart, 96), value3)\n }\n function allocate_memory(size) -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(size, 31), not(31)))\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n if gt(x, not(y)) { panic_error_0x11() }\n sum := add(x, y)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := div(x, y)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n if and(iszero(iszero(x)), gt(y, div(not(0), x))) { panic_error_0x11() }\n product := mul(x, y)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n if lt(x, y) { panic_error_0x11() }\n diff := sub(x, y)\n }\n function copy_memory_to_memory(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length) { mstore(add(dst, length), 0) }\n }\n function decrement_t_uint256(value) -> ret\n {\n if iszero(value) { panic_error_0x11() }\n ret := add(value, not(0))\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\n }\n function mod_t_uint256(x, y) -> r\n {\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function panic_error_0x12()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n function panic_error_0x21()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n}", + "id": 32, + "language": "Yul", + "name": "#utility.yul" + } + ], + "sourceMap": "331:30655:27:-:0;;;3802:347;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3877:41;1997:4:0;3908:9:27;3877:10;:41::i;:::-;3923:38;1997:4:0;3954:6:27;3923:10;:38::i;:::-;3966:46;-1:-1:-1;;;;;;;;;;;1997:4:0;3966:13:27;:46::i;:::-;4017;1686:19;1997:4:0;4017:13:27;:46::i;:::-;4068:34;-1:-1:-1;;;;;;;;;;;4091:10:27;4068:9;:34::i;:::-;-1:-1:-1;4107:5:27;:14;;-1:-1:-1;;;;;4107:14:27;;;-1:-1:-1;;;;;;4107:14:27;;;;;;;4126:7;:18;;;;;;;;;;;331:30655;;6084:110:0;6162:25;6173:4;6179:7;6162:10;:25::i;:::-;6084:110;;:::o;6319:247::-;6402:25;4009:12;;;;;;;;;;;:22;;;;6458:34;;;;6507:52;;4009:22;;6458:34;;4009:22;;:12;;6507:52;;6402:25;6507:52;6392:174;6319:247;;:::o;4288:145::-;3983:7;4009:12;;;;;;;;;;:22;;;2430:30;2441:4;666:10:18;2430::0;:30::i;:::-;4401:25:::1;4412:4:::0;4418:7;4401:10:::1;:25::i;:::-;4288:145:::0;;;:::o;6572:224::-;2912:4;2935:12;;;;;;;;;;;-1:-1:-1;;;;;2935:29:0;;;;;;;;;;;;6641:149;;6684:6;:12;;;;;;;;;;;-1:-1:-1;;;;;6684:29:0;;;;;;;;;:36;;-1:-1:-1;;6684:36:0;6716:4;6684:36;;;6766:12;666:10:18;;587:96;6766:12:0;-1:-1:-1;;;;;6739:40:0;6757:7;-1:-1:-1;;;;;6739:40:0;6751:4;6739:40;;;;;;;;;;6572:224;;:::o;3252:484::-;2912:4;2935:12;;;;;;;;;;;-1:-1:-1;;;;;2935:29:0;;;;;;;;;;;;3327:403;;3515:41;3543:7;-1:-1:-1;;;;;3515:41:0;3553:2;3515:19;;;;;:41;;:::i;:::-;3627:38;3655:4;3662:2;3627:19;;;;;:38;;:::i;:::-;3422:265;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3422:265:0;;;;;;;;;;-1:-1:-1;;;3370:349:0;;;;;;;:::i;:::-;;;;;;;;1535:441:20;1610:13;1635:19;1667:10;1671:6;1667:1;:10;:::i;:::-;:14;;1680:1;1667:14;:::i;:::-;-1:-1:-1;;;;;1657:25:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1657:25:20;;1635:47;;-1:-1:-1;;;1692:6:20;1699:1;1692:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1692:15:20;;;;;;;;;-1:-1:-1;;;1717:6:20;1724:1;1717:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1717:15:20;;;;;;;;-1:-1:-1;1747:9:20;1759:10;1763:6;1759:1;:10;:::i;:::-;:14;;1772:1;1759:14;:::i;:::-;1747:26;;1742:132;1779:1;1775;:5;1742:132;;;-1:-1:-1;;;1826:5:20;1834:3;1826:11;1813:25;;;;;;;:::i;:::-;;;;1801:6;1808:1;1801:9;;;;;;;;:::i;:::-;;;;:37;-1:-1:-1;;;;;1801:37:20;;;;;;;;-1:-1:-1;1862:1:20;1852:11;;;;;1782:3;;;:::i;:::-;;;1742:132;;;-1:-1:-1;1891:10:20;;1883:55;;;;-1:-1:-1;;;1883:55:20;;1959:2:32;1883:55:20;;;1941:21:32;;;1978:18;;;1971:30;2037:34;2017:18;;;2010:62;2089:18;;1883:55:20;1757:356:32;1883:55:20;1962:6;1535:441;-1:-1:-1;;;1535:441:20:o;14:559:32:-;142:6;150;158;211:2;199:9;190:7;186:23;182:32;179:52;;;227:1;224;217:12;179:52;259:9;253:16;278:31;303:5;278:31;:::i;:::-;378:2;363:18;;357:25;328:5;;-1:-1:-1;391:33:32;357:25;391:33;:::i;:::-;495:2;480:18;;474:25;443:7;;-1:-1:-1;508:33:32;474:25;508:33;:::i;:::-;560:7;550:17;;;14:559;;;;;:::o;578:786::-;989:25;984:3;977:38;959:3;1044:6;1038:13;1060:62;1115:6;1110:2;1105:3;1101:12;1094:4;1086:6;1082:17;1060:62;:::i;:::-;-1:-1:-1;;;1181:2:32;1141:16;;;1173:11;;;1166:40;1231:13;;1253:63;1231:13;1302:2;1294:11;;1287:4;1275:17;;1253:63;:::i;:::-;1336:17;1355:2;1332:26;;578:786;-1:-1:-1;;;;578:786:32:o;1369:383::-;1518:2;1507:9;1500:21;1481:4;1550:6;1544:13;1593:6;1588:2;1577:9;1573:18;1566:34;1609:66;1668:6;1663:2;1652:9;1648:18;1643:2;1635:6;1631:15;1609:66;:::i;:::-;1736:2;1715:15;-1:-1:-1;;1711:29:32;1696:45;;;;1743:2;1692:54;;1369:383;-1:-1:-1;;1369:383:32:o;2118:128::-;2158:3;2189:1;2185:6;2182:1;2179:13;2176:39;;;2195:18;;:::i;:::-;-1:-1:-1;2231:9:32;;2118:128::o;2251:168::-;2291:7;2357:1;2353;2349:6;2345:14;2342:1;2339:21;2334:1;2327:9;2320:17;2316:45;2313:71;;;2364:18;;:::i;:::-;-1:-1:-1;2404:9:32;;2251:168::o;2424:258::-;2496:1;2506:113;2520:6;2517:1;2514:13;2506:113;;;2596:11;;;2590:18;2577:11;;;2570:39;2542:2;2535:10;2506:113;;;2637:6;2634:1;2631:13;2628:48;;;2672:1;2663:6;2658:3;2654:16;2647:27;2628:48;;2424:258;;;:::o;2687:136::-;2726:3;2754:5;2744:39;;2763:18;;:::i;:::-;-1:-1:-1;;;2799:18:32;;2687:136::o;2828:127::-;2889:10;2884:3;2880:20;2877:1;2870:31;2920:4;2917:1;2910:15;2944:4;2941:1;2934:15;2960:127;3021:10;3016:3;3012:20;3009:1;3002:31;3052:4;3049:1;3042:15;3076:4;3073:1;3066:15;3092:127;3153:10;3148:3;3144:20;3141:1;3134:31;3184:4;3181:1;3174:15;3208:4;3205:1;3198:15;3224:131;-1:-1:-1;;;;;3299:31:32;;3289:42;;3279:70;;3345:1;3342;3335:12;3279:70;3224:131;:::o;:::-;331:30655:27;;;;;;", + "deployedSourceMap": "331:30655:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4161:176;;;;;;:::i;:::-;;:::i;:::-;;;22964:14:32;;22957:22;22939:41;;22927:2;22912:18;4161:176:27;;;;;;;;8447:41;;2349:46;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;23137:25:32;;;23125:2;23110:18;2349:46:27;22991:177:32;11328:180:27;;;;;;:::i;:::-;;:::i;1587:57::-;;-1:-1:-1;;;;;;;;;;;1587:57:27;;3206:48;;;;;;:::i;:::-;;;;;;;;;;;;;;1971:79;;2019:31;1971:79;;3917:121:0;;;;;;:::i;:::-;3983:7;4009:12;;;;;;;;;;:22;;;;3917:121;18369:729:27;;;;;;:::i;:::-;;:::i;16363:931::-;;;;;;:::i;:::-;;:::i;25315:712::-;;;;;;:::i;:::-;;:::i;10531:173::-;;;;;;:::i;:::-;;:::i;8706:297::-;;;;;;:::i;:::-;;:::i;23252:715::-;;;;;;:::i;:::-;;:::i;4288:145:0:-;;;;;;:::i;:::-;;:::i;3670:92:27:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;34172:25:32;;;34228:2;34213:18;;34206:34;;;;34283:14;;34276:22;34256:18;;;34249:50;;;;34330:2;34315:18;;34308:34;34159:3;34144:19;3670:92:27;33947:401:32;9713:287:27;;;;;;:::i;:::-;;:::i;30795:188::-;;;;;;:::i;:::-;;:::i;2715:68::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;2647:47;;;;;;:::i;:::-;;;;;;;;;;;;;;5305:214:0;;;;;;:::i;:::-;;:::i;11764:174:27:-;;;;;;:::i;:::-;11851:16;11881:43;;;:31;:43;;;;;;;;:52;;;;;;;;;;11764:174;5659:86;;;;;;:::i;:::-;;:::i;8065:158::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;30563:132::-;;;;;;:::i;:::-;;:::i;1772:63::-;;-1:-1:-1;;;;;;;;;;;1772:63:27;;10054:265;;;;;;:::i;:::-;;:::i;13560:1002::-;;;;;;:::i;:::-;;:::i;5494:86::-;;;;;;:::i;:::-;;:::i;17555:551::-;;;;;;:::i;:::-;;:::i;21975:902::-;;;;;;:::i;:::-;;:::i;5290:92::-;;;;;;:::i;:::-;;:::i;30325:120::-;;;;;;:::i;:::-;;:::i;19929:479::-;;;;;;:::i;:::-;;:::i;2211:23::-;;;;;-1:-1:-1;;;;;2211:23:27;;;;;;-1:-1:-1;;;;;23968:32:32;;;23950:51;;23938:2;23923:18;2211:23:27;23783:224:32;2063:38:27;;;;;;:::i;:::-;;;;;;;;;;;;;;3345:69;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;24376:729;;;;;;:::i;:::-;;:::i;10920:153::-;;;;;;:::i;:::-;;:::i;15005:864::-;;;;;;:::i;:::-;;:::i;1839:61::-;;-1:-1:-1;;;;;;;;;;;1839:61:27;;29006:1202;;;;;;:::i;:::-;;:::i;2834:137:0:-;;;;;;:::i;:::-;;:::i;1648:57:27:-;;-1:-1:-1;;;;;;;;;;;1648:57:27;;1904:63;;-1:-1:-1;;;;;;;;;;;1904:63:27;;19282:445;;;;;;:::i;:::-;;:::i;6711:670::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1952:49:0:-;;1997:4;1952:49;;7387:668:27;;;;;;:::i;:::-;;:::i;404:247:9:-;;;;;;:::i;:::-;-1:-1:-1;;;404:247:9;;;;;;;;;;;-1:-1:-1;;;;;;23738:33:32;;;23720:52;;23708:2;23693:18;404:247:9;23576:202:32;9397:258:27;;;;;;:::i;:::-;;:::i;26276:781::-;;;;;;:::i;:::-;;:::i;12683:597::-;;;;;;:::i;:::-;;:::i;20753:837::-;;;;;;:::i;:::-;;:::i;2419:67::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;11562:146;;;;;;:::i;:::-;11632:16;11662:41;;;:29;:41;;;;;;;11562:146;6037:668;;;;;;:::i;:::-;;:::i;3596:70::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4667:147:0;;;;;;:::i;:::-;;:::i;2241:27:27:-;;;;;-1:-1:-1;;;;;2241:27:27;;;5828:203;;;;;;:::i;:::-;;:::i;1709:59::-;;1748:20;1709:59;;179:219:9;;;;;;:::i;:::-;-1:-1:-1;;;179:219:9;;;;;;;;8235:154:27;;;;;;:::i;:::-;;:::i;27448:1130::-;;;;;;:::i;:::-;;:::i;9054:289::-;;;;;;:::i;:::-;;:::i;4161:176::-;4277:4;4297:36;4321:11;4297:23;:36::i;:::-;4290:43;4161:176;-1:-1:-1;;4161:176:27:o;11328:180::-;11432:43;;;;:31;:43;;;;;;;;:52;;;;;;;;:71;;11488:15;;11432:43;:71;;11488:15;;11432:71;:::i;:::-;;;;-1:-1:-1;;;;;11328:180:27:o;18369:729::-;4536:39;1997:4:0;4564:10:27;4536:7;:39::i;:::-;4528:83;;;;-1:-1:-1;;;4528:83:27;;;;;;;:::i;:::-;;;;;;;;;18557:7:::1;:14;18540:6;:13;:31;18532:91;;;;-1:-1:-1::0;;;18532:91:27::1;;;;;;;:::i;:::-;18628:9;18642:11:::0;18656:20:::1;18668:7;18656:11;:20::i;:::-;18642:34;;18681:11;18695:20;18704:10;18695:8;:20::i;:::-;18730:36;::::0;;;:31:::1;:36;::::0;;;;;;;:46;;;;;;;;;18681:34;;-1:-1:-1;18730:53:27;-1:-1:-1;18730:53:27::1;18722:120;;;;-1:-1:-1::0;;;18722:120:27::1;;;;;;;:::i;:::-;18858:1;18854:5;;18849:245;18865:6;:13;18861:1;:17;18849:245;;;18915:13;::::0;;18926:1:::1;18915:13:::0;;;;;::::1;::::0;;;18894:18:::1;::::0;18915:13:::1;::::0;;::::1;::::0;;::::1;::::0;::::1;-1:-1:-1::0;;18958:13:27::1;::::0;;18969:1:::1;18958:13:::0;;;;;::::1;::::0;;;18894:34;;-1:-1:-1;18937:18:27::1;::::0;18958:13;-1:-1:-1;18958:13:27::1;::::0;;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;18958:13:27::1;18937:34;;18989:7;18997:1;18989:10;;;;;;;;:::i;:::-;;;;;;;18980:3;18984:1;18980:6;;;;;;;;:::i;:::-;;;;;;:19;;;::::0;::::1;19017:8;19008:3;19012:1;19008:6;;;;;;;;:::i;:::-;;;;;;:17;;;::::0;::::1;19031:57;19057:10;19069:6;19076:1;19069:9;;;;;;;;:::i;:::-;;;;;;;19080:3;19084;19031:25;:57::i;:::-;18885:209;;18880:3;;;;;:::i;:::-;;;;18849:245;;;18527:571;;;18369:729:::0;;;;:::o;16363:931::-;-1:-1:-1;;;;;16640:15:27;;16569:13;16640:15;;;:6;:15;;;;;;;;;16595:89;;;;16620:4;;-1:-1:-1;;;;;;;;;;;1877:23:27;16640:15;;16657:10;;16669:6;;16676:7;;16595:89;;:::i;:::-;;;;;;;;;;;;;16585:100;;;;;;16569:116;;16773:23;16799:33;16815:5;16821:10;16799:15;:33::i;:::-;16773:59;;16870:7;-1:-1:-1;;;;;16851:26:27;:15;-1:-1:-1;;;;;16851:26:27;;16843:75;;;;-1:-1:-1;;;16843:75:27;;;;;;;:::i;:::-;-1:-1:-1;;;;;16929:15:27;;;;;;:6;:15;;;;;:17;;;;;;:::i;:::-;;;;;;16963:11;16977:20;16986:10;16977:8;:20::i;:::-;17010:36;;;;:31;:36;;;;;;;;:46;;;;;;;;;16963:34;;-1:-1:-1;17010:57:27;-1:-1:-1;17010:57:27;17002:124;;;;-1:-1:-1;;;17002:124:27;;;;;;;:::i;:::-;17131:36;;;;:31;:36;;;;;;;;:46;;;;;;;;:57;;17181:7;;17131:36;:57;;17181:7;;17131:57;:::i;:::-;;;;-1:-1:-1;17193:40:27;;-1:-1:-1;17208:6:27;17216:7;17224:8;17193:14;:40::i;:::-;17271:8;17264:6;17259:3;17245:44;17281:7;17245:44;;;;23137:25:32;;23125:2;23110:18;;22991:177;17245:44:27;;;;;;;;16561:733;;;16363:931;;;;;;:::o;25315:712::-;25399:6;4672:14;4689:16;4698:6;4689:8;:16::i;:::-;4718:20;;;;:12;:20;;;;;;4672:33;;-1:-1:-1;4710:83:27;;;;-1:-1:-1;;;4710:83:27;;;;;;;:::i;:::-;4840:32:::1;-1:-1:-1::0;;;;;;;;;;;4861:10:27::1;4840:7;:32::i;:::-;4832:87;;;;-1:-1:-1::0;;;4832:87:27::1;;;;;;;:::i;:::-;25426:14:::2;25443:16;25452:6;25443:8;:16::i;:::-;25501:10;25464:16;25483:29:::0;;;:17:::2;:29;::::0;;;;;;;:37;;;;;;;;25533:13:::2;::::0;::::2;::::0;25426:33;;-1:-1:-1;25483:37:27;25533:13:::2;;25525:61;;;;-1:-1:-1::0;;;25525:61:27::2;;;;;;;:::i;:::-;25610:15;25599:2;:7;;;:26;;25591:72;;;;-1:-1:-1::0;;;25591:72:27::2;;;;;;;:::i;:::-;25668:15;25686:14;25695:4;25686:8;:14::i;:::-;25731:10;25713:29;::::0;;;:17:::2;:29;::::0;;;;;;;:37;;;;;;;;:45:::2;;::::0;25668:32;;-1:-1:-1;25713:56:27;::::2;25705:94;;;;-1:-1:-1::0;;;25705:94:27::2;;;;;;;:::i;:::-;25804:35;25822:6;25829:2;:9;;;25804:17;:35::i;:::-;25858:9:::0;;25872:13:::2;::::0;;::::2;:21:::0;;-1:-1:-1;;25872:21:27::2;::::0;;-1:-1:-1;25898:13:27;;;25916:7:::2;::::0;::::2;:11:::0;25935:5;:31:::2;::::0;-1:-1:-1;;;25935:31:27;;25950:10:::2;25935:31;::::0;::::2;21958:51:32::0;22025:18;;;22018:34;;;-1:-1:-1;;;;;25935:5:27;;::::2;::::0;:14:::2;::::0;21931:18:32;;25935:31:27::2;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;25979:41:27::2;::::0;23137:25:32;;;26009:6:27;;25998:10:::2;::::0;25979:41:::2;::::0;23125:2:32;23110:18;25979:41:27::2;;;;;;;;25418:609;;;;4664:140:::0;25315:712;;;:::o;10531:173::-;10610:25;:9;10624:10;10610:13;:25::i;:::-;-1:-1:-1;10640:41:27;;;;:29;:41;;;;;;:59;10531:173::o;8706:297::-;4411:32;-1:-1:-1;;;;;;;;;;;4432:10:27;4411:7;:32::i;:::-;4403:87;;;;-1:-1:-1;;;4403:87:27;;;;;;;:::i;:::-;8803:6:::1;4672:14;4689:16;4698:6;4689:8;:16::i;:::-;4718:20;::::0;;;:12:::1;:20;::::0;;;;;4672:33;;-1:-1:-1;4710:83:27::1;;;;-1:-1:-1::0;;;4710:83:27::1;;;;;;;:::i;:::-;8861:16:::2;8880:20:::0;;;:12:::2;:20;::::0;;;;;;;;8905:41;;;:29:::2;:41:::0;;;;;:53;;8880:20;;;;8905:53:::2;::::0;8880:20;;8905:53:::2;:::i;:::-;::::0;;;-1:-1:-1;8963:35:27::2;::::0;-1:-1:-1;8981:6:27;8989:8;8963:17:::2;:35::i;:::-;8811:192;4664:140:::1;4495:1;8706:297:::0;;:::o;23252:715::-;23388:6;4672:14;4689:16;4698:6;4689:8;:16::i;:::-;4718:20;;;;:12;:20;;;;;;4672:33;;-1:-1:-1;4710:83:27;;;;-1:-1:-1;;;4710:83:27;;;;;;;:::i;:::-;4411:32:::1;-1:-1:-1::0;;;;;;;;;;;4432:10:27::1;4411:7;:32::i;:::-;4403:87;;;;-1:-1:-1::0;;;4403:87:27::1;;;;;;;:::i;:::-;23415:14:::2;23432:16;23441:6;23432:8;:16::i;:::-;-1:-1:-1::0;;;;;23472:26:27;::::2;23453:16;23472:26:::0;;;:17:::2;:26;::::0;;;;;;;:34;;;;;;;;23519:7:::2;::::0;::::2;::::0;23415:33;;-1:-1:-1;23472:34:27;23511:62:::2;;;;-1:-1:-1::0;;;23511:62:27::2;;;;;;;:::i;:::-;23601:5;23586:11;:20;;23578:80;;;;-1:-1:-1::0;;;23578:80:27::2;;;;;;;:::i;:::-;23690:7;::::0;::::2;::::0;:15:::2;::::0;23700:5:::2;23690:15;:::i;:::-;23671;:34;;23663:82;;;;-1:-1:-1::0;;;23663:82:27::2;;;;;;;:::i;:::-;23759:13;::::0;::::2;::::0;::::2;;23758:14;23750:66;;;;-1:-1:-1::0;;;23750:66:27::2;;;;;;;:::i;:::-;23821:10;::::0;;::::2;:21:::0;;;23847:13:::2;::::0;::::2;:20:::0;;-1:-1:-1;;23847:20:27::2;::::0;;::::2;::::0;;23882:29:::2;23900:11:::0;23882:15:::2;:29;:::i;:::-;23872:7;::::0;::::2;:39:::0;23952:9;;23921:41:::2;::::0;23137:25:32;;;23944:6:27;;-1:-1:-1;;;;;23921:41:27;::::2;::::0;::::2;::::0;23125:2:32;23110:18;23921:41:27::2;22991:177:32::0;4288:145:0;3983:7;4009:12;;;;;;;;;;:22;;;2430:30;2441:4;666:10:18;2430::0;:30::i;:::-;4401:25:::1;4412:4;4418:7;4401:10;:25::i;:::-;4288:145:::0;;;:::o;9713:287:27:-;4536:39;1997:4:0;4564:10:27;4536:7;:39::i;:::-;4528:83;;;;-1:-1:-1;;;4528:83:27;;;;;;;:::i;:::-;9852:22:::1;::::0;;;:14:::1;:22;::::0;;;;;;;:32;;;;;;;;:43;;9888:7;;9852:22;:43:::1;::::0;9888:7;;9852:43:::1;:::i;:::-;::::0;;;-1:-1:-1;;9900:21:27::1;::::0;;;:13:::1;:21;::::0;;;;;;;:31;;;;;;;;:42;;9935:7;;9900:21;:42:::1;::::0;9935:7;;9900:42:::1;:::i;30795:188::-:0;30862:11;30897:9;30892:72;30916:6;:13;30912:1;:17;30892:72;;;30949:6;30956:1;30949:9;;;;;;;;:::i;:::-;;;;;;;30942:16;;;;;:::i;:::-;;-1:-1:-1;30931:3:27;;;;:::i;:::-;;;;30892:72;;;;30795:188;;;:::o;5305:214:0:-;-1:-1:-1;;;;;5400:23:0;;666:10:18;5400:23:0;5392:83;;;;-1:-1:-1;;;5392:83:0;;33551:2:32;5392:83:0;;;33533:21:32;33590:2;33570:18;;;33563:30;33629:34;33609:18;;;33602:62;-1:-1:-1;;;33680:18:32;;;33673:45;33735:19;;5392:83:0;33349:411:32;5392:83:0;5486:26;5498:4;5504:7;5486:11;:26::i;:::-;5305:214;;:::o;5659:86:27:-;5708:32;-1:-1:-1;;;;;;;;;;;5731:8:27;5708:9;:32::i;:::-;5659:86;:::o;8065:158::-;8179:27;;;;:19;:27;;;;;8135:25;;8179:36;;:34;:36::i;30563:132::-;30617:7;30672:16;:5;:14;:16::i;:::-;30655:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;30645:45;;;;;;30638:52;;30563:132;;;:::o;10054:265::-;4536:39;1997:4:0;4564:10:27;4536:7;:39::i;:::-;4528:83;;;;-1:-1:-1;;;4528:83:27;;;;;;;:::i;:::-;10162:6:::1;4672:14;4689:16;4698:6;4689:8;:16::i;:::-;4718:20;::::0;;;:12:::1;:20;::::0;;;;;4672:33;;-1:-1:-1;4710:83:27::1;;;;-1:-1:-1::0;;;4710:83:27::1;;;;;;;:::i;:::-;10218:22:::2;::::0;;;:14:::2;:22;::::0;;;;;;;:32;;;;;;;;:43;;10254:7;;10218:22;:43:::2;::::0;10254:7;;10218:43:::2;:::i;:::-;::::0;;;-1:-1:-1;;;;;;;10054:265:27:o;13560:1002::-;4980:39;1997:4:0;5008:10:27;4980:7;:39::i;:::-;:78;;;;5023:35;-1:-1:-1;;;;;;;;;;;5047:10:27;5023:7;:35::i;:::-;4971:147;;;;-1:-1:-1;;;4971:147:27;;;;;;;:::i;:::-;13739:11:::1;13753:20;13762:10;13753:8;:20::i;:::-;13739:34;;13804:8;:15;13786:7;:14;:33;13778:93;;;;-1:-1:-1::0;;;13778:93:27::1;;;;;;;:::i;:::-;13880:35;-1:-1:-1::0;;;;;;;;;;;13904:10:27::1;13880:7;:35::i;:::-;13877:108;;;13929:22;::::0;;;:17:::1;:22;::::0;;;;:43:::1;::::0;13961:10:::1;13929:31;:43::i;:::-;13921:52;;;::::0;::::1;;13989:9;14003:548;14019:8;:15;14015:1;:19;14003:548;;;14110:7;14118:1;14110:10;;;;;;;;:::i;:::-;;;;;;;14057:31;:36;14089:3;14057:36;;;;;;;;;;;:49;14094:8;14103:1;14094:11;;;;;;;;:::i;:::-;;;;;;;14057:49;;;;;;;;;;;;:63;;14049:130;;;;-1:-1:-1::0;;;14049:130:27::1;;;;;;;:::i;:::-;14194:45;14227:8;14236:1;14227:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;14211:10:::1;14194:28;::::0;;;:16:::1;:28:::0;;;;;;;;:32:::1;:45::i;:::-;;14291:7;14299:1;14291:10;;;;;;;;:::i;:::-;;;;;;;14247:15;:27;14263:10;-1:-1:-1::0;;;;;14247:27:27::1;-1:-1:-1::0;;;;;14247:27:27::1;;;;;;;;;;;;:40;14275:8;14284:1;14275:11;;;;;;;;:::i;:::-;;;;;;;14247:40;;;;;;;;;;;;:54;;;;;;;:::i;:::-;;;;;;;;14363:7;14371:1;14363:10;;;;;;;;:::i;:::-;;;;;;;14310:31;:36;14342:3;14310:36;;;;;;;;;;;:49;14347:8;14356:1;14347:11;;;;;;;;:::i;:::-;;;;;;;14310:49;;;;;;;;;;;;:63;;;;;;;:::i;:::-;;;;;;;;14382:46;14397:6;14405:7;14413:1;14405:10;;;;;;;;:::i;:::-;;;;;;;14416:8;14425:1;14416:11;;;;;;;;:::i;:::-;;;;;;;14382:14;:46::i;:::-;14437:44;14469:8;14478:1;14469:11;;;;;;;;:::i;:::-;;;;;;;14437:19;:27;14457:6;14437:27;;;;;;;;;;;:31;;:44;;;;:::i;:::-;;14522:8;14531:1;14522:11;;;;;;;;:::i;:::-;;;;;;;14514:6;14509:3;14495:50;14534:7;14542:1;14534:10;;;;;;;;:::i;:::-;;;;;;;14495:50;;;;23137:25:32::0;;23125:2;23110:18;;22991:177;14495:50:27::1;;;;;;;;14036:3:::0;::::1;::::0;::::1;:::i;:::-;;;;14003:548;;;13734:828;;13560:1002:::0;;;;:::o;5494:86::-;5543:32;-1:-1:-1;;;;;;;;;;;5566:8:27;5543:9;:32::i;17555:551::-;4536:39;1997:4:0;4564:10:27;4536:7;:39::i;:::-;4528:83;;;;-1:-1:-1;;;4528:83:27;;;;;;;:::i;:::-;17716:7:::1;:14;17699:6;:13;:31;17691:91;;;;-1:-1:-1::0;;;17691:91:27::1;;;;;;;:::i;:::-;17787:9;17801:11:::0;17815:20:::1;17827:7;17815:11;:20::i;:::-;17801:34;;17840:11;17854:20;17863:10;17854:8;:20::i;:::-;17889:34;::::0;;;:29:::1;:34;::::0;;;;;17840;;-1:-1:-1;17889:41:27;-1:-1:-1;17889:41:27::1;17881:108;;;;-1:-1:-1::0;;;17881:108:27::1;;;;;;;:::i;:::-;18005:1;18001:5;;17996:106;18012:6;:13;18008:1;:17;17996:106;;;18038:58;18062:10;18074:6;18081:1;18074:9;;;;;;;;:::i;:::-;;;;;;;18085:7;18093:1;18085:10;;;;;;;;:::i;:::-;;;;;;;18038:23;:58::i;:::-;18027:3:::0;::::1;::::0;::::1;:::i;:::-;;;;17996:106;;21975:902:::0;-1:-1:-1;;;;;22191:15:27;;22119:13;22191:15;;;:6;:15;;;;;;;;;22145:87;;-1:-1:-1;;;;;;22170:4:27;19807:2:32;19803:15;19799:53;22145:87:27;;;19787:66:32;;;;-1:-1:-1;;;;;;;;;;;19869:12:32;;;19862:28;19906:12;;;19899:28;19943:12;;;19936:28;;;19980:13;;;19973:29;;;20018:13;;;20011:29;;;20056:13;;22145:87:27;;;;;;;;;;;;22135:98;;;;;;22119:114;;22321:23;22347:30;22360:5;22366:10;22347:12;:30::i;:::-;22321:56;;22415:7;-1:-1:-1;;;;;22396:26:27;:15;-1:-1:-1;;;;;22396:26:27;;22388:75;;;;-1:-1:-1;;;22388:75:27;;;;;;;:::i;:::-;-1:-1:-1;;;;;22474:15:27;;;;;;:6;:15;;;;;:17;;;;;;:::i;:::-;;;;;;22507:14;22524:16;22533:6;22524:8;:16::i;:::-;22553:22;;;;:14;:22;;;;;;;;:32;;;;;;;;;22507:33;;-1:-1:-1;22553:43:27;-1:-1:-1;22553:43:27;22545:116;;;;-1:-1:-1;;;22545:116:27;;;;;;;:::i;:::-;-1:-1:-1;;;;;22685:28:27;;22666:16;22685:28;;;:19;:28;;;;;;;;:36;;;;;;;;:46;;;;;;;;;22736:13;;;:21;;-1:-1:-1;;22736:21:27;;;22762:19;;;22796:15;22786:7;;;:25;22821:51;;23137:25:32;;;22685:46:27;;22847:6;;22836:9;;22821:51;;23110:18:32;22821:51:27;22991:177:32;5290:92:27;5338:39;1997:4:0;5368:8:27;5338:9;:39::i;30325:120::-;30385:7;30433:5;30416:23;;;;;;;;:::i;19929:479::-;4840:32;-1:-1:-1;;;;;;;;;;;4861:10:27;4840:7;:32::i;:::-;4832:87;;;;-1:-1:-1;;;4832:87:27;;;;;;;:::i;:::-;20034:14:::1;20051:16;20060:6;20051:8;:16::i;:::-;20080:22;::::0;;;:14:::1;:22;::::0;;;;;;;:32;;;;;;;;;20034:33;;-1:-1:-1;20080:43:27;-1:-1:-1;20080:43:27::1;20072:116;;;;-1:-1:-1::0;;;20072:116:27::1;;;;;;;:::i;:::-;20232:10;20193:16;20212:31:::0;;;:19:::1;:31;::::0;;;;;;;:39;;;;;;;;:49;;;;;;;;;20266:13:::1;::::0;::::1;:21:::0;;-1:-1:-1;;20266:21:27::1;::::0;;20292:19;;;20326:15:::1;20316:7;::::0;::::1;:25:::0;20351:52;;23137:25:32;;;20212:49:27;;20377:6;;20366:9:::1;::::0;20351:52:::1;::::0;23110:18:32;20351:52:27::1;;;;;;;20026:382;;19929:479:::0;;;:::o;24376:729::-;4411:32;-1:-1:-1;;;;;;;;;;;4432:10:27;4411:7;:32::i;:::-;4403:87;;;;-1:-1:-1;;;4403:87:27;;;;;;;:::i;:::-;24541:14:::1;24558:16;24567:6;24558:8;:16::i;:::-;-1:-1:-1::0;;;;;24598:28:27;::::1;24579:16;24598:28:::0;;;:19:::1;:28;::::0;;;;;;;:36;;;;;;;;:46;;;;;;;;24657:7:::1;::::0;::::1;::::0;24541:33;;-1:-1:-1;24598:46:27;24649:62:::1;;;;-1:-1:-1::0;;;24649:62:27::1;;;;;;;:::i;:::-;24739:5;24724:11;:20;;24716:80;;;;-1:-1:-1::0;;;24716:80:27::1;;;;;;;:::i;:::-;24828:7;::::0;::::1;::::0;:15:::1;::::0;24838:5:::1;24828:15;:::i;:::-;24809;:34;;24801:82;;;;-1:-1:-1::0;;;24801:82:27::1;;;;;;;:::i;:::-;24897:13;::::0;::::1;::::0;::::1;;24896:14;24888:66;;;;-1:-1:-1::0;;;24888:66:27::1;;;;;;;:::i;:::-;24959:10;::::0;;::::1;:21:::0;;;24985:13:::1;::::0;::::1;:20:::0;;-1:-1:-1;;24985:20:27::1;::::0;;::::1;::::0;;25020:29:::1;25038:11:::0;25020:15:::1;:29;:::i;:::-;25010:7;::::0;::::1;:39:::0;25090:9;;25059:41:::1;::::0;23137:25:32;;;25082:6:27;;-1:-1:-1;;;;;25059:41:27;::::1;::::0;::::1;::::0;23125:2:32;23110:18;25059:41:27::1;;;;;;;24533:572;;24376:729:::0;;;;;:::o;10920:153::-;11008:41;;;;:29;:41;;;;;:60;;11053:15;;11008:41;:60;;11053:15;;11008:60;:::i;:::-;;;;-1:-1:-1;;;;10920:153:27:o;15005:864::-;-1:-1:-1;;;;;15259:15:27;;15188:13;15259:15;;;:6;:15;;;;;;;;;15214:89;;;;15239:4;;-1:-1:-1;;;;;;;;;;;1877:23:27;15259:15;;15276:10;;15288:6;;15295:7;;15214:89;;:::i;:::-;;;;;;;;;;;;;15204:100;;;;;;15188:116;;15392:23;15418:33;15434:5;15440:10;15418:15;:33::i;:::-;15392:59;;15489:7;-1:-1:-1;;;;;15470:26:27;:15;-1:-1:-1;;;;;15470:26:27;;15462:75;;;;-1:-1:-1;;;15462:75:27;;;;;;;:::i;:::-;-1:-1:-1;;;;;15548:15:27;;;;;;:6;:15;;;;;:17;;;;;;:::i;:::-;;;;;;15582:11;15596:20;15605:10;15596:8;:20::i;:::-;15629:34;;;;:29;:34;;;;;;15582;;-1:-1:-1;15629:45:27;-1:-1:-1;15629:45:27;15621:112;;;;-1:-1:-1;;;15621:112:27;;;;;;;:::i;:::-;15738:34;;;;:29;:34;;;;;:45;;15776:7;;15738:34;:45;;15776:7;;15738:45;:::i;:::-;;;;-1:-1:-1;15788:31:27;;-1:-1:-1;15803:6:27;15811:7;15788:14;:31::i;:::-;15848:6;15843:3;15831:33;15856:7;15831:33;;;;23137:25:32;;23125:2;23110:18;;22991:177;29006:1202:27;-1:-1:-1;;;;;29223:15:27;;29151:13;29223:15;;;:6;:15;;;;;;;;;29177:84;;;;29202:4;;-1:-1:-1;;;;;;;;;;;1943:24:27;29223:15;;29240:6;;29247:4;;29252:8;;29177:84;;:::i;:::-;;;;;;;;;;;;;29167:95;;;;;;29151:111;;29350:23;29376:30;29389:5;29395:10;29376:12;:30::i;:::-;29350:56;;29444:7;-1:-1:-1;;;;;29425:26:27;:15;-1:-1:-1;;;;;29425:26:27;;29417:75;;;;-1:-1:-1;;;29417:75:27;;;;;;;:::i;:::-;-1:-1:-1;;;;;29503:15:27;;;;;;:6;:15;;;;;:17;;;;;;:::i;:::-;;;;;;29535:14;29552:16;29561:6;29552:8;:16::i;:::-;29612:10;29573:16;29592:31;;;:19;:31;;;;;;;;:39;;;;;;;;:49;;;;;;;;29654:13;;;;29535:33;;-1:-1:-1;29592:49:27;29654:13;;29646:61;;;;-1:-1:-1;;;29646:61:27;;;;;;;:::i;:::-;29731:15;29720:2;:7;;;:26;;29712:72;;;;-1:-1:-1;;;29712:72:27;;;;;;;:::i;:::-;29789:15;29807:14;29816:4;29807:8;:14::i;:::-;29854:10;29834:31;;;;:19;:31;;;;;;;;:39;;;;;;;;:49;;;;;;;;:57;;;29789:32;;-1:-1:-1;29834:68:27;;29826:106;;;;-1:-1:-1;;;29826:106:27;;;;;;;:::i;:::-;29937:44;29955:6;29962:2;:9;;;29972:8;29937:17;:44::i;:::-;30000:9;;30014:13;;;:21;;-1:-1:-1;;30014:21:27;;;29986:11;30040:13;;;30058:7;;;;:11;;;;30074:7;:67;;-1:-1:-1;;;30074:67:27;;-1:-1:-1;;;;;30074:7:27;;;;:24;;:67;;30107:4;;30113:10;;30124:8;;30000:9;;30074:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30190:8;30183:6;30172:10;-1:-1:-1;;;;;30151:52:27;;30199:3;30151:52;;;;23137:25:32;;23125:2;23110:18;;22991:177;30151:52:27;;;;;;;;29143:1065;;;;;;29006:1202;;;;;:::o;2834:137:0:-;2912:4;2935:12;;;;;;;;;;;-1:-1:-1;;;;;2935:29:0;;;;;;;;;;;;;;;2834:137::o;19282:445:27:-;19362:6;4672:14;4689:16;4698:6;4689:8;:16::i;:::-;4718:20;;;;:12;:20;;;;;;4672:33;;-1:-1:-1;4710:83:27;;;;-1:-1:-1;;;4710:83:27;;;;;;;:::i;:::-;4840:32:::1;-1:-1:-1::0;;;;;;;;;;;4861:10:27::1;4840:7;:32::i;:::-;4832:87;;;;-1:-1:-1::0;;;4832:87:27::1;;;;;;;:::i;:::-;19389:14:::2;19406:16;19415:6;19406:8;:16::i;:::-;19435:20;::::0;;;:12:::2;:20;::::0;;;;;19389:33;;-1:-1:-1;19435:31:27;-1:-1:-1;19435:31:27::2;19427:104;;;;-1:-1:-1::0;;;19427:104:27::2;;;;;;;:::i;:::-;19573:10;19536:16;19555:29:::0;;;:17:::2;:29;::::0;;;;;;;:37;;;;;;;;;19597:13:::2;::::0;::::2;:21:::0;;-1:-1:-1;;19597:21:27::2;::::0;;19623:19;;;19657:15:::2;19647:7;::::0;::::2;:25:::0;19682:40;;23137:25:32;;;19706:6:27;;19695:9:::2;::::0;19682:40:::2;::::0;23110:18:32;19682:40:27::2;;;;;;;19381:346;;4664:140:::0;19282:445;;;:::o;6711:670::-;6841:9;6885:27;;;:19;:27;;;;;6779:25;;;;6841:9;;6885:36;;:34;:36::i;:::-;6861:60;;6932:26;6975:13;-1:-1:-1;;;;;6961:28:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6961:28:27;;6932:57;;7000:26;7043:13;-1:-1:-1;;;;;7029:28:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7029:28:27;;7000:57;;7085:1;7083:3;;7078:250;7089:13;7087:1;:15;7078:250;;;7122:16;7141:27;;;:19;:27;;;;;:33;;7172:1;7141:30;:33::i;:::-;7189:16;7208:22;;;:14;:22;;;;;;;;:32;;;;;;;;;7255:12;;7122:52;;-1:-1:-1;7208:32:27;7122:52;;7255:9;;7265:1;;7255:12;;;;;;:::i;:::-;;;;;;:23;;;;;7308:8;7293:9;7303:1;7293:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;7107:221;;7103:3;;;;;:::i;:::-;;;;7078:250;;;7356:9;;7366;;-1:-1:-1;6711:670:27;-1:-1:-1;;;;6711:670:27:o;7387:668::-;-1:-1:-1;;;;;7560:26:27;;7519:9;7560:26;;;:16;:26;;;;;7458:25;;;;7519:9;;7560:35;;:33;:35::i;:::-;7536:59;;7603:26;7646:13;-1:-1:-1;;;;;7632:28:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7632:28:27;;7603:57;;7671:26;7714:13;-1:-1:-1;;;;;7700:28:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7700:28:27;;7671:57;;7757:1;7755:3;;7750:252;7761:13;7759:1;:15;7750:252;;;-1:-1:-1;;;;;7813:26:27;;7794:16;7813:26;;;:16;:26;;;;;:32;;7843:1;7813:29;:32::i;:::-;-1:-1:-1;;;;;7879:25:27;;7860:16;7879:25;;;:15;:25;;;;;;;;:35;;;;;;;;;7929:12;;7794:51;;-1:-1:-1;7879:35:27;7794:51;;7929:9;;7939:1;;7929:12;;;;;;:::i;:::-;;;;;;:23;;;;;7982:8;7967:9;7977:1;7967:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;7779:223;;7775:3;;;;;:::i;:::-;;;;7750:252;;9397:258;4536:39;1997:4:0;4564:10:27;4536:7;:39::i;:::-;4528:83;;;;-1:-1:-1;;;4528:83:27;;;;;;;:::i;:::-;9488:6:::1;4672:14;4689:16;4698:6;4689:8;:16::i;:::-;4718:20;::::0;;;:12:::1;:20;::::0;;;;;4672:33;;-1:-1:-1;4710:83:27::1;;;;-1:-1:-1::0;;;4710:83:27::1;;;;;;;:::i;:::-;9567:20:::2;::::0;;;:12:::2;:20;::::0;;;;;:30:::2;::::0;9590:7;;9567:30:::2;:::i;:::-;9544:20;::::0;;;:12:::2;:20;::::0;;;;;:53;;;;-1:-1:-1;;;9397:258:27:o;26276:781::-;4840:32;-1:-1:-1;;;;;;;;;;;4861:10:27;4840:7;:32::i;:::-;4832:87;;;;-1:-1:-1;;;4832:87:27;;;;;;;:::i;:::-;26384:14:::1;26401:16;26410:6;26401:8;:16::i;:::-;26461:10;26422:16;26441:31:::0;;;:19:::1;:31;::::0;;;;;;;:39;;;;;;;;:49;;;;;;;;26503:13:::1;::::0;::::1;::::0;26384:33;;-1:-1:-1;26441:49:27;26503:13:::1;;26495:61;;;;-1:-1:-1::0;;;26495:61:27::1;;;;;;;:::i;:::-;26580:15;26569:2;:7;;;:26;;26561:72;;;;-1:-1:-1::0;;;26561:72:27::1;;;;;;;:::i;:::-;26638:15;26656:14;26665:4;26656:8;:14::i;:::-;26703:10;26683:31;::::0;;;:19:::1;:31;::::0;;;;;;;:39;;;;;;;;:49;;;;;;;;:57:::1;;::::0;26638:32;;-1:-1:-1;26683:68:27;::::1;26675:106;;;;-1:-1:-1::0;;;26675:106:27::1;;;;;;;:::i;:::-;26786:44;26804:6;26811:2;:9;;;26821:8;26786:17;:44::i;:::-;26849:9:::0;;26863:13:::1;::::0;::::1;:21:::0;;-1:-1:-1;;26863:21:27::1;::::0;;26835:11:::1;26889:13:::0;;;26907:7:::1;::::0;;::::1;:11:::0;;;;26923:7;:67:::1;::::0;-1:-1:-1;;;26923:67:27;;-1:-1:-1;;;;;26923:7:27;;::::1;::::0;:24:::1;::::0;:67:::1;::::0;26956:4:::1;::::0;26962:10:::1;::::0;26973:8;;26849:9;;26923:67:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;27039:8;27032:6;27021:10;-1:-1:-1::0;;;;;27000:52:27::1;;27048:3;27000:52;;;;23137:25:32::0;;23125:2;23110:18;;22991:177;27000:52:27::1;;;;;;;;26376:681;;;;26276:781:::0;;;:::o;12683:597::-;4980:39;1997:4:0;5008:10:27;4980:7;:39::i;:::-;:78;;;;5023:35;-1:-1:-1;;;;;;;;;;;5047:10:27;5023:7;:35::i;:::-;4971:147;;;;-1:-1:-1;;;4971:147:27;;;;;;;:::i;:::-;12821:11:::1;12835:20;12844:10;12835:8;:20::i;:::-;12821:34;;12879:35;-1:-1:-1::0;;;;;;;;;;;12903:10:27::1;12879:7;:35::i;:::-;12876:108;;;12928:22;::::0;;;:17:::1;:22;::::0;;;;:43:::1;::::0;12960:10:::1;12928:31;:43::i;:::-;12920:52;;;::::0;::::1;;13002:10;12988:25;::::0;;;:13:::1;:25;::::0;;;;:36;;13017:7;;12988:25;:36:::1;::::0;13017:7;;12988:36:::1;:::i;:::-;::::0;;;-1:-1:-1;;13040:34:27::1;::::0;;;:29:::1;:34;::::0;;;;;:45;-1:-1:-1;13040:45:27::1;13032:112;;;;-1:-1:-1::0;;;13032:112:27::1;;;;;;;:::i;:::-;13149:34;::::0;;;:29:::1;:34;::::0;;;;:45;;13187:7;;13149:34;:45:::1;::::0;13187:7;;13149:45:::1;:::i;:::-;::::0;;;-1:-1:-1;13199:31:27::1;::::0;-1:-1:-1;13214:6:27;13222:7;13199:14:::1;:31::i;:::-;13259:6;13254:3;13242:33;13267:7;13242:33;;;;23137:25:32::0;;23125:2;23110:18;;22991:177;13242:33:27::1;;;;;;;;12816:464;12683:597:::0;;;:::o;20753:837::-;-1:-1:-1;;;;;20948:15:27;;20876:13;20948:15;;;:6;:15;;;;;;;;;20902:78;;-1:-1:-1;;;;;;20927:4:27;19283:2:32;19279:15;19275:53;20902:78:27;;;19263:66:32;;;;-1:-1:-1;;;;;;;;;;;19345:12:32;;;19338:28;19382:12;;;19375:28;19419:12;;;19412:28;;;19456:13;;;19449:29;;;19494:13;;20902:78:27;;;;;;;;;;;;20892:89;;;;;;20876:105;;21069:23;21095:30;21108:5;21114:10;21095:12;:30::i;:::-;21069:56;;21163:7;-1:-1:-1;;;;;21144:26:27;:15;-1:-1:-1;;;;;21144:26:27;;21136:75;;;;-1:-1:-1;;;21136:75:27;;;;;;;:::i;:::-;-1:-1:-1;;;;;21222:15:27;;;;;;:6;:15;;;;;:17;;;;;;:::i;:::-;;;;;;21248:14;21265:16;21274:6;21265:8;:16::i;:::-;21294:20;;;;:12;:20;;;;;;21248:33;;-1:-1:-1;21294:31:27;-1:-1:-1;21294:31:27;21286:104;;;;-1:-1:-1;;;21286:104:27;;;;;;;:::i;:::-;-1:-1:-1;;;;;21414:26:27;;21395:16;21414:26;;;:17;:26;;;;;;;;:34;;;;;;;;;21453:13;;;:21;;-1:-1:-1;;21453:21:27;;;21479:19;;;21513:15;21503:7;;;:25;21538:40;;23137:25:32;;;21562:6:27;;21551:9;;21538:40;;23110:18:32;21538:40:27;22991:177:32;6037:668:27;6166:9;6210:27;;;:19;:27;;;;;6104:25;;;;6166:9;;6210:36;;:34;:36::i;:::-;6186:60;;6257:26;6300:13;-1:-1:-1;;;;;6286:28:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6286:28:27;;6257:57;;6325:26;6368:13;-1:-1:-1;;;;;6354:28:27;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6354:28:27;;6325:57;;6410:1;6408:3;;6403:249;6414:13;6412:1;:15;6403:249;;;6447:16;6466:27;;;:19;:27;;;;;:33;;6497:1;6466:30;:33::i;:::-;6514:16;6533:21;;;:13;:21;;;;;;;;:31;;;;;;;;;6579:12;;6447:52;;-1:-1:-1;6533:31:27;6447:52;;6579:9;;6589:1;;6579:12;;;;;;:::i;:::-;;;;;;:23;;;;;6632:8;6617:9;6627:1;6617:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;6432:220;;6428:3;;;;;:::i;:::-;;;;6403:249;;4667:147:0;3983:7;4009:12;;;;;;;;;;:22;;;2430:30;2441:4;666:10:18;2430::0;:30::i;:::-;4781:26:::1;4793:4;4799:7;4781:11;:26::i;5828:203:27:-:0;5908:11;5922:20;5931:10;5922:8;:20::i;:::-;5908:34;;5947:35;-1:-1:-1;;;;;;;;;;;5973:8:27;5947:9;:35::i;:::-;5987:22;;;;:17;:22;;;;;:36;;6014:8;5987:26;:36::i;:::-;;5900:131;5828:203;;:::o;8235:154::-;-1:-1:-1;;;;;8346:26:27;;;;;;:16;:26;;;;;8302:25;;8346:35;;:33;:35::i;27448:1130::-;27581:6;4672:14;4689:16;4698:6;4689:8;:16::i;:::-;4718:20;;;;:12;:20;;;;;;4672:33;;-1:-1:-1;4710:83:27;;;;-1:-1:-1;;;4710:83:27;;;;;;;:::i;:::-;-1:-1:-1;;;;;27676:15:27;::::1;27604:13;27676:15:::0;;;:6:::1;:15;::::0;;;;;;;;27630:75;;::::1;::::0;27655:4:::1;::::0;-1:-1:-1;;;;;;;;;;;1943:24:27;27676:15;;27693:6;;27700:4;;27630:75:::1;;:::i;:::-;;;;;;;;;;;;;27620:86;;;;;;27604:102;;27794:23;27820:30;27833:5;27839:10;27820:12;:30::i;:::-;27794:56;;27888:7;-1:-1:-1::0;;;;;27869:26:27::1;:15;-1:-1:-1::0;;;;;27869:26:27::1;;27861:75;;;;-1:-1:-1::0;;;27861:75:27::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;27947:15:27;::::1;;::::0;;;:6:::1;:15;::::0;;;;:17;;;::::1;::::0;::::1;:::i;:::-;;;;;;27979:14;27996:16;28005:6;27996:8;:16::i;:::-;28054:10;28017:16;28036:29:::0;;;:17:::1;:29;::::0;;;;;;;:37;;;;;;;;28086:13:::1;::::0;::::1;::::0;27979:33;;-1:-1:-1;28036:37:27;28086:13:::1;;28078:61;;;;-1:-1:-1::0;;;28078:61:27::1;;;;;;;:::i;:::-;28163:15;28152:2;:7;;;:26;;28144:72;;;;-1:-1:-1::0;;;28144:72:27::1;;;;;;;:::i;:::-;28221:15;28239:14;28248:4;28239:8;:14::i;:::-;28284:10;28266:29;::::0;;;:17:::1;:29;::::0;;;;;;;:37;;;;;;;;:45:::1;;::::0;28221:32;;-1:-1:-1;28266:56:27;::::1;28258:94;;;;-1:-1:-1::0;;;28258:94:27::1;;;;;;;:::i;:::-;28381:9:::0;;::::1;28357:20:::0;;;:12:::1;:20;::::0;;;;:33;;:20;;28381:9;28357:33:::1;::::0;28381:9;;28357:33:::1;:::i;:::-;::::0;;;-1:-1:-1;;28409:9:27;;28423:13:::1;::::0;;::::1;:21:::0;;-1:-1:-1;;28423:21:27::1;::::0;;-1:-1:-1;28449:13:27;;;28467:7:::1;::::0;::::1;:11:::0;28486:5;:31:::1;::::0;-1:-1:-1;;;28486:31:27;;28501:10:::1;28486:31;::::0;::::1;21958:51:32::0;22025:18;;;22018:34;;;-1:-1:-1;;;;;28486:5:27;;::::1;::::0;:14:::1;::::0;21931:18:32;;28486:31:27::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;28530:41:27::1;::::0;23137:25:32;;;28560:6:27;;28549:10:::1;::::0;28530:41:::1;::::0;23125:2:32;23110:18;28530:41:27::1;;;;;;;27589:989;;;;;;4664:140:::0;27448:1130;;;;;:::o;9054:289::-;4536:39;1997:4:0;4564:10:27;4536:7;:39::i;:::-;4528:83;;;;-1:-1:-1;;;4528:83:27;;;;;;;:::i;:::-;9199:20:::1;::::0;;;:12:::1;:20;::::0;;;;;:30:::1;::::0;9222:7;;9199:30:::1;:::i;:::-;9176:20;::::0;;;:12:::1;:20;::::0;;;;;;;:53;;;;9256:11:::1;:19:::0;;;;:29:::1;::::0;9278:7;;9256:29:::1;:::i;:::-;9234:19;::::0;;;:11:::1;:19;::::0;;;;;:51;;;;-1:-1:-1;9054:289:27:o;1535:441:20:-;1610:13;1635:19;1667:10;1671:6;1667:1;:10;:::i;:::-;:14;;1680:1;1667:14;:::i;:::-;-1:-1:-1;;;;;1657:25:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1657:25:20;;1635:47;;-1:-1:-1;;;1692:6:20;1699:1;1692:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1692:15:20;;;;;;;;;-1:-1:-1;;;1717:6:20;1724:1;1717:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1717:15:20;;;;;;;;-1:-1:-1;1747:9:20;1759:10;1763:6;1759:1;:10;:::i;:::-;:14;;1772:1;1759:14;:::i;:::-;1747:26;;1742:132;1779:1;1775;:5;1742:132;;;-1:-1:-1;;;1826:5:20;1834:3;1826:11;1813:25;;;;;;;:::i;:::-;;;;1801:6;1808:1;1801:9;;;;;;;;:::i;:::-;;;;:37;-1:-1:-1;;;;;1801:37:20;;;;;;;;-1:-1:-1;1862:1:20;1852:11;;;;;1782:3;;;:::i;:::-;;;1742:132;;;-1:-1:-1;1891:10:20;;1883:55;;;;-1:-1:-1;;;1883:55:20;;25182:2:32;1883:55:20;;;25164:21:32;;;25201:18;;;25194:30;25260:34;25240:18;;;25233:62;25312:18;;1883:55:20;24980:356:32;1883:55:20;1962:6;1535:441;-1:-1:-1;;;1535:441:20:o;312:221:10:-;414:4;-1:-1:-1;;;;;;437:49:10;;-1:-1:-1;;;437:49:10;;:89;;;490:36;514:11;490:23;:36::i;12194:254:27:-;12282:7;;12317:25;:5;12331:10;12317:13;:25::i;:::-;12299:43;;12358:31;-1:-1:-1;;;;;;;;;;;12381:7:27;12358;:31::i;:::-;12350:69;;;;-1:-1:-1;;;12350:69:27;;26749:2:32;12350:69:27;;;26731:21:32;26788:2;26768:18;;;26761:30;26827:28;26807:18;;;26800:56;26873:18;;12350:69:27;26547:350:32;5335:123:26;5405:4;5428:23;5433:3;5445:5;5428:4;:23::i;3252:484:0:-;3332:22;3340:4;3346:7;3332;:22::i;:::-;3327:403;;3515:41;3543:7;-1:-1:-1;;;;;3515:41:0;3553:2;3515:19;:41::i;:::-;3627:38;3655:4;3662:2;3627:19;:38::i;:::-;3422:265;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;3422:265:0;;;;;;;;;;-1:-1:-1;;;3370:349:0;;;;;;;:::i;6572:224::-;6646:22;6654:4;6660:7;6646;:22::i;:::-;6641:149;;6684:6;:12;;;;;;;;;;;-1:-1:-1;;;;;6684:29:0;;;;;;;;;:36;;-1:-1:-1;;6684:36:0;6716:4;6684:36;;;6766:12;666:10:18;;587:96;6766:12:0;-1:-1:-1;;;;;6739:40:0;6757:7;-1:-1:-1;;;;;6739:40:0;6751:4;6739:40;;;;;;;;;;6572:224;;:::o;6802:225::-;6876:22;6884:4;6890:7;6876;:22::i;:::-;6872:149;;;6946:5;6914:12;;;;;;;;;;;-1:-1:-1;;;;;6914:29:0;;;;;;;;;;:37;;-1:-1:-1;;6914:37:0;;;6970:40;666:10:18;;6914:12:0;;6970:40;;6946:5;6970:40;6802:225;;:::o;11857:254:26:-;11917:16;11945:22;11970:19;11978:3;11970:7;:19::i;275:703:20:-;331:13;548:10;544:51;;-1:-1:-1;;574:10:20;;;;;;;;;;;;-1:-1:-1;;;574:10:20;;;;;275:703::o;544:51::-;619:5;604:12;658:75;665:9;;658:75;;690:8;;;;:::i;:::-;;-1:-1:-1;712:10:20;;-1:-1:-1;720:2:20;712:10;;:::i;:::-;;;658:75;;;742:19;774:6;-1:-1:-1;;;;;764:17:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;764:17:20;;742:39;;791:150;798:10;;791:150;;824:11;834:1;824:11;;:::i;:::-;;-1:-1:-1;892:10:20;900:2;892:5;:10;:::i;:::-;879:24;;:2;:24;:::i;:::-;866:39;;849:6;856;849:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;849:56:20;;;;;;;;-1:-1:-1;919:11:20;928:2;919:11;;:::i;:::-;;;791:150;;;964:6;275:703;-1:-1:-1;;;;275:703:20:o;8100:165:26:-;-1:-1:-1;;;;;8233:23:26;;8180:4;3767:19;;;:12;;;:19;;;;;;:24;;8203:55;3671:127;11944:244:27;12028:7;;12062:25;:5;12076:10;12062:13;:25::i;:::-;12044:43;;12103:28;-1:-1:-1;;;;;;;;;;;12123:7:27;12103;:28::i;10728:112:26:-;10788:7;10814:19;10822:3;3961:18;;3879:107;11182:135;11253:7;11287:22;11291:3;11303:5;11287:3;:22::i;7545:150::-;7615:4;7638:50;7643:3;-1:-1:-1;;;;;7663:23:26;;7638:4;:50::i;2545:202:0:-;2630:4;-1:-1:-1;;;;;;2653:47:0;;-1:-1:-1;;;2653:47:0;;:87;;-1:-1:-1;;;;;;;;;;871:40:23;;;2704:36:0;763:155:23;4203:227:21;4281:7;4301:17;4320:18;4342:27;4353:4;4359:9;4342:10;:27::i;:::-;4300:69;;;;4379:18;4391:5;4379:11;:18::i;:::-;-1:-1:-1;4414:9:21;4203:227;-1:-1:-1;;;4203:227:21:o;1630:404:26:-;1693:4;3767:19;;;:12;;;:19;;;;;;1709:319;;-1:-1:-1;1751:23:26;;;;;;;;:11;:23;;;;;;;;;;;;;1931:18;;1909:19;;;:12;;;:19;;;;;;:40;;;;1963:11;;1709:319;-1:-1:-1;2012:5:26;2005:12;;4986:109;5042:16;5077:3;:11;;5070:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4986:109;;;:::o;4328:118::-;4395:7;4421:3;:11;;4433:5;4421:18;;;;;;;;:::i;:::-;;;;;;;;;4414:25;;4328:118;;;;:::o;2138:1279:21:-;2219:7;2228:12;2449:9;:16;2469:2;2449:22;2445:966;;;2738:4;2723:20;;2717:27;2787:4;2772:20;;2766:27;2844:4;2829:20;;2823:27;2487:9;2815:36;2885:25;2896:4;2815:36;2717:27;2766;2885:10;:25::i;:::-;2878:32;;;;;;;;;2445:966;2931:9;:16;2951:2;2931:22;2927:484;;;3200:4;3185:20;;3179:27;3250:4;3235:20;;3229:27;3290:23;3301:4;3179:27;3229;3290:10;:23::i;:::-;3283:30;;;;;;;;2927:484;-1:-1:-1;3360:1:21;;-1:-1:-1;3364:35:21;2927:484;2138:1279;;;;;:::o;443:631::-;520:20;511:5;:29;;;;;;;;:::i;:::-;;507:561;;;443:631;:::o;507:561::-;616:29;607:5;:38;;;;;;;;:::i;:::-;;603:465;;;661:34;;-1:-1:-1;;;661:34:21;;24829:2:32;661:34:21;;;24811:21:32;24868:2;24848:18;;;24841:30;-1:-1:-1;;;24887:18:32;;;24880:54;24951:18;;661:34:21;24627:348:32;603:465:21;725:35;716:5;:44;;;;;;;;:::i;:::-;;712:356;;;776:41;;-1:-1:-1;;;776:41:21;;25966:2:32;776:41:21;;;25948:21:32;26005:2;25985:18;;;25978:30;26044:33;26024:18;;;26017:61;26095:18;;776:41:21;25764:355:32;712:356:21;847:30;838:5;:39;;;;;;;;:::i;:::-;;834:234;;;893:44;;-1:-1:-1;;;893:44:21;;28342:2:32;893:44:21;;;28324:21:32;28381:2;28361:18;;;28354:30;28420:34;28400:18;;;28393:62;-1:-1:-1;;;28471:18:32;;;28464:32;28513:19;;893:44:21;28140:398:32;834:234:21;967:30;958:5;:39;;;;;;;;:::i;:::-;;954:114;;;1013:44;;-1:-1:-1;;;1013:44:21;;29519:2:32;1013:44:21;;;29501:21:32;29558:2;29538:18;;;29531:30;29597:34;29577:18;;;29570:62;-1:-1:-1;;;29648:18:32;;;29641:32;29690:19;;1013:44:21;29317:398:32;5654:1603:21;5780:7;;-1:-1:-1;;;;;6691:79:21;;6687:161;;;-1:-1:-1;6802:1:21;;-1:-1:-1;6806:30:21;6786:51;;6687:161;6861:1;:7;;6866:2;6861:7;;:18;;;;;6872:1;:7;;6877:2;6872:7;;6861:18;6857:100;;;-1:-1:-1;6911:1:21;;-1:-1:-1;6915:30:21;6895:51;;6857:100;7068:24;;;7051:14;7068:24;;;;;;;;;23400:25:32;;;23473:4;23461:17;;23441:18;;;23434:45;;;;23495:18;;;23488:34;;;23538:18;;;23531:34;;;7068:24:21;;23372:19:32;;7068:24:21;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7068:24:21;;-1:-1:-1;;7068:24:21;;;-1:-1:-1;;;;;;;7106:20:21;;7102:101;;7158:1;7162:29;7142:50;;;;;;;7102:101;7221:6;-1:-1:-1;7229:20:21;;-1:-1:-1;5654:1603:21;;;;;;;;:::o;4684:379::-;4794:7;;-1:-1:-1;;;;;4891:75:21;;4992:3;4988:12;;;5002:2;4984:21;5031:25;5042:4;4984:21;5051:1;4891:75;5031:10;:25::i;:::-;5024:32;;;;;;4684:379;;;;;;:::o;14:173:32:-;82:20;;-1:-1:-1;;;;;131:31:32;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:723::-;246:5;299:3;292:4;284:6;280:17;276:27;266:55;;317:1;314;307:12;266:55;353:6;340:20;379:4;-1:-1:-1;;;;;398:2:32;395:26;392:52;;;424:18;;:::i;:::-;470:2;467:1;463:10;493:28;517:2;513;509:11;493:28;:::i;:::-;555:15;;;586:12;;;;618:15;;;652;;;648:24;;645:33;-1:-1:-1;642:53:32;;;691:1;688;681:12;642:53;713:1;704:10;;723:163;737:2;734:1;731:9;723:163;;;794:17;;782:30;;755:1;748:9;;;;;832:12;;;;864;;723:163;;;-1:-1:-1;904:5:32;192:723;-1:-1:-1;;;;;;;192:723:32:o;920:530::-;962:5;1015:3;1008:4;1000:6;996:17;992:27;982:55;;1033:1;1030;1023:12;982:55;1069:6;1056:20;-1:-1:-1;;;;;1091:2:32;1088:26;1085:52;;;1117:18;;:::i;:::-;1161:55;1204:2;1185:13;;-1:-1:-1;;1181:27:32;1210:4;1177:38;1161:55;:::i;:::-;1241:2;1232:7;1225:19;1287:3;1280:4;1275:2;1267:6;1263:15;1259:26;1256:35;1253:55;;;1304:1;1301;1294:12;1253:55;1369:2;1362:4;1354:6;1350:17;1343:4;1334:7;1330:18;1317:55;1417:1;1392:16;;;1410:4;1388:27;1381:38;;;;1396:7;920:530;-1:-1:-1;;;920:530:32:o;1455:186::-;1514:6;1567:2;1555:9;1546:7;1542:23;1538:32;1535:52;;;1583:1;1580;1573:12;1535:52;1606:29;1625:9;1606:29;:::i;1646:943::-;1800:6;1808;1816;1824;1832;1885:3;1873:9;1864:7;1860:23;1856:33;1853:53;;;1902:1;1899;1892:12;1853:53;1925:29;1944:9;1925:29;:::i;:::-;1915:39;;1973:38;2007:2;1996:9;1992:18;1973:38;:::i;:::-;1963:48;;2062:2;2051:9;2047:18;2034:32;-1:-1:-1;;;;;2126:2:32;2118:6;2115:14;2112:34;;;2142:1;2139;2132:12;2112:34;2165:61;2218:7;2209:6;2198:9;2194:22;2165:61;:::i;:::-;2155:71;;2279:2;2268:9;2264:18;2251:32;2235:48;;2308:2;2298:8;2295:16;2292:36;;;2324:1;2321;2314:12;2292:36;2347:63;2402:7;2391:8;2380:9;2376:24;2347:63;:::i;:::-;2337:73;;2463:3;2452:9;2448:19;2435:33;2419:49;;2493:2;2483:8;2480:16;2477:36;;;2509:1;2506;2499:12;2477:36;;2532:51;2575:7;2564:8;2553:9;2549:24;2532:51;:::i;:::-;2522:61;;;1646:943;;;;;;;;:::o;2594:606::-;2698:6;2706;2714;2722;2730;2783:3;2771:9;2762:7;2758:23;2754:33;2751:53;;;2800:1;2797;2790:12;2751:53;2823:29;2842:9;2823:29;:::i;:::-;2813:39;;2871:38;2905:2;2894:9;2890:18;2871:38;:::i;:::-;2861:48;;2956:2;2945:9;2941:18;2928:32;2918:42;;3007:2;2996:9;2992:18;2979:32;2969:42;;3062:3;3051:9;3047:19;3034:33;-1:-1:-1;;;;;3082:6:32;3079:30;3076:50;;;3122:1;3119;3112:12;3076:50;3145:49;3186:7;3177:6;3166:9;3162:22;3145:49;:::i;3205:254::-;3273:6;3281;3334:2;3322:9;3313:7;3309:23;3305:32;3302:52;;;3350:1;3347;3340:12;3302:52;3373:29;3392:9;3373:29;:::i;:::-;3363:39;3449:2;3434:18;;;;3421:32;;-1:-1:-1;;;3205:254:32:o;3464:322::-;3541:6;3549;3557;3610:2;3598:9;3589:7;3585:23;3581:32;3578:52;;;3626:1;3623;3616:12;3578:52;3649:29;3668:9;3649:29;:::i;:::-;3639:39;3725:2;3710:18;;3697:32;;-1:-1:-1;3776:2:32;3761:18;;;3748:32;;3464:322;-1:-1:-1;;;3464:322:32:o;3791:752::-;3905:6;3913;3921;3929;3937;3990:3;3978:9;3969:7;3965:23;3961:33;3958:53;;;4007:1;4004;3997:12;3958:53;4030:29;4049:9;4030:29;:::i;:::-;4020:39;;4110:2;4099:9;4095:18;4082:32;-1:-1:-1;;;;;4174:2:32;4166:6;4163:14;4160:34;;;4190:1;4187;4180:12;4160:34;4213:49;4254:7;4245:6;4234:9;4230:22;4213:49;:::i;:::-;4203:59;;4315:2;4304:9;4300:18;4287:32;4271:48;;4344:2;4334:8;4331:16;4328:36;;;4360:1;4357;4350:12;4328:36;;4383:51;4426:7;4415:8;4404:9;4400:24;4383:51;:::i;:::-;3791:752;;;;-1:-1:-1;4373:61:32;;4481:2;4466:18;;4453:32;;-1:-1:-1;4532:3:32;4517:19;4504:33;;3791:752;-1:-1:-1;;;3791:752:32:o;4548:821::-;4671:6;4679;4687;4695;4703;4711;4764:3;4752:9;4743:7;4739:23;4735:33;4732:53;;;4781:1;4778;4771:12;4732:53;4804:29;4823:9;4804:29;:::i;:::-;4794:39;;4884:2;4873:9;4869:18;4856:32;-1:-1:-1;;;;;4948:2:32;4940:6;4937:14;4934:34;;;4964:1;4961;4954:12;4934:34;4987:49;5028:7;5019:6;5008:9;5004:22;4987:49;:::i;:::-;4977:59;;5089:2;5078:9;5074:18;5061:32;5045:48;;5118:2;5108:8;5105:16;5102:36;;;5134:1;5131;5124:12;5102:36;;5157:51;5200:7;5189:8;5178:9;5174:24;5157:51;:::i;:::-;5147:61;;;5255:2;5244:9;5240:18;5227:32;5217:42;;5306:3;5295:9;5291:19;5278:33;5268:43;;5358:3;5347:9;5343:19;5330:33;5320:43;;4548:821;;;;;;;;:::o;5374:683::-;5479:6;5487;5495;5503;5556:3;5544:9;5535:7;5531:23;5527:33;5524:53;;;5573:1;5570;5563:12;5524:53;5596:29;5615:9;5596:29;:::i;:::-;5586:39;;5676:2;5665:9;5661:18;5648:32;-1:-1:-1;;;;;5740:2:32;5732:6;5729:14;5726:34;;;5756:1;5753;5746:12;5726:34;5779:49;5820:7;5811:6;5800:9;5796:22;5779:49;:::i;:::-;5769:59;;5875:2;5864:9;5860:18;5847:32;5837:42;;5932:2;5921:9;5917:18;5904:32;5888:48;;5961:2;5951:8;5948:16;5945:36;;;5977:1;5974;5967:12;5945:36;;6000:51;6043:7;6032:8;6021:9;6017:24;6000:51;:::i;:::-;5990:61;;;5374:683;;;;;;;:::o;6062:752::-;6176:6;6184;6192;6200;6208;6261:3;6249:9;6240:7;6236:23;6232:33;6229:53;;;6278:1;6275;6268:12;6229:53;6301:29;6320:9;6301:29;:::i;:::-;6291:39;;6381:2;6370:9;6366:18;6353:32;-1:-1:-1;;;;;6445:2:32;6437:6;6434:14;6431:34;;;6461:1;6458;6451:12;6431:34;6484:49;6525:7;6516:6;6505:9;6501:22;6484:49;:::i;:::-;6474:59;;6580:2;6569:9;6565:18;6552:32;6542:42;;6637:2;6626:9;6622:18;6609:32;6593:48;;6666:2;6656:8;6653:16;6650:36;;;6682:1;6679;6672:12;6650:36;;6705:51;6748:7;6737:8;6726:9;6722:24;6705:51;:::i;:::-;6062:752;;;;-1:-1:-1;6062:752:32;;6803:3;6788:19;6775:33;;6062:752;-1:-1:-1;;;6062:752:32:o;6819:531::-;6914:6;6922;6930;6938;6991:3;6979:9;6970:7;6966:23;6962:33;6959:53;;;7008:1;7005;6998:12;6959:53;7031:29;7050:9;7031:29;:::i;:::-;7021:39;;7111:2;7100:9;7096:18;7083:32;-1:-1:-1;;;;;7130:6:32;7127:30;7124:50;;;7170:1;7167;7160:12;7124:50;7193:49;7234:7;7225:6;7214:9;7210:22;7193:49;:::i;:::-;6819:531;;7183:59;;-1:-1:-1;;;;7289:2:32;7274:18;;7261:32;;7340:2;7325:18;7312:32;;6819:531;-1:-1:-1;6819:531:32:o;7355:600::-;7459:6;7467;7475;7483;7491;7544:3;7532:9;7523:7;7519:23;7515:33;7512:53;;;7561:1;7558;7551:12;7512:53;7584:29;7603:9;7584:29;:::i;:::-;7574:39;;7664:2;7653:9;7649:18;7636:32;-1:-1:-1;;;;;7683:6:32;7680:30;7677:50;;;7723:1;7720;7713:12;7677:50;7746:49;7787:7;7778:6;7767:9;7763:22;7746:49;:::i;:::-;7355:600;;7736:59;;-1:-1:-1;;;;7842:2:32;7827:18;;7814:32;;7893:2;7878:18;;7865:32;;7944:3;7929:19;;;7916:33;;-1:-1:-1;7355:600:32;-1:-1:-1;7355:600:32:o;7960:395::-;8038:6;8046;8099:2;8087:9;8078:7;8074:23;8070:32;8067:52;;;8115:1;8112;8105:12;8067:52;8138:29;8157:9;8138:29;:::i;:::-;8128:39;;8218:2;8207:9;8203:18;8190:32;-1:-1:-1;;;;;8237:6:32;8234:30;8231:50;;;8277:1;8274;8267:12;8231:50;8300:49;8341:7;8332:6;8321:9;8317:22;8300:49;:::i;:::-;8290:59;;;7960:395;;;;;:::o;8619:391::-;8705:6;8713;8721;8729;8782:3;8770:9;8761:7;8757:23;8753:33;8750:53;;;8799:1;8796;8789:12;8750:53;8822:29;8841:9;8822:29;:::i;:::-;8812:39;8898:2;8883:18;;8870:32;;-1:-1:-1;8949:2:32;8934:18;;8921:32;;9000:2;8985:18;8972:32;;-1:-1:-1;8619:391:32;-1:-1:-1;;;8619:391:32:o;9015:460::-;9110:6;9118;9126;9134;9142;9195:3;9183:9;9174:7;9170:23;9166:33;9163:53;;;9212:1;9209;9202:12;9163:53;9235:29;9254:9;9235:29;:::i;:::-;9225:39;9311:2;9296:18;;9283:32;;-1:-1:-1;9362:2:32;9347:18;;9334:32;;9413:2;9398:18;;9385:32;;-1:-1:-1;9464:3:32;9449:19;9436:33;;-1:-1:-1;9015:460:32;-1:-1:-1;;;9015:460:32:o;9480:348::-;9564:6;9617:2;9605:9;9596:7;9592:23;9588:32;9585:52;;;9633:1;9630;9623:12;9585:52;9673:9;9660:23;-1:-1:-1;;;;;9698:6:32;9695:30;9692:50;;;9738:1;9735;9728:12;9692:50;9761:61;9814:7;9805:6;9794:9;9790:22;9761:61;:::i;9833:277::-;9900:6;9953:2;9941:9;9932:7;9928:23;9924:32;9921:52;;;9969:1;9966;9959:12;9921:52;10001:9;9995:16;10054:5;10047:13;10040:21;10033:5;10030:32;10020:60;;10076:1;10073;10066:12;10115:180;10174:6;10227:2;10215:9;10206:7;10202:23;10198:32;10195:52;;;10243:1;10240;10233:12;10195:52;-1:-1:-1;10266:23:32;;10115:180;-1:-1:-1;10115:180:32:o;10300:254::-;10368:6;10376;10429:2;10417:9;10408:7;10404:23;10400:32;10397:52;;;10445:1;10442;10435:12;10397:52;10481:9;10468:23;10458:33;;10510:38;10544:2;10533:9;10529:18;10510:38;:::i;:::-;10500:48;;10300:254;;;;;:::o;10559:248::-;10627:6;10635;10688:2;10676:9;10667:7;10663:23;10659:32;10656:52;;;10704:1;10701;10694:12;10656:52;-1:-1:-1;;10727:23:32;;;10797:2;10782:18;;;10769:32;;-1:-1:-1;10559:248:32:o;10812:316::-;10889:6;10897;10905;10958:2;10946:9;10937:7;10933:23;10929:32;10926:52;;;10974:1;10971;10964:12;10926:52;-1:-1:-1;;10997:23:32;;;11067:2;11052:18;;11039:32;;-1:-1:-1;11118:2:32;11103:18;;;11090:32;;10812:316;-1:-1:-1;10812:316:32:o;11133:286::-;11191:6;11244:2;11232:9;11223:7;11219:23;11215:32;11212:52;;;11260:1;11257;11250:12;11212:52;11286:23;;-1:-1:-1;;;;;;11338:32:32;;11328:43;;11318:71;;11385:1;11382;11375:12;11424:321;11493:6;11546:2;11534:9;11525:7;11521:23;11517:32;11514:52;;;11562:1;11559;11552:12;11514:52;11602:9;11589:23;-1:-1:-1;;;;;11627:6:32;11624:30;11621:50;;;11667:1;11664;11657:12;11621:50;11690:49;11731:7;11722:6;11711:9;11707:22;11690:49;:::i;11750:794::-;11887:6;11895;11903;11956:2;11944:9;11935:7;11931:23;11927:32;11924:52;;;11972:1;11969;11962:12;11924:52;12012:9;11999:23;-1:-1:-1;;;;;12082:2:32;12074:6;12071:14;12068:34;;;12098:1;12095;12088:12;12068:34;12121:49;12162:7;12153:6;12142:9;12138:22;12121:49;:::i;:::-;12111:59;;12223:2;12212:9;12208:18;12195:32;12179:48;;12252:2;12242:8;12239:16;12236:36;;;12268:1;12265;12258:12;12236:36;12291:63;12346:7;12335:8;12324:9;12320:24;12291:63;:::i;:::-;12281:73;;12407:2;12396:9;12392:18;12379:32;12363:48;;12436:2;12426:8;12423:16;12420:36;;;12452:1;12449;12442:12;12420:36;;12475:63;12530:7;12519:8;12508:9;12504:24;12475:63;:::i;:::-;12465:73;;;11750:794;;;;;:::o;12549:863::-;12695:6;12703;12711;12719;12772:3;12760:9;12751:7;12747:23;12743:33;12740:53;;;12789:1;12786;12779:12;12740:53;12829:9;12816:23;-1:-1:-1;;;;;12899:2:32;12891:6;12888:14;12885:34;;;12915:1;12912;12905:12;12885:34;12938:49;12979:7;12970:6;12959:9;12955:22;12938:49;:::i;:::-;12928:59;;13040:2;13029:9;13025:18;13012:32;12996:48;;13069:2;13059:8;13056:16;13053:36;;;13085:1;13082;13075:12;13053:36;13108:63;13163:7;13152:8;13141:9;13137:24;13108:63;:::i;:::-;13098:73;;13224:2;13213:9;13209:18;13196:32;13180:48;;13253:2;13243:8;13240:16;13237:36;;;13269:1;13266;13259:12;13237:36;;13292:63;13347:7;13336:8;13325:9;13321:24;13292:63;:::i;:::-;12549:863;;;;-1:-1:-1;13282:73:32;;13402:2;13387:18;13374:32;;-1:-1:-1;;;12549:863:32:o;13417:::-;13563:6;13571;13579;13587;13640:3;13628:9;13619:7;13615:23;13611:33;13608:53;;;13657:1;13654;13647:12;13608:53;13697:9;13684:23;-1:-1:-1;;;;;13767:2:32;13759:6;13756:14;13753:34;;;13783:1;13780;13773:12;13753:34;13806:49;13847:7;13838:6;13827:9;13823:22;13806:49;:::i;:::-;13796:59;;13902:2;13891:9;13887:18;13874:32;13864:42;;13959:2;13948:9;13944:18;13931:32;13915:48;;13988:2;13978:8;13975:16;13972:36;;;14004:1;14001;13994:12;13972:36;14027:63;14082:7;14071:8;14060:9;14056:24;14027:63;:::i;:::-;14017:73;;14143:2;14132:9;14128:18;14115:32;14099:48;;14172:2;14162:8;14159:16;14156:36;;;14188:1;14185;14178:12;14156:36;;14211:63;14266:7;14255:8;14244:9;14240:24;14211:63;:::i;14285:457::-;14372:6;14380;14388;14441:2;14429:9;14420:7;14416:23;14412:32;14409:52;;;14457:1;14454;14447:12;14409:52;14497:9;14484:23;-1:-1:-1;;;;;14522:6:32;14519:30;14516:50;;;14562:1;14559;14552:12;14516:50;14585:49;14626:7;14617:6;14606:9;14602:22;14585:49;:::i;:::-;14575:59;14681:2;14666:18;;14653:32;;-1:-1:-1;14732:2:32;14717:18;;;14704:32;;14285:457;-1:-1:-1;;;;14285:457:32:o;15185:389::-;15263:6;15271;15324:2;15312:9;15303:7;15299:23;15295:32;15292:52;;;15340:1;15337;15330:12;15292:52;15376:9;15363:23;15353:33;;15437:2;15426:9;15422:18;15409:32;-1:-1:-1;;;;;15456:6:32;15453:30;15450:50;;;15496:1;15493;15486:12;15579:457;15666:6;15674;15682;15735:2;15723:9;15714:7;15710:23;15706:32;15703:52;;;15751:1;15748;15741:12;15703:52;15787:9;15774:23;15764:33;;15848:2;15837:9;15833:18;15820:32;-1:-1:-1;;;;;15867:6:32;15864:30;15861:50;;;15907:1;15904;15897:12;15861:50;15930:49;15971:7;15962:6;15951:9;15947:22;15930:49;:::i;:::-;15920:59;;;16026:2;16015:9;16011:18;15998:32;15988:42;;15579:457;;;;;:::o;16615:435::-;16668:3;16706:5;16700:12;16733:6;16728:3;16721:19;16759:4;16788:2;16783:3;16779:12;16772:19;;16825:2;16818:5;16814:14;16846:1;16856:169;16870:6;16867:1;16864:13;16856:169;;;16931:13;;16919:26;;16965:12;;;;17000:15;;;;16892:1;16885:9;16856:169;;;-1:-1:-1;17041:3:32;;16615:435;-1:-1:-1;;;;;16615:435:32:o;17055:678::-;-1:-1:-1;;;;;17377:31:32;17368:6;17364:2;17360:15;17356:53;17351:3;17344:66;17440:6;17435:2;17430:3;17426:12;17419:28;17477:6;17472:2;17467:3;17463:12;17456:28;17326:3;17513:6;17507:13;17529:62;17584:6;17579:2;17574:3;17570:12;17563:4;17555:6;17551:17;17529:62;:::i;:::-;17610:16;;;17650:2;17642:11;;17635:27;;;;-1:-1:-1;17686:3:32;17678:12;;17671:28;17723:3;17715:12;;;-1:-1:-1;;;;17055:678:32:o;17738:594::-;-1:-1:-1;;;;;18032:31:32;18023:6;18019:2;18015:15;18011:53;18006:3;17999:66;18095:6;18090:2;18085:3;18081:12;18074:28;18132:6;18127:2;18122:3;18118:12;18111:28;18169:6;18164:2;18159:3;18155:12;18148:28;17981:3;18205:6;18199:13;18221:63;18277:6;18271:3;18266;18262:13;18255:4;18247:6;18243:17;18221:63;:::i;:::-;18304:16;;;;18322:3;18300:26;;17738:594;-1:-1:-1;;;;;;17738:594:32:o;18337:680::-;-1:-1:-1;;;;;18659:31:32;18650:6;18646:2;18642:15;18638:53;18633:3;18626:66;18722:6;18717:2;18712:3;18708:12;18701:28;18759:6;18754:2;18749:3;18745:12;18738:28;18796:6;18791:2;18786:3;18782:12;18775:28;18608:3;18832:6;18826:13;18848:63;18904:6;18898:3;18893;18889:13;18882:4;18874:6;18870:17;18848:63;:::i;:::-;18970:3;18930:16;;18962:12;;;18955:28;;;;19007:3;18999:12;;18337:680;-1:-1:-1;;;;;;18337:680:32:o;20080:276::-;20211:3;20249:6;20243:13;20265:53;20311:6;20306:3;20299:4;20291:6;20287:17;20265:53;:::i;:::-;20334:16;;;;;20080:276;-1:-1:-1;;20080:276:32:o;20361:786::-;-1:-1:-1;;;20767:3:32;20760:38;20742:3;20827:6;20821:13;20843:62;20898:6;20893:2;20888:3;20884:12;20877:4;20869:6;20865:17;20843:62;:::i;:::-;-1:-1:-1;;;20964:2:32;20924:16;;;20956:11;;;20949:40;21014:13;;21036:63;21014:13;21085:2;21077:11;;21070:4;21058:17;;21036:63;:::i;:::-;21119:17;21138:2;21115:26;;20361:786;-1:-1:-1;;;;20361:786:32:o;21152:627::-;-1:-1:-1;;;;;21503:15:32;;;21485:34;;21555:15;;;;21550:2;21535:18;;21528:43;21602:2;21587:18;;21580:34;21645:2;21630:18;;21623:34;;;;21465:3;21688;21673:19;;21666:32;;;21428:4;21714:19;;;21707:30;21769:3;21754:19;;21152:627::o;22063:261::-;22242:2;22231:9;22224:21;22205:4;22262:56;22314:2;22303:9;22299:18;22291:6;22262:56;:::i;22329:465::-;22586:2;22575:9;22568:21;22549:4;22612:56;22664:2;22653:9;22649:18;22641:6;22612:56;:::i;:::-;22716:9;22708:6;22704:22;22699:2;22688:9;22684:18;22677:50;22744:44;22781:6;22773;22744:44;:::i;:::-;22736:52;22329:465;-1:-1:-1;;;;;22329:465:32:o;24239:383::-;24388:2;24377:9;24370:21;24351:4;24420:6;24414:13;24463:6;24458:2;24447:9;24443:18;24436:34;24479:66;24538:6;24533:2;24522:9;24518:18;24513:2;24505:6;24501:15;24479:66;:::i;:::-;24606:2;24585:15;-1:-1:-1;;24581:29:32;24566:45;;;;24613:2;24562:54;;24239:383;-1:-1:-1;;24239:383:32:o;25341:418::-;25543:2;25525:21;;;25582:2;25562:18;;;25555:30;25621:34;25616:2;25601:18;;25594:62;-1:-1:-1;;;25687:2:32;25672:18;;25665:52;25749:3;25734:19;;25341:418::o;26124:::-;26326:2;26308:21;;;26365:2;26345:18;;;26338:30;26404:34;26399:2;26384:18;;26377:62;-1:-1:-1;;;26470:2:32;26455:18;;26448:52;26532:3;26517:19;;26124:418::o;26902:406::-;27104:2;27086:21;;;27143:2;27123:18;;;27116:30;27182:34;27177:2;27162:18;;27155:62;-1:-1:-1;;;27248:2:32;27233:18;;27226:40;27298:3;27283:19;;26902:406::o;27313:411::-;27515:2;27497:21;;;27554:2;27534:18;;;27527:30;27593:34;27588:2;27573:18;;27566:62;-1:-1:-1;;;27659:2:32;27644:18;;27637:45;27714:3;27699:19;;27313:411::o;27729:406::-;27931:2;27913:21;;;27970:2;27950:18;;;27943:30;28009:34;28004:2;27989:18;;27982:62;-1:-1:-1;;;28075:2:32;28060:18;;28053:40;28125:3;28110:19;;27729:406::o;28543:409::-;28745:2;28727:21;;;28784:2;28764:18;;;28757:30;28823:34;28818:2;28803:18;;28796:62;-1:-1:-1;;;28889:2:32;28874:18;;28867:43;28942:3;28927:19;;28543:409::o;28957:355::-;29159:2;29141:21;;;29198:2;29178:18;;;29171:30;29237:33;29232:2;29217:18;;29210:61;29303:2;29288:18;;28957:355::o;29720:399::-;29922:2;29904:21;;;29961:2;29941:18;;;29934:30;30000:34;29995:2;29980:18;;29973:62;-1:-1:-1;;;30066:2:32;30051:18;;30044:33;30109:3;30094:19;;29720:399::o;30124:403::-;30326:2;30308:21;;;30365:2;30345:18;;;30338:30;30404:34;30399:2;30384:18;;30377:62;-1:-1:-1;;;30470:2:32;30455:18;;30448:37;30517:3;30502:19;;30124:403::o;30532:399::-;30734:2;30716:21;;;30773:2;30753:18;;;30746:30;30812:34;30807:2;30792:18;;30785:62;-1:-1:-1;;;30878:2:32;30863:18;;30856:33;30921:3;30906:19;;30532:399::o;30936:349::-;31138:2;31120:21;;;31177:2;31157:18;;;31150:30;-1:-1:-1;;;31211:2:32;31196:18;;31189:55;31276:2;31261:18;;30936:349::o;31290:401::-;31492:2;31474:21;;;31531:2;31511:18;;;31504:30;31570:34;31565:2;31550:18;;31543:62;-1:-1:-1;;;31636:2:32;31621:18;;31614:35;31681:3;31666:19;;31290:401::o;31696:::-;31898:2;31880:21;;;31937:2;31917:18;;;31910:30;31976:34;31971:2;31956:18;;31949:62;-1:-1:-1;;;32042:2:32;32027:18;;32020:35;32087:3;32072:19;;31696:401::o;32102:397::-;32304:2;32286:21;;;32343:2;32323:18;;;32316:30;32382:34;32377:2;32362:18;;32355:62;-1:-1:-1;;;32448:2:32;32433:18;;32426:31;32489:3;32474:19;;32102:397::o;32504:424::-;32706:2;32688:21;;;32745:2;32725:18;;;32718:30;32784:34;32779:2;32764:18;;32757:62;32855:30;32850:2;32835:18;;32828:58;32918:3;32903:19;;32504:424::o;32933:411::-;33135:2;33117:21;;;33174:2;33154:18;;;33147:30;33213:34;33208:2;33193:18;;33186:62;-1:-1:-1;;;33279:2:32;33264:18;;33257:45;33334:3;33319:19;;32933:411::o;34353:275::-;34424:2;34418:9;34489:2;34470:13;;-1:-1:-1;;34466:27:32;34454:40;;-1:-1:-1;;;;;34509:34:32;;34545:22;;;34506:62;34503:88;;;34571:18;;:::i;:::-;34607:2;34600:22;34353:275;;-1:-1:-1;34353:275:32:o;34633:128::-;34673:3;34704:1;34700:6;34697:1;34694:13;34691:39;;;34710:18;;:::i;:::-;-1:-1:-1;34746:9:32;;34633:128::o;34766:120::-;34806:1;34832;34822:35;;34837:18;;:::i;:::-;-1:-1:-1;34871:9:32;;34766:120::o;34891:168::-;34931:7;34997:1;34993;34989:6;34985:14;34982:1;34979:21;34974:1;34967:9;34960:17;34956:45;34953:71;;;35004:18;;:::i;:::-;-1:-1:-1;35044:9:32;;34891:168::o;35064:125::-;35104:4;35132:1;35129;35126:8;35123:34;;;35137:18;;:::i;:::-;-1:-1:-1;35174:9:32;;35064:125::o;35194:258::-;35266:1;35276:113;35290:6;35287:1;35284:13;35276:113;;;35366:11;;;35360:18;35347:11;;;35340:39;35312:2;35305:10;35276:113;;;35407:6;35404:1;35401:13;35398:48;;;-1:-1:-1;;35442:1:32;35424:16;;35417:27;35194:258::o;35457:136::-;35496:3;35524:5;35514:39;;35533:18;;:::i;:::-;-1:-1:-1;;;35569:18:32;;35457:136::o;35598:135::-;35637:3;-1:-1:-1;;35658:17:32;;35655:43;;;35678:18;;:::i;:::-;-1:-1:-1;35725:1:32;35714:13;;35598:135::o;35738:112::-;35770:1;35796;35786:35;;35801:18;;:::i;:::-;-1:-1:-1;35835:9:32;;35738:112::o;35855:127::-;35916:10;35911:3;35907:20;35904:1;35897:31;35947:4;35944:1;35937:15;35971:4;35968:1;35961:15;35987:127;36048:10;36043:3;36039:20;36036:1;36029:31;36079:4;36076:1;36069:15;36103:4;36100:1;36093:15;36119:127;36180:10;36175:3;36171:20;36168:1;36161:31;36211:4;36208:1;36201:15;36235:4;36232:1;36225:15;36251:127;36312:10;36307:3;36303:20;36300:1;36293:31;36343:4;36340:1;36333:15;36367:4;36364:1;36357:15;36383:127;36444:10;36439:3;36435:20;36432:1;36425:31;36475:4;36472:1;36465:15;36499:4;36496:1;36489:15", + "source": "//SPDX-License-Identifier: UNLICENSED\r\n\r\npragma solidity 0.8.7;\r\nimport './RahatERC20.sol';\r\nimport './RahatERC1155.sol';\r\nimport '@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol';\r\nimport '@openzeppelin/contracts/utils/structs/EnumerableSet.sol';\r\nimport '@openzeppelin/contracts/utils/cryptography/ECDSA.sol';\r\n\r\n\r\ncontract Rahat is AccessControl,ERC1155Holder {\r\n using Strings for uint256;\r\n using EnumerableSet for EnumerableSet.Bytes32Set;\r\n using EnumerableSet for EnumerableSet.AddressSet;\r\n using EnumerableSet for EnumerableSet.UintSet;\r\n using ECDSA for bytes32;\r\n\r\n\t//***** Events *********//\r\n\tevent ClaimedERC20(address indexed vendor, uint256 indexed beneficiary,uint256 amount);\r\n\tevent ClaimedERC1155(address indexed vendor, uint256 indexed beneficiary,uint256 indexed tokenId,uint256 amount);\r\n\tevent ClaimApproved(address indexed vendor, uint256 indexed phone, uint256 amount);\r\n\tevent IssuedERC20(bytes32 indexed projectId, uint256 indexed phone, uint256 amount);\r\n\tevent IssuedERC1155(bytes32 indexed projectId, uint256 indexed phone, uint256 indexed tokenId, uint256 amount);\r\n\tevent ClaimAcquiredERC20(address indexed vendor, uint256 indexed beneficiary,uint256 amount);\r\n\tevent ClaimAcquiredERC1155(address indexed vendor, uint256 indexed beneficiary,uint256 indexed tokenId,uint256 amount);\r\n\tevent InvalidSignature(bytes signature,bytes32 digest, address expectedSigner,address recoveredSigner);\r\n\r\n\t//event BalanceAdjusted(uint256 indexed phone, uint256 amount, string reason);\r\n\r\n\t//***** Constant Variables (Roles) *********//\r\n\tbytes32 public constant SERVER_ROLE = keccak256('SERVER');\r\n\tbytes32 public constant VENDOR_ROLE = keccak256('VENDOR');\r\n\tbytes32 public constant MANAGER_ROLE = keccak256('MANAGER');\r\n\tbytes32 public constant MOBILIZER_ROLE = keccak256('MOBILIZER');\r\n\tbytes32 public constant ISSUE_TOKEN = keccak256(\"issueToken\");\r\n\tbytes32 public constant CREATE_CLAIM = keccak256(\"createClaim\");\r\n\tbytes32 public constant GET_TOKENS_FROM_CLAIM = keccak256(\"getTokensFromClaim\");\r\n\r\n\r\n\r\n mapping(address => uint) public nonces; //delegated users nonces\r\n\r\n\r\n\t//***** Variables (State) *********//\r\n\t//AidToke public tokenContract;\r\n RahatERC20 public erc20;\r\n RahatERC1155 public erc1155;\r\n \r\n ///@notice track total issued tokens of each benefiicary phone\r\n mapping(uint256 => uint256) public erc20Issued; //phone=>balance\r\n mapping(uint256 =>mapping(uint256 => uint256)) public erc1155Issued; //phone=>tokenid=>balance\r\n mapping(uint256 => EnumerableSet.UintSet) beneficiaryTokenIds;\r\n\r\n \r\n\t/// @notice track balances of each beneficiary phone\r\n\tmapping(uint256 => uint256) public erc20Balance; //phone=>balance\r\n\tmapping(uint256 =>mapping(uint256 => uint256)) public erc1155Balance; //phone=>tokenid=>balance\r\n\r\n\r\n\t/// @notice track projectBalances\r\n\t//bytes32[] public projectId;\r\n\tEnumerableSet.Bytes32Set private projectId;\r\n\tmapping(bytes32 => uint256) remainingProjectErc20Balances;\r\n\tmapping(bytes32 =>mapping(uint256 => uint256)) remainingProjectErc1155Balances;\r\n\tmapping(bytes32 => EnumerableSet.AddressSet) projectMobilizers;\r\n\tmapping(bytes32 => EnumerableSet.AddressSet) projectVendors;\r\n\t\r\n\tmapping(address => uint256) public erc20IssuedBy;\r\n\tmapping(address => EnumerableSet.UintSet) tokenIdsIssuedBy; // Address => tokenIds[]\r\n\tmapping(address =>mapping(uint256 => uint256)) public erc1155IssuedBy; //Address => tokenId => balance\r\n \r\n\r\n\tstruct claim {\r\n\t\tuint256 amount;\r\n\t\tbytes32 otpHash;\r\n\t\tbool isReleased;\r\n\t\tuint256 date;\r\n\t}\r\n\t/// @dev vendorAddress => phone => claim\r\n\tmapping(address => mapping(bytes32 => claim)) public recentERC20Claims;\r\n\tmapping(address => mapping(bytes32 => mapping(uint256 => claim))) public recentERC1155Claims;\r\n\r\n\t//***** Constructor *********//\r\n\tconstructor(RahatERC20 _erc20, RahatERC1155 _erc1155, address _admin) {\r\n\t\t_setupRole(DEFAULT_ADMIN_ROLE, tx.origin);\r\n\t\t_setupRole(DEFAULT_ADMIN_ROLE, _admin);\r\n\t\t_setRoleAdmin(SERVER_ROLE, DEFAULT_ADMIN_ROLE);\r\n\t\t_setRoleAdmin(VENDOR_ROLE, DEFAULT_ADMIN_ROLE);\r\n\t\tgrantRole(SERVER_ROLE, msg.sender);\r\n\t\terc20 = _erc20;\r\n\t\terc1155 = _erc1155;\r\n\t}\r\n \r\n function supportsInterface(bytes4 interfaceId) public view virtual override(AccessControl,ERC1155Receiver) returns (bool) {\r\n return super.supportsInterface(interfaceId);\r\n}\r\n\r\n\r\n\t//***** Modifiers *********//\r\n\tmodifier OnlyServer() {\r\n\t\trequire(hasRole(SERVER_ROLE, msg.sender), 'RAHAT: Sender must be an authorized server');\r\n\t\t_;\r\n\t}\r\n\tmodifier OnlyAdmin {\r\n\t\trequire(hasRole(DEFAULT_ADMIN_ROLE, msg.sender), 'RAHAT: Sender must be an admin.');\r\n\t\t_;\r\n\t}\r\n\tmodifier IsBeneficiary(uint256 _phone) {\r\n\t bytes32 _benId = findHash(_phone);\r\n\t\trequire(erc20Balance[_phone] != 0, 'RAHAT: No any token was issued to this number');\r\n\t\t_;\r\n\t}\r\n\tmodifier OnlyVendor {\r\n\t\trequire(hasRole(VENDOR_ROLE, msg.sender), 'RAHAT: Sender Must be a registered vendor.');\r\n\t\t_;\r\n\t}\r\n\tmodifier OnlyAdminOrMobilizer {\r\n\t require((hasRole(DEFAULT_ADMIN_ROLE, msg.sender) || hasRole(MOBILIZER_ROLE, msg.sender)), 'RAHAT: Sender Must be a registered Admin Or Mobilizer.');\r\n _;\r\n\t}\r\n\r\n\t//***** Methods *********//\r\n\t//Access Control Management\r\n\t/// @notice add admin of the this contract\r\n\t/// @param _account address of the new admin\r\n\tfunction addAdmin(address _account) public {\r\n\t\tgrantRole(DEFAULT_ADMIN_ROLE, _account);\r\n\t}\r\n\r\n\t/// @notice add server account for this contract\r\n\t/// @param _account address of the new server account\r\n\tfunction addServer(address _account) public {\r\n\t\tgrantRole(SERVER_ROLE, _account);\r\n\t}\r\n\r\n\t/// @notice add vendors\r\n\t/// @param _account address of the new vendor\r\n\tfunction addVendor(address _account) public {\r\n\t\tgrantRole(VENDOR_ROLE, _account);\r\n\t}\r\n\r\n \t/// @notice add vendors\r\n\t/// @param _account address of the new vendor\r\n\tfunction addMobilizer(address _account,string memory _projectId) public {\r\n\t bytes32 _id = findHash(_projectId);\r\n\t\tgrantRole(MOBILIZER_ROLE, _account);\r\n\t\tprojectMobilizers[_id].add(_account);\r\n\t\r\n\t}\r\n\t\r\n\tfunction getTotalERC1155Issued(uint256 _phone) public view returns(uint256[] memory tokenIds,uint256[] memory balances) {\r\n\t uint256 i;\r\n uint256 _totalERC1155 = beneficiaryTokenIds[_phone].length();\r\n uint256[] memory _tokenIds = new uint256[](_totalERC1155);\r\n uint256[] memory _balances = new uint256[](_totalERC1155);\r\n \r\n for (i=0;i<_totalERC1155;i++){\r\n uint256 _tokenId = beneficiaryTokenIds[_phone].at(i);\r\n uint256 _balance = erc1155Issued[_phone][_tokenId];\r\n _tokenIds[i] = _tokenId;\r\n _balances[i] = _balance;\r\n }\r\n \r\n return (_tokenIds,_balances);\r\n\t}\r\n\t\r\n\tfunction getTotalERC1155Balance(uint256 _phone) public view returns(uint256[] memory tokenIds,uint256[] memory balances) {\r\n\t uint256 i;\r\n uint256 _totalERC1155 = beneficiaryTokenIds[_phone].length();\r\n uint256[] memory _tokenIds = new uint256[](_totalERC1155);\r\n uint256[] memory _balances = new uint256[](_totalERC1155);\r\n \r\n for (i=0;i<_totalERC1155;i++){\r\n uint256 _tokenId = beneficiaryTokenIds[_phone].at(i);\r\n uint256 _balance = erc1155Balance[_phone][_tokenId];\r\n _tokenIds[i] = _tokenId;\r\n _balances[i] = _balance;\r\n }\r\n \r\n return (_tokenIds,_balances);\r\n\t}\r\n\t\r\n\tfunction getTotalERC1155IssuedBy(address _address) public view returns(uint256[] memory tokenIds,uint256[] memory balances) {\r\n\t uint256 i;\r\n\t uint256 _totalERC1155 = tokenIdsIssuedBy[_address].length();\r\n\t uint256[] memory _tokenIds = new uint256[](_totalERC1155);\r\n uint256[] memory _balances = new uint256[](_totalERC1155);\r\n \r\n for (i=0;i<_totalERC1155;i++){\r\n uint256 _tokenId = tokenIdsIssuedBy[_address].at(i);\r\n uint256 _balance = erc1155IssuedBy[_address][_tokenId];\r\n _tokenIds[i] = _tokenId;\r\n _balances[i] = _balance;\r\n }\r\n \r\n return (_tokenIds,_balances);\r\n\t}\r\n\r\n\r\n function getTokenIdsOfBeneficiary(uint256 _phone) public view returns(uint256[] memory tokenIds){\r\n return beneficiaryTokenIds[_phone].values();\r\n }\r\n \r\n function getTokenIdsIssuedBy(address _address) public view returns(uint256[] memory tokenIds){\r\n return tokenIdsIssuedBy[_address].values();\r\n }\r\n \r\n\tfunction suspendMobilizer() public {\r\n\r\n\t}\r\n\tfunction suspendVendor() public {\r\n\t\t\r\n\t}\r\n\t//Beneficiary Management\r\n\t/// @notice suspend the benficiary by deducting all the balance beneficiary owns\r\n\t/// @param _phone phone number of the Beneficiary\r\n\t/// @param _projectId projectId of the beneficiary\r\n\tfunction suspendBeneficiary(uint256 _phone , bytes32 _projectId) public OnlyServer IsBeneficiary(_phone) {\r\n\t // bytes32 _benId = findHash(_phone);\r\n\r\n\t\tuint256 _balance = erc20Balance[_phone];\r\n\t\tremainingProjectErc20Balances[_projectId] += _balance;\r\n\t\tadjustTokenDeduct(_phone, _balance);\r\n\t}\r\n\r\n\t/// @notice adds the token from beneficiary\r\n\tfunction adjustTokenAdd(uint256 _phone, uint256 _amount) public OnlyAdmin {\r\n\t // bytes32 _benId = findHash(_phone);\r\n\t\terc20Balance[_phone] = erc20Balance[_phone] + _amount;\r\n\t\terc20Issued[_phone] = erc20Issued[_phone] + _amount;\r\n\t\t//emit BalanceAdjusted(_phone, _amount, _reason);\r\n\t}\r\n\r\n\t/// @notice deducts the token from beneficiary\r\n\tfunction adjustTokenDeduct(uint256 _phone, uint256 _amount) public OnlyAdmin IsBeneficiary(_phone) {\r\n\t //bytes32 _benId = findHash(_phone);\r\n\t\terc20Balance[_phone] = erc20Balance[_phone] - _amount;\r\n\t\t//emit BalanceAdjusted(_phone, _amount, _reason);\r\n\t}\r\n\t\r\n\t\r\n\t\r\n\t/// @notice adds the token from beneficiary\r\n\tfunction adjustTokenAdd(uint256 _phone, uint256 _amount,uint256 _tokenId) public OnlyAdmin {\r\n\t // bytes32 _benId = findHash(_phone);\r\n\t\terc1155Balance[_phone][_tokenId] += _amount;\r\n\t\terc1155Issued[_phone][_tokenId] += _amount;\r\n\t\t//emit BalanceAdjusted(_phone, _amount, _reason);\r\n\t}\r\n\r\n\t/// @notice deducts the token from beneficiary\r\n\tfunction adjustTokenDeduct(uint256 _phone, uint256 _amount,uint256 _tokenId) public OnlyAdmin IsBeneficiary(_phone) {\r\n\t // bytes32 _benId = findHash(_phone);\r\n\t\terc1155Balance[_phone][_tokenId] -= _amount;\r\n\t\t//emit BalanceAdjusted(_phone, _amount, _reason);\r\n\t}\r\n\r\n\t/// @notice creates a project.\r\n\t/// @notice called by rahatdmin contract\r\n\t/// @param _projectId Id of the project to assign budget\r\n\t/// @param _projectCapital amount of budget to be assigned to project\r\n\tfunction addProject(bytes32 _projectId, uint256 _projectCapital) external {\r\n\t\tprojectId.add(_projectId);\r\n\t\tremainingProjectErc20Balances[_projectId] = _projectCapital;\r\n\t}\r\n\r\n\t/// @notice update a project balance.\r\n\t/// @notice called by rahatdmin contract\r\n\t/// @param _projectId Id of the project to assign budget\r\n\t/// @param _projectCapital amount of budget to be added to project\r\n\tfunction updateProjectBudget(bytes32 _projectId, uint256 _projectCapital) external {\r\n\t\tremainingProjectErc20Balances[_projectId] += _projectCapital;\r\n\t}\r\n\t\r\n\t/// @notice update a project balance.\r\n\t/// @notice called by rahatdmin contract\r\n\t/// @param _projectId Id of the project to assign budget\r\n\t/// @param _projectCapital amount of budget to be added to project\r\n\t/// @param tokenId ERC1155 token id\r\n\tfunction updateProjectBudget(bytes32 _projectId, uint256 _projectCapital,uint256 tokenId) external {\r\n\t\tremainingProjectErc1155Balances[_projectId][tokenId] += _projectCapital;\r\n\t}\r\n\r\n\t/// @notice get the current balance of project\r\n\tfunction getProjectBalance(bytes32 _projectId) external view returns (uint256 _balance) {\r\n\t\treturn remainingProjectErc20Balances[_projectId];\r\n\t}\r\n\t\r\n\t\t/// @notice get the current balance of project\r\n\tfunction getProjectBalance(bytes32 _projectId, uint256 tokenId) external view returns (uint256 _balance) {\r\n\t\treturn remainingProjectErc1155Balances[_projectId][tokenId];\r\n\t}\r\n\t\r\n\tfunction verifyVendor(bytes32 _hash, bytes memory _signature) internal view returns(address){\r\n\t address _signer = _hash.recover(_signature);\r\n\t require(hasRole(VENDOR_ROLE,_signer),\"Signer should be Mobilizer\");\r\n\t return _signer;\r\n\t}\r\n\t\r\n\tfunction verifyMobilizer(bytes32 _hash, bytes memory _signature) internal view returns (address){\r\n\t address _signer = _hash.recover(_signature);\r\n\t require(hasRole(MOBILIZER_ROLE,_signer),\"Signer should be Mobilizer\");\r\n\t return _signer;\r\n\r\n\t}\r\n\r\n\t/// @notice Issue tokens to beneficiary\r\n\t/// @param _projectId Id of the project beneficiary is involved in\r\n\t/// @param _phone phone number of the beneficiary\r\n\t/// @param _amount Amount of token to be assigned to beneficiary\r\n\tfunction issueERC20ToBeneficiary(\r\n\t\tstring memory _projectId,\r\n\t\tuint256 _phone,\r\n\t\tuint256 _amount\r\n\t) public OnlyAdminOrMobilizer {\r\n\t\tbytes32 _id = findHash(_projectId);\r\n \r\n if(hasRole(MOBILIZER_ROLE, msg.sender)){\r\n\t\trequire(projectMobilizers[_id].contains(msg.sender));\r\n }\r\n\t\terc20IssuedBy[msg.sender] += _amount; \r\n\r\n\t\trequire(remainingProjectErc20Balances[_id] >= _amount, 'RAHAT: Amount is greater than remaining Project Budget');\r\n\t\tremainingProjectErc20Balances[_id] -= _amount;\r\n\t\tadjustTokenAdd(_phone, _amount);\r\n\r\n\t\temit IssuedERC20(_id, _phone, _amount);\r\n\t}\r\n\t\r\n\t/// @notice Issue ERC20 tokens to beneficiary\r\n\t/// @param _projectId Id of the project beneficiary is involved in\r\n\t/// @param _phone phone number of the beneficiary\r\n\t/// @param _amount Amount of token to be assigned to beneficiary\r\n\t/// @param _tokenId ERC1155 TokenId\r\n\tfunction issueERC1155ToBeneficiary(\r\n\t\tstring memory _projectId,\r\n\t\tuint256 _phone,\r\n\t\tuint256[] memory _amount,\r\n\t\tuint256[] memory _tokenId\r\n\t) public OnlyAdminOrMobilizer {\r\n\t\tbytes32 _id = findHash(_projectId);\r\n\t\trequire(_amount.length == _tokenId.length, 'RAHAT: Invalid input arrays of Phone and Amount');\r\n\t\t if(hasRole(MOBILIZER_ROLE, msg.sender)){\r\n\t\trequire(projectMobilizers[_id].contains(msg.sender));\r\n }\r\n\t\tuint256 i;\r\n\t\tfor (i = 0; i < _tokenId.length; i++) {\r\n\t\t \trequire(remainingProjectErc1155Balances[_id][_tokenId[i]] >= _amount[i], 'RAHAT: Amount is greater than remaining Project Budget');\r\n\t\t \t\r\n\t\t \ttokenIdsIssuedBy[msg.sender].add(_tokenId[i]);\r\n\t\t \terc1155IssuedBy[msg.sender][_tokenId[i]] += _amount[i];\r\n\t\t remainingProjectErc1155Balances[_id][_tokenId[i]] -= _amount[i];\r\n\t\t adjustTokenAdd(_phone, _amount[i],_tokenId[i]);\r\n\t\t beneficiaryTokenIds[_phone].add(_tokenId[i]);\r\n\t\t emit IssuedERC1155(_id, _phone, _tokenId[i],_amount[i]);\r\n\t\t}\r\n\t\r\n\t\t\r\n\t}\r\n\t\r\n\t/// @notice Issue ERC20 to beneficiary\r\n\t/// @param _signer Address of the mobilizer/caller who is issuing tokens\r\n\t/// @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through mobilizer/caller wallet\r\n\t/// @param _projectId Id of the project beneficiary is involved in\r\n\t/// @param _phone phone number of the beneficiary\r\n\t/// @param _amount Amount of token to be assigned to beneficiary\r\n\tfunction delegate_issueERC20ToBeneficiary(\r\n\t address _signer,\r\n\t bytes memory _signature,\r\n\t\tstring memory _projectId,\r\n\t\tuint256 _phone,\r\n\t\tuint256 _amount\r\n\t) public {\r\n\t bytes32 _hash = keccak256(abi.encodePacked(address(this), ISSUE_TOKEN, nonces[_signer], _projectId, _phone,_amount)); //data-hash of toke issuance = {to,functionSig,nonce,projectId,phone,amount}\r\n address recoveredSigner = verifyMobilizer(_hash,_signature);\r\n require(recoveredSigner == _signer,'Signature did not matched with signer');\r\n nonces[_signer]++;\r\n\r\n \r\n\t\tbytes32 _id = findHash(_projectId);\r\n\t\trequire(remainingProjectErc20Balances[_id] >= _amount, 'RAHAT: Amount is greater than remaining Project Budget');\r\n\t\tremainingProjectErc20Balances[_id] -= _amount;\r\n\t\tadjustTokenAdd(_phone, _amount);\r\n\r\n\t\temit IssuedERC20(_id, _phone, _amount);\r\n\t}\r\n\t\r\n\t\t\r\n\t/// @notice Issue ERC1155 tokens to beneficiary\r\n\t/// @param _signer Address of the mobilizer/caller who is issuing tokens\r\n\t/// @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through mobilizer/caller wallet\r\n\t/// @param _projectId Id of the project beneficiary is involved in\r\n\t/// @param _phone phone number of the beneficiary\r\n\t/// @param _amount Amount of token to be assigned to beneficiary\r\n\t/// @param _tokenId ERC1155 TokenId\r\n\tfunction delegate_issueERC1155ToBeneficiary(\r\n\t address _signer,\r\n\t bytes memory _signature,\r\n\t\tstring memory _projectId,\r\n\t\tuint256 _phone,\r\n\t\tuint256 _amount,\r\n\t\tuint256 _tokenId\r\n\t) public {\r\n\t bytes32 _hash = keccak256(abi.encodePacked(address(this), ISSUE_TOKEN, nonces[_signer], _projectId, _phone,_amount)); //data-hash of toke issuance = {to,functionSig,nonce,projectId,phone,amount}\r\n address recoveredSigner = verifyMobilizer(_hash,_signature);\r\n require(recoveredSigner == _signer,'Signature did not matched with signer');\r\n nonces[_signer]++;\r\n\r\n \r\n\t\tbytes32 _id = findHash(_projectId);\r\n\t\trequire(remainingProjectErc1155Balances[_id][_tokenId] >= _amount, 'RAHAT: Amount is greater than remaining Project Budget');\r\n\t\tremainingProjectErc1155Balances[_id][_tokenId] -= _amount;\r\n\t\tadjustTokenAdd(_phone, _amount,_tokenId);\r\n\r\n\t\temit IssuedERC1155(_id, _phone,_tokenId, _amount);\r\n\t}\r\n\r\n\t/// @notice Issue tokens to beneficiary in bulk\r\n\t/// @param _projectId Id of the project beneficiary is involved in\r\n\t/// @param _phone array of phone number of the beneficiary\r\n\t/// @param _amount array of Amount of token to be assigned to beneficiary\r\n\tfunction issueBulkERC20(\r\n\t\tstring memory _projectId,\r\n\t\tuint256[] memory _phone,\r\n\t\tuint256[] memory _amount\r\n\t) public OnlyAdmin {\r\n\t\trequire(_phone.length == _amount.length, 'RAHAT: Invalid input arrays of Phone and Amount');\r\n\t\tuint256 i;\r\n\t\tuint256 sum = getArraySum(_amount);\r\n\t\tbytes32 _id = findHash(_projectId);\r\n\r\n\t\trequire(remainingProjectErc20Balances[_id] >= sum, 'RAHAT: Amount is greater than remaining Project Budget');\r\n\r\n\t\tfor (i = 0; i < _phone.length; i++) {\r\n\t\t\tissueERC20ToBeneficiary(_projectId, _phone[i], _amount[i]);\r\n\t\t}\r\n\t}\r\n\t\r\n\t\t/// @notice Issue tokens to beneficiary in bulk\r\n\t/// @param _projectId Id of the project beneficiary is involved in\r\n\t/// @param _phone array of phone number of the beneficiary\r\n\t/// @param _amount array of Amount of token to be assigned to beneficiary\r\n\tfunction issueBulkERC1155(\r\n\t\tstring memory _projectId,\r\n\t\tuint256[] memory _phone,\r\n\t\tuint256[] memory _amount,\r\n\t\tuint256 _tokenId\r\n\t\t\r\n\t) public OnlyAdmin {\r\n\t\trequire(_phone.length == _amount.length, 'RAHAT: Invalid input arrays of Phone and Amount');\r\n\t\tuint256 i;\r\n\t\tuint256 sum = getArraySum(_amount);\r\n\t\tbytes32 _id = findHash(_projectId);\r\n\r\n\t\trequire(remainingProjectErc1155Balances[_id][_tokenId] >= sum, 'RAHAT: Amount is greater than remaining Project Budget');\r\n\r\n\t\tfor (i = 0; i < _phone.length; i++) {\r\n\t\t uint[] memory amt = new uint[](1);\r\n\t\t uint[] memory tkd = new uint[](1);\r\n\t\t amt[0] = _amount[i];\r\n\t\t tkd[0] = _tokenId;\r\n\t\t\tissueERC1155ToBeneficiary(_projectId, _phone[i], amt,tkd);\r\n\t\t}\r\n\t}\r\n\r\n\t/// @notice request a token to beneficiary by vendor\r\n\t/// @param _phone Phone number of beneficiary to whom token is requested\r\n\t/// @param _tokens Number of tokens to request\r\n\tfunction createERC20Claim(uint256 _phone, uint256 _tokens) public IsBeneficiary(_phone) OnlyVendor {\r\n\t bytes32 _benId = findHash(_phone);\r\n\t\trequire(erc20Balance[_phone] >= _tokens, 'RAHAT: Amount requested is greater than beneficiary balance.');\r\n\t\tclaim storage ac = recentERC20Claims[msg.sender][_benId];\r\n\t\tac.isReleased = false;\r\n\t\tac.amount = _tokens;\r\n\t\tac.date = block.timestamp;\r\n\t\temit ClaimedERC20(tx.origin, _phone, _tokens);\r\n\t}\r\n\t\r\n\t///@dev claim tokens from the beneficiary by vendor\r\n\t///@param _phone identity of the beneficiary\r\n\t///@param _amount amaount of ERC1155 tokens to request\r\n\t///@param _tokenId ERC1155 token id\r\n\tfunction createERC1155Claim(uint256 _phone, uint256 _amount, uint256 _tokenId) public OnlyVendor {\r\n\t bytes32 _benId = findHash(_phone);\r\n\t\trequire(erc1155Balance[_phone][_tokenId] >= _amount, 'RAHAT: Amount requested is greater than beneficiary balance.');\r\n\t\tclaim storage ac = recentERC1155Claims[msg.sender][_benId][_tokenId];\r\n\t\tac.isReleased = false;\r\n\t\tac.amount = _amount;\r\n\t\tac.date = block.timestamp;\r\n\t\temit ClaimedERC1155(tx.origin, _phone, _tokenId, _amount);\r\n\t}\r\n\t\r\n\t///@dev delegate a createClaim transaction for ERC20\r\n\t///@param _signer address of vendor/caller of createClaim\r\n\t/// @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\r\n\t/// @param _phone identity of benficiary\r\n\t/// @param _amount amount of token to be claimed\r\n\tfunction delegate_createERC20Claim(address _signer,bytes memory _signature,uint256 _phone, uint256 _amount) public {\r\n\t bytes32 _hash = keccak256(abi.encodePacked(address(this), CREATE_CLAIM, nonces[_signer], _phone,_amount)); //data-hash of toke issuance = {to,functionSig,nonce,projectId,phone,amount}\r\n address recoveredSigner = verifyVendor(_hash,_signature);\r\n require(recoveredSigner == _signer,'Signature did not matched with signer');\r\n nonces[_signer]++;\r\n\r\n bytes32 _benId = findHash(_phone);\r\n\t\trequire(erc20Balance[_phone] >= _amount, 'RAHAT: Amount requested is greater than beneficiary balance.');\r\n\t\tclaim storage ac = recentERC20Claims[_signer][_benId];\r\n\t\tac.isReleased = false;\r\n\t\tac.amount = _amount;\r\n\t\tac.date = block.timestamp;\r\n\t\temit ClaimedERC20(tx.origin, _phone, _amount);\r\n\t \r\n\t}\r\n\t\r\n\r\n\t///@dev delegate a createClaim transaction for ERC20\r\n\t///@param _signer address of vendor/caller of createClaim\r\n\t/// @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\r\n\t/// @param _phone identity of benficiary\r\n\t/// @param _amount amount of token to be claimed\r\n\t/// @param _tokenId ERC1155 tokenId\r\n\tfunction delegate_createERC1155Claim(address _signer,bytes memory _signature,uint256 _phone, uint256 _amount, uint256 _tokenId) public {\r\n\t bytes32 _hash = keccak256(abi.encodePacked(address(this), CREATE_CLAIM, nonces[_signer], _phone,_amount,_tokenId)); //data-hash of toke issuance = {to,functionSig,nonce,projectId,phone,amount}\r\n address recoveredSigner = verifyVendor(_hash,_signature);\r\n require(recoveredSigner == _signer,'Signature did not matched with signer');\r\n nonces[_signer]++;\r\n\t \r\n\t bytes32 _benId = findHash(_phone);\r\n\t\trequire(erc1155Balance[_phone][_tokenId] >= _amount, 'RAHAT: Amount requested is greater than beneficiary balance.');\r\n\t\tclaim storage ac = recentERC1155Claims[_signer][_benId][_tokenId];\r\n\t\tac.isReleased = false;\r\n\t\tac.amount = _amount;\r\n\t\tac.date = block.timestamp;\r\n\t\temit ClaimedERC1155(tx.origin, _phone,_tokenId, _amount);\r\n\t}\r\n\t\r\n\r\n\r\n\r\n\t/// @notice Approve the requested claim from serverside and set the otp hash\r\n\t/// @param _vendor Address of the vendor who requested the token from beneficiary\r\n\t/// @param _phone Phone number of the beneficiary, to whom token request was sent\r\n\t/// @param _otpHash Hash of OTP sent to beneficiary by server\r\n\t/// @param _timeToLive Validity of OTP in seconds\r\n\tfunction approveERC20Claim(\r\n\t\taddress _vendor,\r\n\t\tuint256 _phone,\r\n\t\tbytes32 _otpHash,\r\n\t\tuint256 _timeToLive\r\n\t) public IsBeneficiary(_phone) OnlyServer {\r\n\t bytes32 _benId = findHash(_phone);\r\n\t\tclaim storage ac = recentERC20Claims[_vendor][_benId];\r\n\t\trequire(ac.date != 0, 'RAHAT: Claim has not been created yet');\r\n\t\trequire(_timeToLive <= 86400, 'RAHAT:Time To Live should be less than 24 hours');\r\n\t\trequire(block.timestamp <= ac.date + 86400, 'RAHAT: Claim is older than 24 hours');\r\n\t\trequire(!ac.isReleased, 'RAHAT: Claim has already been released.');\r\n\t\tac.otpHash = _otpHash;\r\n\t\tac.isReleased = true;\r\n\t\tac.date = block.timestamp + _timeToLive;\r\n\t\temit ClaimApproved(_vendor, _phone, ac.amount);\r\n\t}\r\n\t\r\n\t/// @notice Approve the requested claim from serverside and set the otp hash\r\n\t/// @param _vendor Address of the vendor who requested the token from beneficiary\r\n\t/// @param _phone Phone number of the beneficiary, to whom token request was sent\r\n\t/// @param _otpHash Hash of OTP sent to beneficiary by server\r\n\t/// @param _timeToLive Validity of OTP in seconds\r\n\t/// @param _tokenId ERC1155 tokenId\r\n\r\n\tfunction approveERC1155Claim(\r\n\t\taddress _vendor,\r\n\t\tuint256 _phone,\r\n\t\tbytes32 _otpHash,\r\n\t\tuint256 _timeToLive,\r\n\t\tuint256 _tokenId\r\n\t) public OnlyServer {\r\n\t bytes32 _benId = findHash(_phone);\r\n\t\tclaim storage ac = recentERC1155Claims[_vendor][_benId][_tokenId];\r\n\t\trequire(ac.date != 0, 'RAHAT: Claim has not been created yet');\r\n\t\trequire(_timeToLive <= 86400, 'RAHAT:Time To Live should be less than 24 hours');\r\n\t\trequire(block.timestamp <= ac.date + 86400, 'RAHAT: Claim is older than 24 hours');\r\n\t\trequire(!ac.isReleased, 'RAHAT: Claim has already been released.');\r\n\t\tac.otpHash = _otpHash;\r\n\t\tac.isReleased = true;\r\n\t\tac.date = block.timestamp + _timeToLive;\r\n\t\temit ClaimApproved(_vendor, _phone, ac.amount);\r\n\t}\r\n\r\n\t/// @notice Retrieve tokens that was requested to beneficiary by entering OTP\r\n\t/// @param _phone Phone Number of the beneficiary, to whom token request was sent\r\n\t/// @param _otp OTP sent by the server\r\n\tfunction getERC20FromClaim(uint256 _phone, string memory _otp) public IsBeneficiary(_phone) OnlyVendor {\r\n\t bytes32 _benId = findHash(_phone);\r\n\t\tclaim storage ac = recentERC20Claims[msg.sender][_benId];\r\n\t\trequire(ac.isReleased, 'RAHAT: Claim has not been released.');\r\n\t\trequire(ac.date >= block.timestamp, 'RAHAT: Claim has already expired.');\r\n\t\tbytes32 otpHash = findHash(_otp);\r\n\t\trequire(recentERC20Claims[msg.sender][_benId].otpHash == otpHash, 'RAHAT: OTP did not match.');\r\n\t\tadjustTokenDeduct(_phone,ac.amount);\r\n\t\tuint256 amt = ac.amount;\r\n\t\tac.isReleased = false;\r\n\t\tac.amount = 0;\r\n\t\tac.date = 0;\r\n\t erc20.transfer(msg.sender, amt);\r\n\t emit ClaimAcquiredERC20(msg.sender,_phone,amt);\r\n\r\n\t}\r\n\t\r\n\t/// @notice Retrieve tokens that was requested to beneficiary by entering OTP\r\n\t/// @param _phone Phone Number of the beneficiary, to whom token request was sent\r\n\t/// @param _otp OTP sent by the server\r\n\t/// @param _tokenId ERC1155 tokenId\r\n\tfunction getERC1155FromClaim(uint256 _phone, string memory _otp,uint256 _tokenId) public OnlyVendor {\r\n\t bytes32 _benId = findHash(_phone);\r\n\t\tclaim storage ac = recentERC1155Claims[msg.sender][_benId][_tokenId];\r\n\t\trequire(ac.isReleased, 'RAHAT: Claim has not been released.');\r\n\t\trequire(ac.date >= block.timestamp, 'RAHAT: Claim has already expired.');\r\n\t\tbytes32 otpHash = findHash(_otp);\r\n\t\trequire(recentERC1155Claims[msg.sender][_benId][_tokenId].otpHash == otpHash, 'RAHAT: OTP did not match.');\r\n\t\tadjustTokenDeduct(_phone,ac.amount,_tokenId);\r\n\t\tuint256 amt = ac.amount;\r\n\t\tac.isReleased = false;\r\n\t\tac.amount = 0;\r\n\t\tac.date = 0;\r\n\t\terc1155.safeTransferFrom(address(this),msg.sender,_tokenId, amt,'');\r\n\t\temit ClaimAcquiredERC1155(msg.sender,_phone,_tokenId,amt);\r\n\t}\r\n\t\r\n\t\r\n\t///@dev delegates getERC20FromClaim for vendors/callers\r\n ///@param _signer address of vendor/caller of getERC20FromClaim\r\n\t/// @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\r\n\t/// @param _phone Phone Number of the beneficiary, to whom token request was sent\r\n\t/// @param _otp OTP sent by the server\r\n\tfunction delegate_getERC20FromClaim(address _signer,bytes memory _signature,uint256 _phone, string memory _otp) public IsBeneficiary(_phone) {\r\n\t \r\n\t bytes32 _hash = keccak256(abi.encodePacked(address(this), CREATE_CLAIM, nonces[_signer], _phone,_otp)); //data-hash of toke issuance = {to,functionSig,nonce,projectId,phone,amount}\r\n address recoveredSigner = verifyVendor(_hash,_signature);\r\n require(recoveredSigner == _signer,'Signature did not matched with signer');\r\n nonces[_signer]++;\r\n\t \r\n\t bytes32 _benId = findHash(_phone);\r\n\t\tclaim storage ac = recentERC20Claims[msg.sender][_benId];\r\n\t\trequire(ac.isReleased, 'RAHAT: Claim has not been released.');\r\n\t\trequire(ac.date >= block.timestamp, 'RAHAT: Claim has already expired.');\r\n\t\tbytes32 otpHash = findHash(_otp);\r\n\t\trequire(recentERC20Claims[msg.sender][_benId].otpHash == otpHash, 'RAHAT: OTP did not match.');\r\n\t\terc20Balance[_phone] -= ac.amount;\r\n\t\tuint256 amt = ac.amount;\r\n\t\tac.isReleased = false;\r\n\t\tac.amount = 0;\r\n\t\tac.date = 0;\r\n\t erc20.transfer(msg.sender, amt);\r\n\t emit ClaimAcquiredERC20(msg.sender,_phone,amt);\r\n\r\n\t}\r\n\t\r\n\t///@dev delegates getERC20FromClaim for vendors/callers\r\n ///@param _signer address of vendor/caller of getERC1155FromClaim\r\n\t/// @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\r\n\t/// @param _phone Phone Number of the beneficiary, to whom token request was sent\r\n\t/// @param _otp OTP sent by the server\r\n\t/// @param _tokenId ERC1155 tokenId\r\n\tfunction delegate_getTokensFromClaim(address _signer,bytes memory _signature,uint256 _phone, string memory _otp,uint256 _tokenId) public {\r\n\t bytes32 _hash = keccak256(abi.encodePacked(address(this), CREATE_CLAIM, nonces[_signer], _phone,_otp,_tokenId)); //data-hash of toke issuance = {to,functionSig,nonce,projectId,phone,amount}\r\n address recoveredSigner = verifyVendor(_hash,_signature);\r\n require(recoveredSigner == _signer,'Signature did not matched with signer');\r\n nonces[_signer]++;\r\n\t \r\n\t bytes32 _benId = findHash(_phone);\r\n\t\tclaim storage ac = recentERC1155Claims[msg.sender][_benId][_tokenId];\r\n\t\trequire(ac.isReleased, 'RAHAT: Claim has not been released.');\r\n\t\trequire(ac.date >= block.timestamp, 'RAHAT: Claim has already expired.');\r\n\t\tbytes32 otpHash = findHash(_otp);\r\n\t\trequire(recentERC1155Claims[msg.sender][_benId][_tokenId].otpHash == otpHash, 'RAHAT: OTP did not match.');\r\n\t\tadjustTokenDeduct(_phone,ac.amount,_tokenId);\r\n\t\tuint256 amt = ac.amount;\r\n\t\tac.isReleased = false;\r\n\t\tac.amount = 0;\r\n\t\tac.date = 0;\r\n\t\terc1155.safeTransferFrom(address(this),msg.sender,_tokenId, amt,'');\r\n\t\temit ClaimAcquiredERC1155(msg.sender,_phone,_tokenId,amt);\r\n\t}\r\n\r\n\t/// @notice generates the hash of the given string\r\n\t/// @param _data String of which hash is to be generated\r\n\tfunction findHash(string memory _data) public pure returns (bytes32) {\r\n\t\treturn keccak256(abi.encodePacked(_data));\r\n\t}\r\n\t\r\n\t/// @notice generates the hash of the given string\r\n\t/// @param _data String of which hash is to be generated\r\n\tfunction findHash(uint256 _data) public pure returns (bytes32) {\r\n\t \r\n\t\treturn keccak256(abi.encodePacked(_data.toString()));\r\n\t}\r\n\r\n\t/// @notice Generates the sum of all the integers in array\r\n\t/// @param _array Array of uint\r\n\tfunction getArraySum(uint256[] memory _array) public pure returns (uint256 sum) {\r\n\t\tsum = 0;\r\n\t\tfor (uint256 i = 0; i < _array.length; i++) {\r\n\t\t\tsum += _array[i];\r\n\t\t}\r\n\t\treturn sum;\r\n\t}\r\n}\r\n", + "sourcePath": "D:\\projects\\Rahat\\rahat-contracts\\contracts\\Rahat.sol", + "ast": { + "absolutePath": "project:/contracts/Rahat.sol", + "exportedSymbols": { + "AccessControl": [ + 306 + ], + "Address": [ + 3487 + ], + "Arrays": [ + 3572 + ], + "Context": [ + 3594 + ], + "Counters": [ + 3668 + ], + "ECDSA": [ + 4238 + ], + "ERC1155": [ + 1631 + ], + "ERC1155Burnable": [ + 1863 + ], + "ERC1155Holder": [ + 2117 + ], + "ERC1155Receiver": [ + 2151 + ], + "ERC1155Supply": [ + 2051 + ], + "ERC165": [ + 4400 + ], + "ERC20": [ + 2697 + ], + "ERC20Burnable": [ + 2837 + ], + "ERC20Snapshot": [ + 3165 + ], + "EnumerableSet": [ + 5099 + ], + "IAccessControl": [ + 379 + ], + "IERC1155": [ + 1753 + ], + "IERC1155MetadataURI": [ + 2066 + ], + "IERC1155Receiver": [ + 1794 + ], + "IERC165": [ + 4412 + ], + "IERC20": [ + 2775 + ], + "IERC20Metadata": [ + 3190 + ], + "Math": [ + 4500 + ], + "Rahat": [ + 7837 + ], + "RahatERC1155": [ + 8866 + ], + "RahatERC20": [ + 8969 + ], + "Strings": [ + 3871 + ] + }, + "id": 7838, + "license": "UNLICENSED", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5101, + "literals": [ + "solidity", + "0.8", + ".7" + ], + "nodeType": "PragmaDirective", + "src": "41:22:27" + }, + { + "absolutePath": "project:/contracts/RahatERC20.sol", + "file": "./RahatERC20.sol", + "id": 5102, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 7838, + "sourceUnit": 8970, + "src": "65:26:27", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/RahatERC1155.sol", + "file": "./RahatERC1155.sol", + "id": 5103, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 7838, + "sourceUnit": 8867, + "src": "93:28:27", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol", + "file": "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol", + "id": 5104, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 7838, + "sourceUnit": 2118, + "src": "123:71:27", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/structs/EnumerableSet.sol", + "file": "@openzeppelin/contracts/utils/structs/EnumerableSet.sol", + "id": 5105, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 7838, + "sourceUnit": 5100, + "src": "196:65:27", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "file": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "id": 5106, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 7838, + "sourceUnit": 4239, + "src": "263:62:27", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 5107, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 306, + "src": "349:13:27" + }, + "id": 5108, + "nodeType": "InheritanceSpecifier", + "src": "349:13:27" + }, + { + "baseName": { + "id": 5109, + "name": "ERC1155Holder", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2117, + "src": "363:13:27" + }, + "id": 5110, + "nodeType": "InheritanceSpecifier", + "src": "363:13:27" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 7837, + "linearizedBaseContracts": [ + 7837, + 2117, + 2151, + 1794, + 306, + 4400, + 4412, + 379, + 3594 + ], + "name": "Rahat", + "nameLocation": "340:5:27", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 5113, + "libraryName": { + "id": 5111, + "name": "Strings", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3871, + "src": "390:7:27" + }, + "nodeType": "UsingForDirective", + "src": "384:26:27", + "typeName": { + "id": 5112, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "402:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 5117, + "libraryName": { + "id": 5114, + "name": "EnumerableSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5099, + "src": "422:13:27" + }, + "nodeType": "UsingForDirective", + "src": "416:49:27", + "typeName": { + "id": 5116, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5115, + "name": "EnumerableSet.Bytes32Set", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4705, + "src": "440:24:27" + }, + "referencedDeclaration": 4705, + "src": "440:24:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$4705_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + } + } + }, + { + "id": 5121, + "libraryName": { + "id": 5118, + "name": "EnumerableSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5099, + "src": "477:13:27" + }, + "nodeType": "UsingForDirective", + "src": "471:49:27", + "typeName": { + "id": 5120, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5119, + "name": "EnumerableSet.AddressSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4812, + "src": "495:24:27" + }, + "referencedDeclaration": 4812, + "src": "495:24:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$4812_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + } + }, + { + "id": 5125, + "libraryName": { + "id": 5122, + "name": "EnumerableSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5099, + "src": "532:13:27" + }, + "nodeType": "UsingForDirective", + "src": "526:46:27", + "typeName": { + "id": 5124, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5123, + "name": "EnumerableSet.UintSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4969, + "src": "550:21:27" + }, + "referencedDeclaration": 4969, + "src": "550:21:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + } + }, + { + "id": 5128, + "libraryName": { + "id": 5126, + "name": "ECDSA", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4238, + "src": "584:5:27" + }, + "nodeType": "UsingForDirective", + "src": "578:24:27", + "typeName": { + "id": 5127, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "594:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + { + "anonymous": false, + "id": 5136, + "name": "ClaimedERC20", + "nameLocation": "642:12:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5130, + "indexed": true, + "mutability": "mutable", + "name": "vendor", + "nameLocation": "671:6:27", + "nodeType": "VariableDeclaration", + "scope": 5136, + "src": "655:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5129, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "655:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5132, + "indexed": true, + "mutability": "mutable", + "name": "beneficiary", + "nameLocation": "695:11:27", + "nodeType": "VariableDeclaration", + "scope": 5136, + "src": "679:27:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5131, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "679:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5134, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "715:6:27", + "nodeType": "VariableDeclaration", + "scope": 5136, + "src": "707:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5133, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "707:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "654:68:27" + }, + "src": "636:87:27" + }, + { + "anonymous": false, + "id": 5146, + "name": "ClaimedERC1155", + "nameLocation": "732:14:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5138, + "indexed": true, + "mutability": "mutable", + "name": "vendor", + "nameLocation": "763:6:27", + "nodeType": "VariableDeclaration", + "scope": 5146, + "src": "747:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5137, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "747:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5140, + "indexed": true, + "mutability": "mutable", + "name": "beneficiary", + "nameLocation": "787:11:27", + "nodeType": "VariableDeclaration", + "scope": 5146, + "src": "771:27:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "771:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5142, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "815:7:27", + "nodeType": "VariableDeclaration", + "scope": 5146, + "src": "799:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5141, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "799:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5144, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "831:6:27", + "nodeType": "VariableDeclaration", + "scope": 5146, + "src": "823:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5143, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "823:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "746:92:27" + }, + "src": "726:113:27" + }, + { + "anonymous": false, + "id": 5154, + "name": "ClaimApproved", + "nameLocation": "848:13:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5153, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5148, + "indexed": true, + "mutability": "mutable", + "name": "vendor", + "nameLocation": "878:6:27", + "nodeType": "VariableDeclaration", + "scope": 5154, + "src": "862:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5147, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "862:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5150, + "indexed": true, + "mutability": "mutable", + "name": "phone", + "nameLocation": "902:5:27", + "nodeType": "VariableDeclaration", + "scope": 5154, + "src": "886:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5149, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "886:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5152, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "917:6:27", + "nodeType": "VariableDeclaration", + "scope": 5154, + "src": "909:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5151, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "909:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "861:63:27" + }, + "src": "842:83:27" + }, + { + "anonymous": false, + "id": 5162, + "name": "IssuedERC20", + "nameLocation": "934:11:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5156, + "indexed": true, + "mutability": "mutable", + "name": "projectId", + "nameLocation": "962:9:27", + "nodeType": "VariableDeclaration", + "scope": 5162, + "src": "946:25:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5155, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "946:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5158, + "indexed": true, + "mutability": "mutable", + "name": "phone", + "nameLocation": "989:5:27", + "nodeType": "VariableDeclaration", + "scope": 5162, + "src": "973:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5157, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "973:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5160, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1004:6:27", + "nodeType": "VariableDeclaration", + "scope": 5162, + "src": "996:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5159, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "996:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "945:66:27" + }, + "src": "928:84:27" + }, + { + "anonymous": false, + "id": 5172, + "name": "IssuedERC1155", + "nameLocation": "1021:13:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5164, + "indexed": true, + "mutability": "mutable", + "name": "projectId", + "nameLocation": "1051:9:27", + "nodeType": "VariableDeclaration", + "scope": 5172, + "src": "1035:25:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5163, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1035:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5166, + "indexed": true, + "mutability": "mutable", + "name": "phone", + "nameLocation": "1078:5:27", + "nodeType": "VariableDeclaration", + "scope": 5172, + "src": "1062:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1062:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5168, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1101:7:27", + "nodeType": "VariableDeclaration", + "scope": 5172, + "src": "1085:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1085:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5170, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1118:6:27", + "nodeType": "VariableDeclaration", + "scope": 5172, + "src": "1110:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5169, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1110:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1034:91:27" + }, + "src": "1015:111:27" + }, + { + "anonymous": false, + "id": 5180, + "name": "ClaimAcquiredERC20", + "nameLocation": "1135:18:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5174, + "indexed": true, + "mutability": "mutable", + "name": "vendor", + "nameLocation": "1170:6:27", + "nodeType": "VariableDeclaration", + "scope": 5180, + "src": "1154:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5173, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1154:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5176, + "indexed": true, + "mutability": "mutable", + "name": "beneficiary", + "nameLocation": "1194:11:27", + "nodeType": "VariableDeclaration", + "scope": 5180, + "src": "1178:27:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5175, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1178:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5178, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1214:6:27", + "nodeType": "VariableDeclaration", + "scope": 5180, + "src": "1206:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5177, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1206:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1153:68:27" + }, + "src": "1129:93:27" + }, + { + "anonymous": false, + "id": 5190, + "name": "ClaimAcquiredERC1155", + "nameLocation": "1231:20:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5182, + "indexed": true, + "mutability": "mutable", + "name": "vendor", + "nameLocation": "1268:6:27", + "nodeType": "VariableDeclaration", + "scope": 5190, + "src": "1252:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5181, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1252:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5184, + "indexed": true, + "mutability": "mutable", + "name": "beneficiary", + "nameLocation": "1292:11:27", + "nodeType": "VariableDeclaration", + "scope": 5190, + "src": "1276:27:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5183, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1276:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5186, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1320:7:27", + "nodeType": "VariableDeclaration", + "scope": 5190, + "src": "1304:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5185, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1304:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5188, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1336:6:27", + "nodeType": "VariableDeclaration", + "scope": 5190, + "src": "1328:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1328:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1251:92:27" + }, + "src": "1225:119:27" + }, + { + "anonymous": false, + "id": 5200, + "name": "InvalidSignature", + "nameLocation": "1353:16:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5192, + "indexed": false, + "mutability": "mutable", + "name": "signature", + "nameLocation": "1376:9:27", + "nodeType": "VariableDeclaration", + "scope": 5200, + "src": "1370:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5191, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1370:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5194, + "indexed": false, + "mutability": "mutable", + "name": "digest", + "nameLocation": "1394:6:27", + "nodeType": "VariableDeclaration", + "scope": 5200, + "src": "1386:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5193, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1386:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5196, + "indexed": false, + "mutability": "mutable", + "name": "expectedSigner", + "nameLocation": "1410:14:27", + "nodeType": "VariableDeclaration", + "scope": 5200, + "src": "1402:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5195, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1402:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5198, + "indexed": false, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "1433:15:27", + "nodeType": "VariableDeclaration", + "scope": 5200, + "src": "1425:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5197, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1425:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1369:80:27" + }, + "src": "1347:103:27" + }, + { + "constant": true, + "functionSelector": "18cf2834", + "id": 5205, + "mutability": "constant", + "name": "SERVER_ROLE", + "nameLocation": "1611:11:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1587:57:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5201, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1587:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "534552564552", + "id": 5203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1635:8:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_caa7f6290f33308266ee2988386694ac9bc3612b5df272e3502129925a64f997", + "typeString": "literal_string \"SERVER\"" + }, + "value": "SERVER" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_caa7f6290f33308266ee2988386694ac9bc3612b5df272e3502129925a64f997", + "typeString": "literal_string \"SERVER\"" + } + ], + "id": 5202, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1625:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1625:19:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "926a694d", + "id": 5210, + "mutability": "constant", + "name": "VENDOR_ROLE", + "nameLocation": "1672:11:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1648:57:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5206, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1648:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "56454e444f52", + "id": 5208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1696:8:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0aaf57387812c7f832412470a57567b5648a930069be49aa9c98d04f88520d34", + "typeString": "literal_string \"VENDOR\"" + }, + "value": "VENDOR" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0aaf57387812c7f832412470a57567b5648a930069be49aa9c98d04f88520d34", + "typeString": "literal_string \"VENDOR\"" + } + ], + "id": 5207, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1686:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1686:19:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "ec87621c", + "id": 5215, + "mutability": "constant", + "name": "MANAGER_ROLE", + "nameLocation": "1733:12:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1709:59:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5211, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1709:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4d414e41474552", + "id": 5213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1758:9:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af290d8680820aad922855f39b306097b20e28774d6c1ad35a20325630c3a02c", + "typeString": "literal_string \"MANAGER\"" + }, + "value": "MANAGER" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_af290d8680820aad922855f39b306097b20e28774d6c1ad35a20325630c3a02c", + "typeString": "literal_string \"MANAGER\"" + } + ], + "id": 5212, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1748:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1748:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "4c91b44e", + "id": 5220, + "mutability": "constant", + "name": "MOBILIZER_ROLE", + "nameLocation": "1796:14:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1772:63:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5216, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1772:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4d4f42494c495a4552", + "id": 5218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1823:11:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_be9e90431f28bd12a87a51b26b014cab620a8a4819bf73d87369ccbe6800a76c", + "typeString": "literal_string \"MOBILIZER\"" + }, + "value": "MOBILIZER" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_be9e90431f28bd12a87a51b26b014cab620a8a4819bf73d87369ccbe6800a76c", + "typeString": "literal_string \"MOBILIZER\"" + } + ], + "id": 5217, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1813:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1813:22:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "8bbab5c7", + "id": 5225, + "mutability": "constant", + "name": "ISSUE_TOKEN", + "nameLocation": "1863:11:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1839:61:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5221, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1839:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "6973737565546f6b656e", + "id": 5223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1887:12:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_043620c1e1c33ecf60d9dadc62571b96554338b68ef3636e715e52a286bea92e", + "typeString": "literal_string \"issueToken\"" + }, + "value": "issueToken" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_043620c1e1c33ecf60d9dadc62571b96554338b68ef3636e715e52a286bea92e", + "typeString": "literal_string \"issueToken\"" + } + ], + "id": 5222, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1877:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1877:23:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "94343cd2", + "id": 5230, + "mutability": "constant", + "name": "CREATE_CLAIM", + "nameLocation": "1928:12:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1904:63:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5226, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1904:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "637265617465436c61696d", + "id": 5228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1953:13:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8ff5d84bbad5f252f2ee1916646e221e55645205d2f803ebe6a7d6ba8fa4185d", + "typeString": "literal_string \"createClaim\"" + }, + "value": "createClaim" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ff5d84bbad5f252f2ee1916646e221e55645205d2f803ebe6a7d6ba8fa4185d", + "typeString": "literal_string \"createClaim\"" + } + ], + "id": 5227, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1943:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1943:24:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "2384e105", + "id": 5235, + "mutability": "constant", + "name": "GET_TOKENS_FROM_CLAIM", + "nameLocation": "1995:21:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1971:79:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5231, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1971:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "676574546f6b656e7346726f6d436c61696d", + "id": 5233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2029:20:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cfa8166f1bb1b8818c3767a9ffd776afbbe3409a468070bb860831e01b565499", + "typeString": "literal_string \"getTokensFromClaim\"" + }, + "value": "getTokensFromClaim" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cfa8166f1bb1b8818c3767a9ffd776afbbe3409a468070bb860831e01b565499", + "typeString": "literal_string \"getTokensFromClaim\"" + } + ], + "id": 5232, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "2019:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2019:31:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "7ecebe00", + "id": 5239, + "mutability": "mutable", + "name": "nonces", + "nameLocation": "2095:6:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2063:38:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 5238, + "keyType": { + "id": 5236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2071:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2063:24:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 5237, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2082:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "785e9e86", + "id": 5242, + "mutability": "mutable", + "name": "erc20", + "nameLocation": "2229:5:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2211:23:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + }, + "typeName": { + "id": 5241, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5240, + "name": "RahatERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 8969, + "src": "2211:10:27" + }, + "referencedDeclaration": 8969, + "src": "2211:10:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "d56022d7", + "id": 5245, + "mutability": "mutable", + "name": "erc1155", + "nameLocation": "2261:7:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2241:27:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + }, + "typeName": { + "id": 5244, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5243, + "name": "RahatERC1155", + "nodeType": "IdentifierPath", + "referencedDeclaration": 8866, + "src": "2241:12:27" + }, + "referencedDeclaration": 8866, + "src": "2241:12:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "visibility": "public" + }, + { + "constant": false, + "documentation": { + "id": 5246, + "nodeType": "StructuredDocumentation", + "src": "2281:62:27", + "text": "@notice track total issued tokens of each benefiicary phone" + }, + "functionSelector": "055ee070", + "id": 5250, + "mutability": "mutable", + "name": "erc20Issued", + "nameLocation": "2384:11:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2349:46:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 5249, + "keyType": { + "id": 5247, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2357:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2349:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5248, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2368:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "cae22709", + "id": 5256, + "mutability": "mutable", + "name": "erc1155Issued", + "nameLocation": "2473:13:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2419:67:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + }, + "typeName": { + "id": 5255, + "keyType": { + "id": 5251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2427:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2419:46:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + }, + "valueType": { + "id": 5254, + "keyType": { + "id": 5252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2445:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2437:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5253, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2456:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 5261, + "mutability": "mutable", + "name": "beneficiaryTokenIds", + "nameLocation": "2561:19:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2519:61:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet)" + }, + "typeName": { + "id": 5260, + "keyType": { + "id": 5257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2527:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2519:41:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet)" + }, + "valueType": { + "id": 5259, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5258, + "name": "EnumerableSet.UintSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4969, + "src": "2538:21:27" + }, + "referencedDeclaration": 4969, + "src": "2538:21:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "documentation": { + "id": 5262, + "nodeType": "StructuredDocumentation", + "src": "2592:52:27", + "text": "@notice track balances of each beneficiary phone" + }, + "functionSelector": "351c3d0b", + "id": 5266, + "mutability": "mutable", + "name": "erc20Balance", + "nameLocation": "2682:12:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2647:47:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 5265, + "keyType": { + "id": 5263, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2655:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2647:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5264, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2666:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "32a0749c", + "id": 5272, + "mutability": "mutable", + "name": "erc1155Balance", + "nameLocation": "2769:14:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2715:68:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + }, + "typeName": { + "id": 5271, + "keyType": { + "id": 5267, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2723:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2715:46:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + }, + "valueType": { + "id": 5270, + "keyType": { + "id": 5268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2741:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2733:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2752:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "documentation": { + "id": 5273, + "nodeType": "StructuredDocumentation", + "src": "2817:33:27", + "text": "@notice track projectBalances" + }, + "id": 5276, + "mutability": "mutable", + "name": "projectId", + "nameLocation": "2918:9:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2885:42:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$4705_storage", + "typeString": "struct EnumerableSet.Bytes32Set" + }, + "typeName": { + "id": 5275, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5274, + "name": "EnumerableSet.Bytes32Set", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4705, + "src": "2885:24:27" + }, + "referencedDeclaration": 4705, + "src": "2885:24:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$4705_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5280, + "mutability": "mutable", + "name": "remainingProjectErc20Balances", + "nameLocation": "2959:29:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2931:57:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 5279, + "keyType": { + "id": 5277, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2939:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "2931:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 5278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2950:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5286, + "mutability": "mutable", + "name": "remainingProjectErc1155Balances", + "nameLocation": "3039:31:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2992:78:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + }, + "typeName": { + "id": 5285, + "keyType": { + "id": 5281, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3000:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "2992:46:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + }, + "valueType": { + "id": 5284, + "keyType": { + "id": 5282, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3018:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "3010:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3029:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5291, + "mutability": "mutable", + "name": "projectMobilizers", + "nameLocation": "3119:17:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3074:62:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet)" + }, + "typeName": { + "id": 5290, + "keyType": { + "id": 5287, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3082:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "3074:44:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet)" + }, + "valueType": { + "id": 5289, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5288, + "name": "EnumerableSet.AddressSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4812, + "src": "3093:24:27" + }, + "referencedDeclaration": 4812, + "src": "3093:24:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$4812_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5296, + "mutability": "mutable", + "name": "projectVendors", + "nameLocation": "3185:14:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3140:59:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet)" + }, + "typeName": { + "id": 5295, + "keyType": { + "id": 5292, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3148:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "3140:44:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet)" + }, + "valueType": { + "id": 5294, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5293, + "name": "EnumerableSet.AddressSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4812, + "src": "3159:24:27" + }, + "referencedDeclaration": 4812, + "src": "3159:24:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$4812_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "237c9db3", + "id": 5300, + "mutability": "mutable", + "name": "erc20IssuedBy", + "nameLocation": "3241:13:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3206:48:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 5299, + "keyType": { + "id": 5297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3214:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3206:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 5298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3225:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 5305, + "mutability": "mutable", + "name": "tokenIdsIssuedBy", + "nameLocation": "3300:16:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3258:58:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet)" + }, + "typeName": { + "id": 5304, + "keyType": { + "id": 5301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3266:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3258:41:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet)" + }, + "valueType": { + "id": 5303, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5302, + "name": "EnumerableSet.UintSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4969, + "src": "3277:21:27" + }, + "referencedDeclaration": 4969, + "src": "3277:21:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "82d41dd2", + "id": 5311, + "mutability": "mutable", + "name": "erc1155IssuedBy", + "nameLocation": "3399:15:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3345:69:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + }, + "typeName": { + "id": 5310, + "keyType": { + "id": 5306, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3353:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3345:46:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + }, + "valueType": { + "id": 5309, + "keyType": { + "id": 5307, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3371:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "3363:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5308, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3382:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "public" + }, + { + "canonicalName": "Rahat.claim", + "id": 5320, + "members": [ + { + "constant": false, + "id": 5313, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3482:6:27", + "nodeType": "VariableDeclaration", + "scope": 5320, + "src": "3474:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5312, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3474:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5315, + "mutability": "mutable", + "name": "otpHash", + "nameLocation": "3501:7:27", + "nodeType": "VariableDeclaration", + "scope": 5320, + "src": "3493:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5314, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3493:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5317, + "mutability": "mutable", + "name": "isReleased", + "nameLocation": "3518:10:27", + "nodeType": "VariableDeclaration", + "scope": 5320, + "src": "3513:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5316, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3513:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5319, + "mutability": "mutable", + "name": "date", + "nameLocation": "3541:4:27", + "nodeType": "VariableDeclaration", + "scope": 5320, + "src": "3533:12:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5318, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3533:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "claim", + "nameLocation": "3463:5:27", + "nodeType": "StructDefinition", + "scope": 7837, + "src": "3456:94:27", + "visibility": "public" + }, + { + "constant": false, + "documentation": { + "id": 5321, + "nodeType": "StructuredDocumentation", + "src": "3553:40:27", + "text": "@dev vendorAddress => phone => claim" + }, + "functionSelector": "d1e67167", + "id": 5328, + "mutability": "mutable", + "name": "recentERC20Claims", + "nameLocation": "3649:17:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3596:70:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim))" + }, + "typeName": { + "id": 5327, + "keyType": { + "id": 5322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3604:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3596:45:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim))" + }, + "valueType": { + "id": 5326, + "keyType": { + "id": 5323, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3623:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "3615:25:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim)" + }, + "valueType": { + "id": 5325, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5324, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "3634:5:27" + }, + "referencedDeclaration": 5320, + "src": "3634:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "2fb3eabf", + "id": 5337, + "mutability": "mutable", + "name": "recentERC1155Claims", + "nameLocation": "3743:19:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3670:92:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim)))" + }, + "typeName": { + "id": 5336, + "keyType": { + "id": 5329, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3678:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3670:65:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim)))" + }, + "valueType": { + "id": 5335, + "keyType": { + "id": 5330, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3697:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "3689:45:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim))" + }, + "valueType": { + "id": 5334, + "keyType": { + "id": 5331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3716:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "3708:25:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim)" + }, + "valueType": { + "id": 5333, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5332, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "3727:5:27" + }, + "referencedDeclaration": 5320, + "src": "3727:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + } + } + } + }, + "visibility": "public" + }, + { + "body": { + "id": 5383, + "nodeType": "Block", + "src": "3872:277:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5349, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "3888:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5350, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967270, + "src": "3908:2:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 5351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "3908:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5348, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "3877:10:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3877:41:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5353, + "nodeType": "ExpressionStatement", + "src": "3877:41:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5355, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "3934:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5356, + "name": "_admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5345, + "src": "3954:6:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5354, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "3923:10:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3923:38:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5358, + "nodeType": "ExpressionStatement", + "src": "3923:38:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5360, + "name": "SERVER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5205, + "src": "3980:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5361, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "3993:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5359, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "3966:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 5362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3966:46:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5363, + "nodeType": "ExpressionStatement", + "src": "3966:46:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5365, + "name": "VENDOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5210, + "src": "4031:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5366, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "4044:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5364, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "4017:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 5367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4017:46:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5368, + "nodeType": "ExpressionStatement", + "src": "4017:46:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5370, + "name": "SERVER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5205, + "src": "4078:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5371, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4091:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4091:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5369, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "4068:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4068:34:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5374, + "nodeType": "ExpressionStatement", + "src": "4068:34:27" + }, + { + "expression": { + "id": 5377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5375, + "name": "erc20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "4107:5:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5376, + "name": "_erc20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5340, + "src": "4115:6:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "src": "4107:14:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "id": 5378, + "nodeType": "ExpressionStatement", + "src": "4107:14:27" + }, + { + "expression": { + "id": 5381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5379, + "name": "erc1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5245, + "src": "4126:7:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5380, + "name": "_erc1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5343, + "src": "4136:8:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "src": "4126:18:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "id": 5382, + "nodeType": "ExpressionStatement", + "src": "4126:18:27" + } + ] + }, + "id": 5384, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5340, + "mutability": "mutable", + "name": "_erc20", + "nameLocation": "3825:6:27", + "nodeType": "VariableDeclaration", + "scope": 5384, + "src": "3814:17:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + }, + "typeName": { + "id": 5339, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5338, + "name": "RahatERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 8969, + "src": "3814:10:27" + }, + "referencedDeclaration": 8969, + "src": "3814:10:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5343, + "mutability": "mutable", + "name": "_erc1155", + "nameLocation": "3846:8:27", + "nodeType": "VariableDeclaration", + "scope": 5384, + "src": "3833:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + }, + "typeName": { + "id": 5342, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5341, + "name": "RahatERC1155", + "nodeType": "IdentifierPath", + "referencedDeclaration": 8866, + "src": "3833:12:27" + }, + "referencedDeclaration": 8866, + "src": "3833:12:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5345, + "mutability": "mutable", + "name": "_admin", + "nameLocation": "3864:6:27", + "nodeType": "VariableDeclaration", + "scope": 5384, + "src": "3856:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3856:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3813:58:27" + }, + "returnParameters": { + "id": 5347, + "nodeType": "ParameterList", + "parameters": [], + "src": "3872:0:27" + }, + "scope": 7837, + "src": "3802:347:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 62, + 2150 + ], + "body": { + "id": 5399, + "nodeType": "Block", + "src": "4283:54:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5396, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5386, + "src": "4321:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 5394, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "4297:5:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_Rahat_$7837_$", + "typeString": "type(contract super Rahat)" + } + }, + "id": 5395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 2150, + "src": "4297:23:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 5397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4297:36:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5393, + "id": 5398, + "nodeType": "Return", + "src": "4290:43:27" + } + ] + }, + "functionSelector": "01ffc9a7", + "id": 5400, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "4170:17:27", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5390, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 5388, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 306, + "src": "4237:13:27" + }, + { + "id": 5389, + "name": "ERC1155Receiver", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2151, + "src": "4251:15:27" + } + ], + "src": "4228:39:27" + }, + "parameters": { + "id": 5387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5386, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "4195:11:27", + "nodeType": "VariableDeclaration", + "scope": 5400, + "src": "4188:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5385, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4188:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "4187:20:27" + }, + "returnParameters": { + "id": 5393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5392, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5400, + "src": "4277:4:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5391, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4277:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4276:6:27" + }, + "scope": 7837, + "src": "4161:176:27", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 5412, + "nodeType": "Block", + "src": "4398:103:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5404, + "name": "SERVER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5205, + "src": "4419:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5405, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4432:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4432:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5403, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "4411:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 5407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4411:32:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a2053656e646572206d75737420626520616e20617574686f72697a656420736572766572", + "id": 5408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4445:44:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3c7443c6504f83de40c401595df36f2167c7a538b21a822874bf48b0e8a2b0f6", + "typeString": "literal_string \"RAHAT: Sender must be an authorized server\"" + }, + "value": "RAHAT: Sender must be an authorized server" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3c7443c6504f83de40c401595df36f2167c7a538b21a822874bf48b0e8a2b0f6", + "typeString": "literal_string \"RAHAT: Sender must be an authorized server\"" + } + ], + "id": 5402, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4403:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4403:87:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5410, + "nodeType": "ExpressionStatement", + "src": "4403:87:27" + }, + { + "id": 5411, + "nodeType": "PlaceholderStatement", + "src": "4495:1:27" + } + ] + }, + "id": 5413, + "name": "OnlyServer", + "nameLocation": "4385:10:27", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5401, + "nodeType": "ParameterList", + "parameters": [], + "src": "4395:2:27" + }, + "src": "4376:125:27", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5425, + "nodeType": "Block", + "src": "4523:99:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5417, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "4544:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5418, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4564:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4564:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5416, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "4536:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 5420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:39:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a2053656e646572206d75737420626520616e2061646d696e2e", + "id": 5421, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4577:33:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7514f88aca4c54d0d6afab23870ec72ecfd57a1311911970b281e4c95040adef", + "typeString": "literal_string \"RAHAT: Sender must be an admin.\"" + }, + "value": "RAHAT: Sender must be an admin." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7514f88aca4c54d0d6afab23870ec72ecfd57a1311911970b281e4c95040adef", + "typeString": "literal_string \"RAHAT: Sender must be an admin.\"" + } + ], + "id": 5415, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4528:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4528:83:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5423, + "nodeType": "ExpressionStatement", + "src": "4528:83:27" + }, + { + "id": 5424, + "nodeType": "PlaceholderStatement", + "src": "4616:1:27" + } + ] + }, + "id": 5426, + "name": "OnlyAdmin", + "nameLocation": "4513:9:27", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5414, + "nodeType": "ParameterList", + "parameters": [], + "src": "4523:0:27" + }, + "src": "4504:118:27", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5446, + "nodeType": "Block", + "src": "4664:140:27", + "statements": [ + { + "assignments": [ + 5431 + ], + "declarations": [ + { + "constant": false, + "id": 5431, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "4680:6:27", + "nodeType": "VariableDeclaration", + "scope": 5446, + "src": "4672:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5430, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4672:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5435, + "initialValue": { + "arguments": [ + { + "id": 5433, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5428, + "src": "4698:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5432, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "4689:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 5434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4689:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4672:33:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5437, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "4718:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5439, + "indexExpression": { + "id": 5438, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5428, + "src": "4731:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4718:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 5440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4742:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4718:25:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a204e6f20616e7920746f6b656e207761732069737375656420746f2074686973206e756d626572", + "id": 5442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4745:47:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6ed5bc9c1745a04176b681434ec327f68b5663ee1b4a9caf4e0e88f04797d4af", + "typeString": "literal_string \"RAHAT: No any token was issued to this number\"" + }, + "value": "RAHAT: No any token was issued to this number" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6ed5bc9c1745a04176b681434ec327f68b5663ee1b4a9caf4e0e88f04797d4af", + "typeString": "literal_string \"RAHAT: No any token was issued to this number\"" + } + ], + "id": 5436, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4710:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4710:83:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5444, + "nodeType": "ExpressionStatement", + "src": "4710:83:27" + }, + { + "id": 5445, + "nodeType": "PlaceholderStatement", + "src": "4798:1:27" + } + ] + }, + "id": 5447, + "name": "IsBeneficiary", + "nameLocation": "4634:13:27", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5429, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5428, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "4656:6:27", + "nodeType": "VariableDeclaration", + "scope": 5447, + "src": "4648:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5427, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4648:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4647:16:27" + }, + "src": "4625:179:27", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5459, + "nodeType": "Block", + "src": "4827:103:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5451, + "name": "VENDOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5210, + "src": "4848:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5452, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4861:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4861:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5450, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "4840:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 5454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4840:32:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a2053656e646572204d757374206265206120726567697374657265642076656e646f722e", + "id": 5455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4874:44:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4f75d619c6e9241d2084c47952ac078e8a65938afbb86936eb24213e1f57428a", + "typeString": "literal_string \"RAHAT: Sender Must be a registered vendor.\"" + }, + "value": "RAHAT: Sender Must be a registered vendor." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4f75d619c6e9241d2084c47952ac078e8a65938afbb86936eb24213e1f57428a", + "typeString": "literal_string \"RAHAT: Sender Must be a registered vendor.\"" + } + ], + "id": 5449, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4832:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4832:87:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5457, + "nodeType": "ExpressionStatement", + "src": "4832:87:27" + }, + { + "id": 5458, + "nodeType": "PlaceholderStatement", + "src": "4924:1:27" + } + ] + }, + "id": 5460, + "name": "OnlyVendor", + "nameLocation": "4816:10:27", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5448, + "nodeType": "ParameterList", + "parameters": [], + "src": "4827:0:27" + }, + "src": "4807:123:27", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5479, + "nodeType": "Block", + "src": "4963:170:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 5464, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "4988:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5465, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "5008:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5008:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5463, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "4980:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 5467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4980:39:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 5469, + "name": "MOBILIZER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "5031:14:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5470, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "5047:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5047:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5468, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "5023:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 5472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5023:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4980:78:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5474, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4979:80:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a2053656e646572204d757374206265206120726567697374657265642041646d696e204f72204d6f62696c697a65722e", + "id": 5475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5061:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_365ba3947c2bf2b10dc335d80037be4b757978e5f1fd7be5c3a47295c3dea668", + "typeString": "literal_string \"RAHAT: Sender Must be a registered Admin Or Mobilizer.\"" + }, + "value": "RAHAT: Sender Must be a registered Admin Or Mobilizer." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_365ba3947c2bf2b10dc335d80037be4b757978e5f1fd7be5c3a47295c3dea668", + "typeString": "literal_string \"RAHAT: Sender Must be a registered Admin Or Mobilizer.\"" + } + ], + "id": 5462, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4971:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4971:147:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5477, + "nodeType": "ExpressionStatement", + "src": "4971:147:27" + }, + { + "id": 5478, + "nodeType": "PlaceholderStatement", + "src": "5127:1:27" + } + ] + }, + "id": 5480, + "name": "OnlyAdminOrMobilizer", + "nameLocation": "4942:20:27", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5461, + "nodeType": "ParameterList", + "parameters": [], + "src": "4963:0:27" + }, + "src": "4933:200:27", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5491, + "nodeType": "Block", + "src": "5333:49:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5487, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "5348:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5488, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5483, + "src": "5368:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5486, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "5338:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5338:39:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5490, + "nodeType": "ExpressionStatement", + "src": "5338:39:27" + } + ] + }, + "documentation": { + "id": 5481, + "nodeType": "StructuredDocumentation", + "src": "5198:89:27", + "text": "@notice add admin of the this contract\n @param _account address of the new admin" + }, + "functionSelector": "70480275", + "id": 5492, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addAdmin", + "nameLocation": "5299:8:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5483, + "mutability": "mutable", + "name": "_account", + "nameLocation": "5316:8:27", + "nodeType": "VariableDeclaration", + "scope": 5492, + "src": "5308:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5482, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5308:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5307:18:27" + }, + "returnParameters": { + "id": 5485, + "nodeType": "ParameterList", + "parameters": [], + "src": "5333:0:27" + }, + "scope": 7837, + "src": "5290:92:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5503, + "nodeType": "Block", + "src": "5538:42:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5499, + "name": "SERVER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5205, + "src": "5553:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5500, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5495, + "src": "5566:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5498, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "5543:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5543:32:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5502, + "nodeType": "ExpressionStatement", + "src": "5543:32:27" + } + ] + }, + "documentation": { + "id": 5493, + "nodeType": "StructuredDocumentation", + "src": "5387:104:27", + "text": "@notice add server account for this contract\n @param _account address of the new server account" + }, + "functionSelector": "5cbd99d4", + "id": 5504, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addServer", + "nameLocation": "5503:9:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5495, + "mutability": "mutable", + "name": "_account", + "nameLocation": "5521:8:27", + "nodeType": "VariableDeclaration", + "scope": 5504, + "src": "5513:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5513:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5512:18:27" + }, + "returnParameters": { + "id": 5497, + "nodeType": "ParameterList", + "parameters": [], + "src": "5538:0:27" + }, + "scope": 7837, + "src": "5494:86:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5515, + "nodeType": "Block", + "src": "5703:42:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5511, + "name": "VENDOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5210, + "src": "5718:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5512, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5507, + "src": "5731:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5510, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "5708:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5708:32:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5514, + "nodeType": "ExpressionStatement", + "src": "5708:32:27" + } + ] + }, + "documentation": { + "id": 5505, + "nodeType": "StructuredDocumentation", + "src": "5585:71:27", + "text": "@notice add vendors\n @param _account address of the new vendor" + }, + "functionSelector": "45e0f753", + "id": 5516, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addVendor", + "nameLocation": "5668:9:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5508, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5507, + "mutability": "mutable", + "name": "_account", + "nameLocation": "5686:8:27", + "nodeType": "VariableDeclaration", + "scope": 5516, + "src": "5678:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5506, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5678:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5677:18:27" + }, + "returnParameters": { + "id": 5509, + "nodeType": "ParameterList", + "parameters": [], + "src": "5703:0:27" + }, + "scope": 7837, + "src": "5659:86:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5542, + "nodeType": "Block", + "src": "5900:131:27", + "statements": [ + { + "assignments": [ + 5525 + ], + "declarations": [ + { + "constant": false, + "id": 5525, + "mutability": "mutable", + "name": "_id", + "nameLocation": "5916:3:27", + "nodeType": "VariableDeclaration", + "scope": 5542, + "src": "5908:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5524, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5908:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5529, + "initialValue": { + "arguments": [ + { + "id": 5527, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "5931:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 5526, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "5922:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 5528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5922:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5908:34:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5531, + "name": "MOBILIZER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "5957:14:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5532, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5519, + "src": "5973:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5530, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "5947:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5947:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5534, + "nodeType": "ExpressionStatement", + "src": "5947:35:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5539, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5519, + "src": "6014:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "baseExpression": { + "id": 5535, + "name": "projectMobilizers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5291, + "src": "5987:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet storage ref)" + } + }, + "id": 5537, + "indexExpression": { + "id": 5536, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5525, + "src": "6005:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5987:22:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$4812_storage", + "typeString": "struct EnumerableSet.AddressSet storage ref" + } + }, + "id": 5538, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 4839, + "src": "5987:26:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AddressSet_$4812_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_AddressSet_$4812_storage_ptr_$", + "typeString": "function (struct EnumerableSet.AddressSet storage pointer,address) returns (bool)" + } + }, + "id": 5540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5987:36:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5541, + "nodeType": "ExpressionStatement", + "src": "5987:36:27" + } + ] + }, + "documentation": { + "id": 5517, + "nodeType": "StructuredDocumentation", + "src": "5754:71:27", + "text": "@notice add vendors\n @param _account address of the new vendor" + }, + "functionSelector": "eaad46f5", + "id": 5543, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addMobilizer", + "nameLocation": "5837:12:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5522, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5519, + "mutability": "mutable", + "name": "_account", + "nameLocation": "5858:8:27", + "nodeType": "VariableDeclaration", + "scope": 5543, + "src": "5850:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5850:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5521, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "5881:10:27", + "nodeType": "VariableDeclaration", + "scope": 5543, + "src": "5867:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5520, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5867:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5849:43:27" + }, + "returnParameters": { + "id": 5523, + "nodeType": "ParameterList", + "parameters": [], + "src": "5900:0:27" + }, + "scope": 7837, + "src": "5828:203:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5632, + "nodeType": "Block", + "src": "6157:548:27", + "statements": [ + { + "assignments": [ + 5555 + ], + "declarations": [ + { + "constant": false, + "id": 5555, + "mutability": "mutable", + "name": "i", + "nameLocation": "6174:1:27", + "nodeType": "VariableDeclaration", + "scope": 5632, + "src": "6166:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6166:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5556, + "nodeType": "VariableDeclarationStatement", + "src": "6166:9:27" + }, + { + "assignments": [ + 5558 + ], + "declarations": [ + { + "constant": false, + "id": 5558, + "mutability": "mutable", + "name": "_totalERC1155", + "nameLocation": "6194:13:27", + "nodeType": "VariableDeclaration", + "scope": 5632, + "src": "6186:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5557, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6186:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5564, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "baseExpression": { + "id": 5559, + "name": "beneficiaryTokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5261, + "src": "6210:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5561, + "indexExpression": { + "id": 5560, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5545, + "src": "6230:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6210:27:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5562, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": 5047, + "src": "6210:34:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)" + } + }, + "id": 5563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6210:36:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6186:60:27" + }, + { + "assignments": [ + 5569 + ], + "declarations": [ + { + "constant": false, + "id": 5569, + "mutability": "mutable", + "name": "_tokenIds", + "nameLocation": "6274:9:27", + "nodeType": "VariableDeclaration", + "scope": 5632, + "src": "6257:26:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5567, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6257:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5568, + "nodeType": "ArrayTypeName", + "src": "6257:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 5575, + "initialValue": { + "arguments": [ + { + "id": 5573, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5558, + "src": "6300:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "6286:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 5570, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6290:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5571, + "nodeType": "ArrayTypeName", + "src": "6290:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 5574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6286:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6257:57:27" + }, + { + "assignments": [ + 5580 + ], + "declarations": [ + { + "constant": false, + "id": 5580, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "6342:9:27", + "nodeType": "VariableDeclaration", + "scope": 5632, + "src": "6325:26:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5578, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6325:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5579, + "nodeType": "ArrayTypeName", + "src": "6325:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 5586, + "initialValue": { + "arguments": [ + { + "id": 5584, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5558, + "src": "6368:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "6354:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 5581, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6358:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5582, + "nodeType": "ArrayTypeName", + "src": "6358:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 5585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6354:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6325:57:27" + }, + { + "body": { + "id": 5626, + "nodeType": "Block", + "src": "6432:220:27", + "statements": [ + { + "assignments": [ + 5598 + ], + "declarations": [ + { + "constant": false, + "id": 5598, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "6455:8:27", + "nodeType": "VariableDeclaration", + "scope": 5626, + "src": "6447:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6447:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5605, + "initialValue": { + "arguments": [ + { + "id": 5603, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "6497:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "baseExpression": { + "id": 5599, + "name": "beneficiaryTokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5261, + "src": "6466:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5601, + "indexExpression": { + "id": 5600, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5545, + "src": "6486:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6466:27:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5602, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "at", + "nodeType": "MemberAccess", + "referencedDeclaration": 5068, + "src": "6466:30:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)" + } + }, + "id": 5604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6466:33:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6447:52:27" + }, + { + "assignments": [ + 5607 + ], + "declarations": [ + { + "constant": false, + "id": 5607, + "mutability": "mutable", + "name": "_balance", + "nameLocation": "6522:8:27", + "nodeType": "VariableDeclaration", + "scope": 5626, + "src": "6514:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5606, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6514:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5613, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 5608, + "name": "erc1155Issued", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5256, + "src": "6533:13:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 5610, + "indexExpression": { + "id": 5609, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5545, + "src": "6547:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6533:21:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5612, + "indexExpression": { + "id": 5611, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5598, + "src": "6555:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6533:31:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6514:50:27" + }, + { + "expression": { + "id": 5618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5614, + "name": "_tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5569, + "src": "6579:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 5616, + "indexExpression": { + "id": 5615, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "6589:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6579:12:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5617, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5598, + "src": "6594:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6579:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5619, + "nodeType": "ExpressionStatement", + "src": "6579:23:27" + }, + { + "expression": { + "id": 5624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5620, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5580, + "src": "6617:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 5622, + "indexExpression": { + "id": 5621, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "6627:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6617:12:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5623, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5607, + "src": "6632:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6617:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5625, + "nodeType": "ExpressionStatement", + "src": "6617:23:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5591, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "6412:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5592, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5558, + "src": "6414:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6412:15:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5627, + "initializationExpression": { + "expression": { + "id": 5589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5587, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "6408:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 5588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6410:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6408:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5590, + "nodeType": "ExpressionStatement", + "src": "6408:3:27" + }, + "loopExpression": { + "expression": { + "id": 5595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6428:3:27", + "subExpression": { + "id": 5594, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "6428:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5596, + "nodeType": "ExpressionStatement", + "src": "6428:3:27" + }, + "nodeType": "ForStatement", + "src": "6403:249:27" + }, + { + "expression": { + "components": [ + { + "id": 5628, + "name": "_tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5569, + "src": "6680:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 5629, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5580, + "src": "6690:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 5630, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6679:21:27", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "functionReturnParameters": 5553, + "id": 5631, + "nodeType": "Return", + "src": "6672:28:27" + } + ] + }, + "functionSelector": "d0e65d14", + "id": 5633, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalERC1155Issued", + "nameLocation": "6046:21:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5545, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "6076:6:27", + "nodeType": "VariableDeclaration", + "scope": 5633, + "src": "6068:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6068:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6067:16:27" + }, + "returnParameters": { + "id": 5553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5549, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "6121:8:27", + "nodeType": "VariableDeclaration", + "scope": 5633, + "src": "6104:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6104:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5548, + "nodeType": "ArrayTypeName", + "src": "6104:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5552, + "mutability": "mutable", + "name": "balances", + "nameLocation": "6147:8:27", + "nodeType": "VariableDeclaration", + "scope": 5633, + "src": "6130:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5550, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6130:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5551, + "nodeType": "ArrayTypeName", + "src": "6130:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "6103:53:27" + }, + "scope": 7837, + "src": "6037:668:27", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5722, + "nodeType": "Block", + "src": "6832:549:27", + "statements": [ + { + "assignments": [ + 5645 + ], + "declarations": [ + { + "constant": false, + "id": 5645, + "mutability": "mutable", + "name": "i", + "nameLocation": "6849:1:27", + "nodeType": "VariableDeclaration", + "scope": 5722, + "src": "6841:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5644, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6841:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5646, + "nodeType": "VariableDeclarationStatement", + "src": "6841:9:27" + }, + { + "assignments": [ + 5648 + ], + "declarations": [ + { + "constant": false, + "id": 5648, + "mutability": "mutable", + "name": "_totalERC1155", + "nameLocation": "6869:13:27", + "nodeType": "VariableDeclaration", + "scope": 5722, + "src": "6861:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5647, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6861:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5654, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "baseExpression": { + "id": 5649, + "name": "beneficiaryTokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5261, + "src": "6885:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5651, + "indexExpression": { + "id": 5650, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5635, + "src": "6905:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6885:27:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5652, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": 5047, + "src": "6885:34:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)" + } + }, + "id": 5653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6885:36:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6861:60:27" + }, + { + "assignments": [ + 5659 + ], + "declarations": [ + { + "constant": false, + "id": 5659, + "mutability": "mutable", + "name": "_tokenIds", + "nameLocation": "6949:9:27", + "nodeType": "VariableDeclaration", + "scope": 5722, + "src": "6932:26:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5657, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6932:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5658, + "nodeType": "ArrayTypeName", + "src": "6932:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 5665, + "initialValue": { + "arguments": [ + { + "id": 5663, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5648, + "src": "6975:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "6961:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 5660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6965:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5661, + "nodeType": "ArrayTypeName", + "src": "6965:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 5664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6961:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6932:57:27" + }, + { + "assignments": [ + 5670 + ], + "declarations": [ + { + "constant": false, + "id": 5670, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "7017:9:27", + "nodeType": "VariableDeclaration", + "scope": 5722, + "src": "7000:26:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7000:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5669, + "nodeType": "ArrayTypeName", + "src": "7000:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 5676, + "initialValue": { + "arguments": [ + { + "id": 5674, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5648, + "src": "7043:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "7029:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 5671, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7033:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5672, + "nodeType": "ArrayTypeName", + "src": "7033:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 5675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7029:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7000:57:27" + }, + { + "body": { + "id": 5716, + "nodeType": "Block", + "src": "7107:221:27", + "statements": [ + { + "assignments": [ + 5688 + ], + "declarations": [ + { + "constant": false, + "id": 5688, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "7130:8:27", + "nodeType": "VariableDeclaration", + "scope": 5716, + "src": "7122:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5687, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7122:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5695, + "initialValue": { + "arguments": [ + { + "id": 5693, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5645, + "src": "7172:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "baseExpression": { + "id": 5689, + "name": "beneficiaryTokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5261, + "src": "7141:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5691, + "indexExpression": { + "id": 5690, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5635, + "src": "7161:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7141:27:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5692, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "at", + "nodeType": "MemberAccess", + "referencedDeclaration": 5068, + "src": "7141:30:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)" + } + }, + "id": 5694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7141:33:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7122:52:27" + }, + { + "assignments": [ + 5697 + ], + "declarations": [ + { + "constant": false, + "id": 5697, + "mutability": "mutable", + "name": "_balance", + "nameLocation": "7197:8:27", + "nodeType": "VariableDeclaration", + "scope": 5716, + "src": "7189:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5696, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7189:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5703, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 5698, + "name": "erc1155Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "7208:14:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 5700, + "indexExpression": { + "id": 5699, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5635, + "src": "7223:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7208:22:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5702, + "indexExpression": { + "id": 5701, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5688, + "src": "7231:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7208:32:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7189:51:27" + }, + { + "expression": { + "id": 5708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5704, + "name": "_tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5659, + "src": "7255:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 5706, + "indexExpression": { + "id": 5705, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5645, + "src": "7265:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7255:12:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5707, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5688, + "src": "7270:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7255:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5709, + "nodeType": "ExpressionStatement", + "src": "7255:23:27" + }, + { + "expression": { + "id": 5714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5710, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5670, + "src": "7293:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 5712, + "indexExpression": { + "id": 5711, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5645, + "src": "7303:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7293:12:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5713, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5697, + "src": "7308:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7293:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5715, + "nodeType": "ExpressionStatement", + "src": "7293:23:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5681, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5645, + "src": "7087:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5682, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5648, + "src": "7089:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7087:15:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5717, + "initializationExpression": { + "expression": { + "id": 5679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5677, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5645, + "src": "7083:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 5678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7085:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7083:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5680, + "nodeType": "ExpressionStatement", + "src": "7083:3:27" + }, + "loopExpression": { + "expression": { + "id": 5685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "7103:3:27", + "subExpression": { + "id": 5684, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5645, + "src": "7103:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5686, + "nodeType": "ExpressionStatement", + "src": "7103:3:27" + }, + "nodeType": "ForStatement", + "src": "7078:250:27" + }, + { + "expression": { + "components": [ + { + "id": 5718, + "name": "_tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5659, + "src": "7356:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 5719, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5670, + "src": "7366:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 5720, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7355:21:27", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "functionReturnParameters": 5643, + "id": 5721, + "nodeType": "Return", + "src": "7348:28:27" + } + ] + }, + "functionSelector": "a067ddfe", + "id": 5723, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalERC1155Balance", + "nameLocation": "6720:22:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5635, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "6751:6:27", + "nodeType": "VariableDeclaration", + "scope": 5723, + "src": "6743:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5634, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6743:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6742:16:27" + }, + "returnParameters": { + "id": 5643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5639, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "6796:8:27", + "nodeType": "VariableDeclaration", + "scope": 5723, + "src": "6779:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5637, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6779:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5638, + "nodeType": "ArrayTypeName", + "src": "6779:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5642, + "mutability": "mutable", + "name": "balances", + "nameLocation": "6822:8:27", + "nodeType": "VariableDeclaration", + "scope": 5723, + "src": "6805:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5640, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6805:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5641, + "nodeType": "ArrayTypeName", + "src": "6805:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "6778:53:27" + }, + "scope": 7837, + "src": "6711:670:27", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5812, + "nodeType": "Block", + "src": "7511:544:27", + "statements": [ + { + "assignments": [ + 5735 + ], + "declarations": [ + { + "constant": false, + "id": 5735, + "mutability": "mutable", + "name": "i", + "nameLocation": "7527:1:27", + "nodeType": "VariableDeclaration", + "scope": 5812, + "src": "7519:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7519:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5736, + "nodeType": "VariableDeclarationStatement", + "src": "7519:9:27" + }, + { + "assignments": [ + 5738 + ], + "declarations": [ + { + "constant": false, + "id": 5738, + "mutability": "mutable", + "name": "_totalERC1155", + "nameLocation": "7544:13:27", + "nodeType": "VariableDeclaration", + "scope": 5812, + "src": "7536:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5737, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7536:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5744, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "baseExpression": { + "id": 5739, + "name": "tokenIdsIssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5305, + "src": "7560:16:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5741, + "indexExpression": { + "id": 5740, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5725, + "src": "7577:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7560:26:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5742, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": 5047, + "src": "7560:33:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)" + } + }, + "id": 5743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7560:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7536:59:27" + }, + { + "assignments": [ + 5749 + ], + "declarations": [ + { + "constant": false, + "id": 5749, + "mutability": "mutable", + "name": "_tokenIds", + "nameLocation": "7620:9:27", + "nodeType": "VariableDeclaration", + "scope": 5812, + "src": "7603:26:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5747, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7603:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5748, + "nodeType": "ArrayTypeName", + "src": "7603:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 5755, + "initialValue": { + "arguments": [ + { + "id": 5753, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5738, + "src": "7646:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "7632:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 5750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7636:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5751, + "nodeType": "ArrayTypeName", + "src": "7636:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 5754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7632:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7603:57:27" + }, + { + "assignments": [ + 5760 + ], + "declarations": [ + { + "constant": false, + "id": 5760, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "7688:9:27", + "nodeType": "VariableDeclaration", + "scope": 5812, + "src": "7671:26:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7671:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5759, + "nodeType": "ArrayTypeName", + "src": "7671:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 5766, + "initialValue": { + "arguments": [ + { + "id": 5764, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5738, + "src": "7714:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "7700:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 5761, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7704:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5762, + "nodeType": "ArrayTypeName", + "src": "7704:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 5765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7700:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7671:57:27" + }, + { + "body": { + "id": 5806, + "nodeType": "Block", + "src": "7779:223:27", + "statements": [ + { + "assignments": [ + 5778 + ], + "declarations": [ + { + "constant": false, + "id": 5778, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "7802:8:27", + "nodeType": "VariableDeclaration", + "scope": 5806, + "src": "7794:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5777, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7794:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5785, + "initialValue": { + "arguments": [ + { + "id": 5783, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5735, + "src": "7843:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "baseExpression": { + "id": 5779, + "name": "tokenIdsIssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5305, + "src": "7813:16:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5781, + "indexExpression": { + "id": 5780, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5725, + "src": "7830:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7813:26:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5782, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "at", + "nodeType": "MemberAccess", + "referencedDeclaration": 5068, + "src": "7813:29:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)" + } + }, + "id": 5784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7813:32:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7794:51:27" + }, + { + "assignments": [ + 5787 + ], + "declarations": [ + { + "constant": false, + "id": 5787, + "mutability": "mutable", + "name": "_balance", + "nameLocation": "7868:8:27", + "nodeType": "VariableDeclaration", + "scope": 5806, + "src": "7860:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5786, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7860:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5793, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 5788, + "name": "erc1155IssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5311, + "src": "7879:15:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 5790, + "indexExpression": { + "id": 5789, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5725, + "src": "7895:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7879:25:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5792, + "indexExpression": { + "id": 5791, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5778, + "src": "7905:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7879:35:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7860:54:27" + }, + { + "expression": { + "id": 5798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5794, + "name": "_tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5749, + "src": "7929:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 5796, + "indexExpression": { + "id": 5795, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5735, + "src": "7939:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7929:12:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5797, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5778, + "src": "7944:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7929:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5799, + "nodeType": "ExpressionStatement", + "src": "7929:23:27" + }, + { + "expression": { + "id": 5804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5800, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5760, + "src": "7967:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 5802, + "indexExpression": { + "id": 5801, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5735, + "src": "7977:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7967:12:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5803, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5787, + "src": "7982:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7967:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5805, + "nodeType": "ExpressionStatement", + "src": "7967:23:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5771, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5735, + "src": "7759:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5772, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5738, + "src": "7761:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7759:15:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5807, + "initializationExpression": { + "expression": { + "id": 5769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5767, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5735, + "src": "7755:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 5768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7757:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7755:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5770, + "nodeType": "ExpressionStatement", + "src": "7755:3:27" + }, + "loopExpression": { + "expression": { + "id": 5775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "7775:3:27", + "subExpression": { + "id": 5774, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5735, + "src": "7775:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5776, + "nodeType": "ExpressionStatement", + "src": "7775:3:27" + }, + "nodeType": "ForStatement", + "src": "7750:252:27" + }, + { + "expression": { + "components": [ + { + "id": 5808, + "name": "_tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5749, + "src": "8030:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 5809, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5760, + "src": "8040:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 5810, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8029:21:27", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "functionReturnParameters": 5733, + "id": 5811, + "nodeType": "Return", + "src": "8022:28:27" + } + ] + }, + "functionSelector": "b32ca289", + "id": 5813, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalERC1155IssuedBy", + "nameLocation": "7396:23:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5725, + "mutability": "mutable", + "name": "_address", + "nameLocation": "7428:8:27", + "nodeType": "VariableDeclaration", + "scope": 5813, + "src": "7420:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5724, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7420:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7419:18:27" + }, + "returnParameters": { + "id": 5733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5729, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "7475:8:27", + "nodeType": "VariableDeclaration", + "scope": 5813, + "src": "7458:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5727, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7458:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5728, + "nodeType": "ArrayTypeName", + "src": "7458:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5732, + "mutability": "mutable", + "name": "balances", + "nameLocation": "7501:8:27", + "nodeType": "VariableDeclaration", + "scope": 5813, + "src": "7484:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5730, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7484:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5731, + "nodeType": "ArrayTypeName", + "src": "7484:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "7457:53:27" + }, + "scope": 7837, + "src": "7387:668:27", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5827, + "nodeType": "Block", + "src": "8161:62:27", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "baseExpression": { + "id": 5821, + "name": "beneficiaryTokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5261, + "src": "8179:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5823, + "indexExpression": { + "id": 5822, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5815, + "src": "8199:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8179:27:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5824, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "values", + "nodeType": "MemberAccess", + "referencedDeclaration": 5098, + "src": "8179:34:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256[] memory)" + } + }, + "id": 5825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8179:36:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 5820, + "id": 5826, + "nodeType": "Return", + "src": "8172:43:27" + } + ] + }, + "functionSelector": "48f20476", + "id": 5828, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTokenIdsOfBeneficiary", + "nameLocation": "8074:24:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5815, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "8107:6:27", + "nodeType": "VariableDeclaration", + "scope": 5828, + "src": "8099:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8099:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8098:16:27" + }, + "returnParameters": { + "id": 5820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5819, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "8152:8:27", + "nodeType": "VariableDeclaration", + "scope": 5828, + "src": "8135:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8135:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5818, + "nodeType": "ArrayTypeName", + "src": "8135:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "8134:27:27" + }, + "scope": 7837, + "src": "8065:158:27", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5842, + "nodeType": "Block", + "src": "8328:61:27", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "baseExpression": { + "id": 5836, + "name": "tokenIdsIssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5305, + "src": "8346:16:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5838, + "indexExpression": { + "id": 5837, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5830, + "src": "8363:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8346:26:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5839, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "values", + "nodeType": "MemberAccess", + "referencedDeclaration": 5098, + "src": "8346:33:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256[] memory)" + } + }, + "id": 5840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8346:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 5835, + "id": 5841, + "nodeType": "Return", + "src": "8339:42:27" + } + ] + }, + "functionSelector": "f5216216", + "id": 5843, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTokenIdsIssuedBy", + "nameLocation": "8244:19:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5830, + "mutability": "mutable", + "name": "_address", + "nameLocation": "8272:8:27", + "nodeType": "VariableDeclaration", + "scope": 5843, + "src": "8264:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5829, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8264:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8263:18:27" + }, + "returnParameters": { + "id": 5835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5834, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "8319:8:27", + "nodeType": "VariableDeclaration", + "scope": 5843, + "src": "8302:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5832, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8302:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5833, + "nodeType": "ArrayTypeName", + "src": "8302:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "8301:27:27" + }, + "scope": 7837, + "src": "8235:154:27", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5846, + "nodeType": "Block", + "src": "8437:7:27", + "statements": [] + }, + "functionSelector": "f708ccab", + "id": 5847, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "suspendMobilizer", + "nameLocation": "8411:16:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5844, + "nodeType": "ParameterList", + "parameters": [], + "src": "8427:2:27" + }, + "returnParameters": { + "id": 5845, + "nodeType": "ParameterList", + "parameters": [], + "src": "8437:0:27" + }, + "scope": 7837, + "src": "8402:42:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5850, + "nodeType": "Block", + "src": "8479:9:27", + "statements": [] + }, + "functionSelector": "0241a5b3", + "id": 5851, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "suspendVendor", + "nameLocation": "8456:13:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5848, + "nodeType": "ParameterList", + "parameters": [], + "src": "8469:2:27" + }, + "returnParameters": { + "id": 5849, + "nodeType": "ParameterList", + "parameters": [], + "src": "8479:0:27" + }, + "scope": 7837, + "src": "8447:41:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5881, + "nodeType": "Block", + "src": "8811:192:27", + "statements": [ + { + "assignments": [ + 5865 + ], + "declarations": [ + { + "constant": false, + "id": 5865, + "mutability": "mutable", + "name": "_balance", + "nameLocation": "8869:8:27", + "nodeType": "VariableDeclaration", + "scope": 5881, + "src": "8861:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5864, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8861:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5869, + "initialValue": { + "baseExpression": { + "id": 5866, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "8880:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5868, + "indexExpression": { + "id": 5867, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "8893:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8880:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8861:39:27" + }, + { + "expression": { + "id": 5874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5870, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "8905:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 5872, + "indexExpression": { + "id": 5871, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5856, + "src": "8935:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8905:41:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 5873, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5865, + "src": "8950:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8905:53:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5875, + "nodeType": "ExpressionStatement", + "src": "8905:53:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5877, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "8981:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5878, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5865, + "src": "8989:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5876, + "name": "adjustTokenDeduct", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5937, + 5990 + ], + "referencedDeclaration": 5937, + "src": "8963:17:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 5879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8963:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5880, + "nodeType": "ExpressionStatement", + "src": "8963:35:27" + } + ] + }, + "documentation": { + "id": 5852, + "nodeType": "StructuredDocumentation", + "src": "8518:185:27", + "text": "@notice suspend the benficiary by deducting all the balance beneficiary owns\n @param _phone phone number of the Beneficiary\n @param _projectId projectId of the beneficiary" + }, + "functionSelector": "2aef0c30", + "id": 5882, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5859, + "kind": "modifierInvocation", + "modifierName": { + "id": 5858, + "name": "OnlyServer", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5413, + "src": "8778:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "8778:10:27" + }, + { + "arguments": [ + { + "id": 5861, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "8803:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5862, + "kind": "modifierInvocation", + "modifierName": { + "id": 5860, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "8789:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "8789:21:27" + } + ], + "name": "suspendBeneficiary", + "nameLocation": "8715:18:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5854, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "8742:6:27", + "nodeType": "VariableDeclaration", + "scope": 5882, + "src": "8734:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8734:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5856, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "8759:10:27", + "nodeType": "VariableDeclaration", + "scope": 5882, + "src": "8751:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5855, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8751:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "8733:37:27" + }, + "returnParameters": { + "id": 5863, + "nodeType": "ParameterList", + "parameters": [], + "src": "8811:0:27" + }, + "scope": 7837, + "src": "8706:297:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5912, + "nodeType": "Block", + "src": "9128:215:27", + "statements": [ + { + "expression": { + "id": 5900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5892, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "9176:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5894, + "indexExpression": { + "id": 5893, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "9189:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9176:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5895, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "9199:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5897, + "indexExpression": { + "id": 5896, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "9212:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9199:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 5898, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5887, + "src": "9222:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9199:30:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9176:53:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5901, + "nodeType": "ExpressionStatement", + "src": "9176:53:27" + }, + { + "expression": { + "id": 5910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5902, + "name": "erc20Issued", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5250, + "src": "9234:11:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5904, + "indexExpression": { + "id": 5903, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "9246:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9234:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5905, + "name": "erc20Issued", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5250, + "src": "9256:11:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5907, + "indexExpression": { + "id": 5906, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "9268:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9256:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 5908, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5887, + "src": "9278:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9256:29:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9234:51:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5911, + "nodeType": "ExpressionStatement", + "src": "9234:51:27" + } + ] + }, + "documentation": { + "id": 5883, + "nodeType": "StructuredDocumentation", + "src": "9008:43:27", + "text": "@notice adds the token from beneficiary" + }, + "functionSelector": "f9b5bf90", + "id": 5913, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5890, + "kind": "modifierInvocation", + "modifierName": { + "id": 5889, + "name": "OnlyAdmin", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5426, + "src": "9118:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "9118:9:27" + } + ], + "name": "adjustTokenAdd", + "nameLocation": "9063:14:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5888, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5885, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "9086:6:27", + "nodeType": "VariableDeclaration", + "scope": 5913, + "src": "9078:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9078:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5887, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "9102:7:27", + "nodeType": "VariableDeclaration", + "scope": 5913, + "src": "9094:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5886, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9094:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9077:33:27" + }, + "returnParameters": { + "id": 5891, + "nodeType": "ParameterList", + "parameters": [], + "src": "9128:0:27" + }, + "scope": 7837, + "src": "9054:289:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5936, + "nodeType": "Block", + "src": "9496:159:27", + "statements": [ + { + "expression": { + "id": 5934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5926, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "9544:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5928, + "indexExpression": { + "id": 5927, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "9557:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9544:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5929, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "9567:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5931, + "indexExpression": { + "id": 5930, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "9580:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9567:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 5932, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5918, + "src": "9590:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9567:30:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9544:53:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5935, + "nodeType": "ExpressionStatement", + "src": "9544:53:27" + } + ] + }, + "documentation": { + "id": 5914, + "nodeType": "StructuredDocumentation", + "src": "9348:46:27", + "text": "@notice deducts the token from beneficiary" + }, + "functionSelector": "bf6b867b", + "id": 5937, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5921, + "kind": "modifierInvocation", + "modifierName": { + "id": 5920, + "name": "OnlyAdmin", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5426, + "src": "9464:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "9464:9:27" + }, + { + "arguments": [ + { + "id": 5923, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "9488:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5924, + "kind": "modifierInvocation", + "modifierName": { + "id": 5922, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "9474:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "9474:21:27" + } + ], + "name": "adjustTokenDeduct", + "nameLocation": "9406:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5919, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5916, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "9432:6:27", + "nodeType": "VariableDeclaration", + "scope": 5937, + "src": "9424:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5915, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9424:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5918, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "9448:7:27", + "nodeType": "VariableDeclaration", + "scope": 5937, + "src": "9440:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9440:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9423:33:27" + }, + "returnParameters": { + "id": 5925, + "nodeType": "ParameterList", + "parameters": [], + "src": "9496:0:27" + }, + "scope": 7837, + "src": "9397:258:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5965, + "nodeType": "Block", + "src": "9804:196:27", + "statements": [ + { + "expression": { + "id": 5955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 5949, + "name": "erc1155Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "9852:14:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 5952, + "indexExpression": { + "id": 5950, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5940, + "src": "9867:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9852:22:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5953, + "indexExpression": { + "id": 5951, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5944, + "src": "9875:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9852:32:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 5954, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5942, + "src": "9888:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9852:43:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5956, + "nodeType": "ExpressionStatement", + "src": "9852:43:27" + }, + { + "expression": { + "id": 5963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 5957, + "name": "erc1155Issued", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5256, + "src": "9900:13:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 5960, + "indexExpression": { + "id": 5958, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5940, + "src": "9914:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9900:21:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5961, + "indexExpression": { + "id": 5959, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5944, + "src": "9922:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9900:31:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 5962, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5942, + "src": "9935:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9900:42:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5964, + "nodeType": "ExpressionStatement", + "src": "9900:42:27" + } + ] + }, + "documentation": { + "id": 5938, + "nodeType": "StructuredDocumentation", + "src": "9667:43:27", + "text": "@notice adds the token from beneficiary" + }, + "functionSelector": "3036950e", + "id": 5966, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5947, + "kind": "modifierInvocation", + "modifierName": { + "id": 5946, + "name": "OnlyAdmin", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5426, + "src": "9794:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "9794:9:27" + } + ], + "name": "adjustTokenAdd", + "nameLocation": "9722:14:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5945, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5940, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "9745:6:27", + "nodeType": "VariableDeclaration", + "scope": 5966, + "src": "9737:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5939, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9737:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5942, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "9761:7:27", + "nodeType": "VariableDeclaration", + "scope": 5966, + "src": "9753:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5941, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9753:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5944, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "9777:8:27", + "nodeType": "VariableDeclaration", + "scope": 5966, + "src": "9769:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5943, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9769:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9736:50:27" + }, + "returnParameters": { + "id": 5948, + "nodeType": "ParameterList", + "parameters": [], + "src": "9804:0:27" + }, + "scope": 7837, + "src": "9713:287:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5989, + "nodeType": "Block", + "src": "10170:149:27", + "statements": [ + { + "expression": { + "id": 5987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 5981, + "name": "erc1155Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "10218:14:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 5984, + "indexExpression": { + "id": 5982, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5969, + "src": "10233:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10218:22:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5985, + "indexExpression": { + "id": 5983, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5973, + "src": "10241:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10218:32:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 5986, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5971, + "src": "10254:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10218:43:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5988, + "nodeType": "ExpressionStatement", + "src": "10218:43:27" + } + ] + }, + "documentation": { + "id": 5967, + "nodeType": "StructuredDocumentation", + "src": "10005:46:27", + "text": "@notice deducts the token from beneficiary" + }, + "functionSelector": "5bb67567", + "id": 5990, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5976, + "kind": "modifierInvocation", + "modifierName": { + "id": 5975, + "name": "OnlyAdmin", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5426, + "src": "10138:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "10138:9:27" + }, + { + "arguments": [ + { + "id": 5978, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5969, + "src": "10162:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5979, + "kind": "modifierInvocation", + "modifierName": { + "id": 5977, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "10148:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "10148:21:27" + } + ], + "name": "adjustTokenDeduct", + "nameLocation": "10063:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5969, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "10089:6:27", + "nodeType": "VariableDeclaration", + "scope": 5990, + "src": "10081:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5968, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10081:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5971, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "10105:7:27", + "nodeType": "VariableDeclaration", + "scope": 5990, + "src": "10097:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5970, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10097:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5973, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "10121:8:27", + "nodeType": "VariableDeclaration", + "scope": 5990, + "src": "10113:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5972, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10113:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10080:50:27" + }, + "returnParameters": { + "id": 5980, + "nodeType": "ParameterList", + "parameters": [], + "src": "10170:0:27" + }, + "scope": 7837, + "src": "10054:265:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6010, + "nodeType": "Block", + "src": "10605:99:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6001, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5993, + "src": "10624:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 5998, + "name": "projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5276, + "src": "10610:9:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$4705_storage", + "typeString": "struct EnumerableSet.Bytes32Set storage ref" + } + }, + "id": 6000, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 4723, + "src": "10610:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Bytes32Set_$4705_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes32Set_$4705_storage_ptr_$", + "typeString": "function (struct EnumerableSet.Bytes32Set storage pointer,bytes32) returns (bool)" + } + }, + "id": 6002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10610:25:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6003, + "nodeType": "ExpressionStatement", + "src": "10610:25:27" + }, + { + "expression": { + "id": 6008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6004, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "10640:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6006, + "indexExpression": { + "id": 6005, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5993, + "src": "10670:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10640:41:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 6007, + "name": "_projectCapital", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5995, + "src": "10684:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10640:59:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6009, + "nodeType": "ExpressionStatement", + "src": "10640:59:27" + } + ] + }, + "documentation": { + "id": 5991, + "nodeType": "StructuredDocumentation", + "src": "10324:204:27", + "text": "@notice creates a project.\n @notice called by rahatdmin contract\n @param _projectId Id of the project to assign budget\n @param _projectCapital amount of budget to be assigned to project" + }, + "functionSelector": "298ed0c9", + "id": 6011, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addProject", + "nameLocation": "10540:10:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5993, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "10559:10:27", + "nodeType": "VariableDeclaration", + "scope": 6011, + "src": "10551:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5992, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10551:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5995, + "mutability": "mutable", + "name": "_projectCapital", + "nameLocation": "10579:15:27", + "nodeType": "VariableDeclaration", + "scope": 6011, + "src": "10571:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5994, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10571:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10550:45:27" + }, + "returnParameters": { + "id": 5997, + "nodeType": "ParameterList", + "parameters": [], + "src": "10605:0:27" + }, + "scope": 7837, + "src": "10531:173:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 6025, + "nodeType": "Block", + "src": "11003:70:27", + "statements": [ + { + "expression": { + "id": 6023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6019, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "11008:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6021, + "indexExpression": { + "id": 6020, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6014, + "src": "11038:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11008:41:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 6022, + "name": "_projectCapital", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6016, + "src": "11053:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11008:60:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6024, + "nodeType": "ExpressionStatement", + "src": "11008:60:27" + } + ] + }, + "documentation": { + "id": 6012, + "nodeType": "StructuredDocumentation", + "src": "10709:208:27", + "text": "@notice update a project balance.\n @notice called by rahatdmin contract\n @param _projectId Id of the project to assign budget\n @param _projectCapital amount of budget to be added to project" + }, + "functionSelector": "88257567", + "id": 6026, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "updateProjectBudget", + "nameLocation": "10929:19:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6017, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6014, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "10957:10:27", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "10949:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6013, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10949:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6016, + "mutability": "mutable", + "name": "_projectCapital", + "nameLocation": "10977:15:27", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "10969:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6015, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10969:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10948:45:27" + }, + "returnParameters": { + "id": 6018, + "nodeType": "ParameterList", + "parameters": [], + "src": "11003:0:27" + }, + "scope": 7837, + "src": "10920:153:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 6044, + "nodeType": "Block", + "src": "11427:81:27", + "statements": [ + { + "expression": { + "id": 6042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 6036, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "11432:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6039, + "indexExpression": { + "id": 6037, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6029, + "src": "11464:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11432:43:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6040, + "indexExpression": { + "id": 6038, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6033, + "src": "11476:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11432:52:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 6041, + "name": "_projectCapital", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6031, + "src": "11488:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11432:71:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6043, + "nodeType": "ExpressionStatement", + "src": "11432:71:27" + } + ] + }, + "documentation": { + "id": 6027, + "nodeType": "StructuredDocumentation", + "src": "11079:246:27", + "text": "@notice update a project balance.\n @notice called by rahatdmin contract\n @param _projectId Id of the project to assign budget\n @param _projectCapital amount of budget to be added to project\n @param tokenId ERC1155 token id" + }, + "functionSelector": "0f6025eb", + "id": 6045, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "updateProjectBudget", + "nameLocation": "11337:19:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6034, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6029, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "11365:10:27", + "nodeType": "VariableDeclaration", + "scope": 6045, + "src": "11357:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6028, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11357:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6031, + "mutability": "mutable", + "name": "_projectCapital", + "nameLocation": "11385:15:27", + "nodeType": "VariableDeclaration", + "scope": 6045, + "src": "11377:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6030, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11377:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6033, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "11409:7:27", + "nodeType": "VariableDeclaration", + "scope": 6045, + "src": "11401:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6032, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11401:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11356:61:27" + }, + "returnParameters": { + "id": 6035, + "nodeType": "ParameterList", + "parameters": [], + "src": "11427:0:27" + }, + "scope": 7837, + "src": "11328:180:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 6057, + "nodeType": "Block", + "src": "11650:58:27", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 6053, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "11662:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6055, + "indexExpression": { + "id": 6054, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6048, + "src": "11692:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11662:41:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6052, + "id": 6056, + "nodeType": "Return", + "src": "11655:48:27" + } + ] + }, + "documentation": { + "id": 6046, + "nodeType": "StructuredDocumentation", + "src": "11513:46:27", + "text": "@notice get the current balance of project" + }, + "functionSelector": "cf784eda", + "id": 6058, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getProjectBalance", + "nameLocation": "11571:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6048, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "11597:10:27", + "nodeType": "VariableDeclaration", + "scope": 6058, + "src": "11589:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6047, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11589:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "11588:20:27" + }, + "returnParameters": { + "id": 6052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6051, + "mutability": "mutable", + "name": "_balance", + "nameLocation": "11640:8:27", + "nodeType": "VariableDeclaration", + "scope": 6058, + "src": "11632:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6050, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11632:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11631:18:27" + }, + "scope": 7837, + "src": "11562:146:27", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 6074, + "nodeType": "Block", + "src": "11869:69:27", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 6068, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "11881:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6070, + "indexExpression": { + "id": 6069, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6061, + "src": "11913:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11881:43:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6072, + "indexExpression": { + "id": 6071, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6063, + "src": "11925:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11881:52:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6067, + "id": 6073, + "nodeType": "Return", + "src": "11874:59:27" + } + ] + }, + "documentation": { + "id": 6059, + "nodeType": "StructuredDocumentation", + "src": "11715:46:27", + "text": "@notice get the current balance of project" + }, + "functionSelector": "39cbd15c", + "id": 6075, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getProjectBalance", + "nameLocation": "11773:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6064, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6061, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "11799:10:27", + "nodeType": "VariableDeclaration", + "scope": 6075, + "src": "11791:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6060, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11791:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6063, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "11819:7:27", + "nodeType": "VariableDeclaration", + "scope": 6075, + "src": "11811:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6062, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11811:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11790:37:27" + }, + "returnParameters": { + "id": 6067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6066, + "mutability": "mutable", + "name": "_balance", + "nameLocation": "11859:8:27", + "nodeType": "VariableDeclaration", + "scope": 6075, + "src": "11851:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6065, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11851:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11850:18:27" + }, + "scope": 7837, + "src": "11764:174:27", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 6101, + "nodeType": "Block", + "src": "12036:152:27", + "statements": [ + { + "assignments": [ + 6085 + ], + "declarations": [ + { + "constant": false, + "id": 6085, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "12052:7:27", + "nodeType": "VariableDeclaration", + "scope": 6101, + "src": "12044:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6084, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12044:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6090, + "initialValue": { + "arguments": [ + { + "id": 6088, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6079, + "src": "12076:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6086, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6077, + "src": "12062:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "recover", + "nodeType": "MemberAccess", + "referencedDeclaration": 4026, + "src": "12062:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$bound_to$_t_bytes32_$", + "typeString": "function (bytes32,bytes memory) pure returns (address)" + } + }, + "id": 6089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12062:25:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12044:43:27" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6093, + "name": "VENDOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5210, + "src": "12111:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6094, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6085, + "src": "12123:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6092, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "12103:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 6095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12103:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e65722073686f756c64206265204d6f62696c697a6572", + "id": 6096, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12132:28:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3abced3b2cbee5ea1b046b545c47d2713c9ee0c5b224ee552a1c226fdd69a6fe", + "typeString": "literal_string \"Signer should be Mobilizer\"" + }, + "value": "Signer should be Mobilizer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3abced3b2cbee5ea1b046b545c47d2713c9ee0c5b224ee552a1c226fdd69a6fe", + "typeString": "literal_string \"Signer should be Mobilizer\"" + } + ], + "id": 6091, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12095:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12095:66:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6098, + "nodeType": "ExpressionStatement", + "src": "12095:66:27" + }, + { + "expression": { + "id": 6099, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6085, + "src": "12176:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6083, + "id": 6100, + "nodeType": "Return", + "src": "12169:14:27" + } + ] + }, + "id": 6102, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyVendor", + "nameLocation": "11953:12:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6080, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6077, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "11974:5:27", + "nodeType": "VariableDeclaration", + "scope": 6102, + "src": "11966:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6076, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11966:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6079, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "11994:10:27", + "nodeType": "VariableDeclaration", + "scope": 6102, + "src": "11981:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6078, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11981:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "11965:40:27" + }, + "returnParameters": { + "id": 6083, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6082, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6102, + "src": "12028:7:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6081, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12028:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12027:9:27" + }, + "scope": 7837, + "src": "11944:244:27", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6128, + "nodeType": "Block", + "src": "12290:158:27", + "statements": [ + { + "assignments": [ + 6112 + ], + "declarations": [ + { + "constant": false, + "id": 6112, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "12307:7:27", + "nodeType": "VariableDeclaration", + "scope": 6128, + "src": "12299:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6111, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12299:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6117, + "initialValue": { + "arguments": [ + { + "id": 6115, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6106, + "src": "12331:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6113, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6104, + "src": "12317:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "recover", + "nodeType": "MemberAccess", + "referencedDeclaration": 4026, + "src": "12317:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$bound_to$_t_bytes32_$", + "typeString": "function (bytes32,bytes memory) pure returns (address)" + } + }, + "id": 6116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12317:25:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12299:43:27" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6120, + "name": "MOBILIZER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "12366:14:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6121, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6112, + "src": "12381:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6119, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "12358:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 6122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12358:31:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e65722073686f756c64206265204d6f62696c697a6572", + "id": 6123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12390:28:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3abced3b2cbee5ea1b046b545c47d2713c9ee0c5b224ee552a1c226fdd69a6fe", + "typeString": "literal_string \"Signer should be Mobilizer\"" + }, + "value": "Signer should be Mobilizer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3abced3b2cbee5ea1b046b545c47d2713c9ee0c5b224ee552a1c226fdd69a6fe", + "typeString": "literal_string \"Signer should be Mobilizer\"" + } + ], + "id": 6118, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12350:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12350:69:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6125, + "nodeType": "ExpressionStatement", + "src": "12350:69:27" + }, + { + "expression": { + "id": 6126, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6112, + "src": "12434:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6110, + "id": 6127, + "nodeType": "Return", + "src": "12427:14:27" + } + ] + }, + "id": 6129, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyMobilizer", + "nameLocation": "12203:15:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6104, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "12227:5:27", + "nodeType": "VariableDeclaration", + "scope": 6129, + "src": "12219:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6103, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12219:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6106, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "12247:10:27", + "nodeType": "VariableDeclaration", + "scope": 6129, + "src": "12234:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6105, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "12234:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "12218:40:27" + }, + "returnParameters": { + "id": 6110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6109, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6129, + "src": "12282:7:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12282:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12281:9:27" + }, + "scope": 7837, + "src": "12194:254:27", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6197, + "nodeType": "Block", + "src": "12816:464:27", + "statements": [ + { + "assignments": [ + 6142 + ], + "declarations": [ + { + "constant": false, + "id": 6142, + "mutability": "mutable", + "name": "_id", + "nameLocation": "12829:3:27", + "nodeType": "VariableDeclaration", + "scope": 6197, + "src": "12821:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6141, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12821:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6146, + "initialValue": { + "arguments": [ + { + "id": 6144, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "12844:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6143, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "12835:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 6145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12835:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12821:34:27" + }, + { + "condition": { + "arguments": [ + { + "id": 6148, + "name": "MOBILIZER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "12887:14:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 6149, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12903:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12903:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6147, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "12879:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 6151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12879:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6163, + "nodeType": "IfStatement", + "src": "12876:108:27", + "trueBody": { + "id": 6162, + "nodeType": "Block", + "src": "12915:69:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 6157, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12960:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12960:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "baseExpression": { + "id": 6153, + "name": "projectMobilizers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5291, + "src": "12928:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet storage ref)" + } + }, + "id": 6155, + "indexExpression": { + "id": 6154, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6142, + "src": "12946:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12928:22:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$4812_storage", + "typeString": "struct EnumerableSet.AddressSet storage ref" + } + }, + "id": 6156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contains", + "nodeType": "MemberAccess", + "referencedDeclaration": 4893, + "src": "12928:31:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_AddressSet_$4812_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_AddressSet_$4812_storage_ptr_$", + "typeString": "function (struct EnumerableSet.AddressSet storage pointer,address) view returns (bool)" + } + }, + "id": 6159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12928:43:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6152, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12920:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12920:52:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6161, + "nodeType": "ExpressionStatement", + "src": "12920:52:27" + } + ] + } + }, + { + "expression": { + "id": 6169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6164, + "name": "erc20IssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5300, + "src": "12988:13:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6167, + "indexExpression": { + "expression": { + "id": 6165, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13002:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13002:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12988:25:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 6168, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6136, + "src": "13017:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12988:36:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6170, + "nodeType": "ExpressionStatement", + "src": "12988:36:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6172, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "13040:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6174, + "indexExpression": { + "id": 6173, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6142, + "src": "13070:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13040:34:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6175, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6136, + "src": "13078:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13040:45:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e2072656d61696e696e672050726f6a65637420427564676574", + "id": 6177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13087:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + }, + "value": "RAHAT: Amount is greater than remaining Project Budget" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + } + ], + "id": 6171, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13032:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13032:112:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6179, + "nodeType": "ExpressionStatement", + "src": "13032:112:27" + }, + { + "expression": { + "id": 6184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6180, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "13149:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6182, + "indexExpression": { + "id": 6181, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6142, + "src": "13179:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13149:34:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 6183, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6136, + "src": "13187:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13149:45:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6185, + "nodeType": "ExpressionStatement", + "src": "13149:45:27" + }, + { + "expression": { + "arguments": [ + { + "id": 6187, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6134, + "src": "13214:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6188, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6136, + "src": "13222:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6186, + "name": "adjustTokenAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5913, + 5966 + ], + "referencedDeclaration": 5913, + "src": "13199:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 6189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13199:31:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6190, + "nodeType": "ExpressionStatement", + "src": "13199:31:27" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6192, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6142, + "src": "13254:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6193, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6134, + "src": "13259:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6194, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6136, + "src": "13267:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6191, + "name": "IssuedERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5162, + "src": "13242:11:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256)" + } + }, + "id": 6195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13242:33:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6196, + "nodeType": "EmitStatement", + "src": "13237:38:27" + } + ] + }, + "documentation": { + "id": 6130, + "nodeType": "StructuredDocumentation", + "src": "12453:227:27", + "text": "@notice Issue tokens to beneficiary\n @param _projectId Id of the project beneficiary is involved in\n @param _phone phone number of the beneficiary\n @param _amount Amount of token to be assigned to beneficiary" + }, + "functionSelector": "c0d955d6", + "id": 6198, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6139, + "kind": "modifierInvocation", + "modifierName": { + "id": 6138, + "name": "OnlyAdminOrMobilizer", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5480, + "src": "12795:20:27" + }, + "nodeType": "ModifierInvocation", + "src": "12795:20:27" + } + ], + "name": "issueERC20ToBeneficiary", + "nameLocation": "12692:23:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6132, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "12734:10:27", + "nodeType": "VariableDeclaration", + "scope": 6198, + "src": "12720:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6131, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12720:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6134, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "12757:6:27", + "nodeType": "VariableDeclaration", + "scope": 6198, + "src": "12749:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6133, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12749:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6136, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "12776:7:27", + "nodeType": "VariableDeclaration", + "scope": 6198, + "src": "12768:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12768:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12715:72:27" + }, + "returnParameters": { + "id": 6140, + "nodeType": "ParameterList", + "parameters": [], + "src": "12816:0:27" + }, + "scope": 7837, + "src": "12683:597:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6342, + "nodeType": "Block", + "src": "13734:828:27", + "statements": [ + { + "assignments": [ + 6215 + ], + "declarations": [ + { + "constant": false, + "id": 6215, + "mutability": "mutable", + "name": "_id", + "nameLocation": "13747:3:27", + "nodeType": "VariableDeclaration", + "scope": 6342, + "src": "13739:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6214, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13739:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6219, + "initialValue": { + "arguments": [ + { + "id": 6217, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6201, + "src": "13762:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6216, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "13753:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 6218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13753:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13739:34:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6221, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "13786:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13786:14:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 6223, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "13804:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13804:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13786:33:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20496e76616c696420696e70757420617272617973206f662050686f6e6520616e6420416d6f756e74", + "id": 6226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13821:49:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133", + "typeString": "literal_string \"RAHAT: Invalid input arrays of Phone and Amount\"" + }, + "value": "RAHAT: Invalid input arrays of Phone and Amount" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133", + "typeString": "literal_string \"RAHAT: Invalid input arrays of Phone and Amount\"" + } + ], + "id": 6220, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13778:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13778:93:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6228, + "nodeType": "ExpressionStatement", + "src": "13778:93:27" + }, + { + "condition": { + "arguments": [ + { + "id": 6230, + "name": "MOBILIZER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "13888:14:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 6231, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13904:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13904:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6229, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "13880:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 6233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13880:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6245, + "nodeType": "IfStatement", + "src": "13877:108:27", + "trueBody": { + "id": 6244, + "nodeType": "Block", + "src": "13916:69:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 6239, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13961:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13961:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "baseExpression": { + "id": 6235, + "name": "projectMobilizers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5291, + "src": "13929:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet storage ref)" + } + }, + "id": 6237, + "indexExpression": { + "id": 6236, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6215, + "src": "13947:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13929:22:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$4812_storage", + "typeString": "struct EnumerableSet.AddressSet storage ref" + } + }, + "id": 6238, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contains", + "nodeType": "MemberAccess", + "referencedDeclaration": 4893, + "src": "13929:31:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_AddressSet_$4812_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_AddressSet_$4812_storage_ptr_$", + "typeString": "function (struct EnumerableSet.AddressSet storage pointer,address) view returns (bool)" + } + }, + "id": 6241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13929:43:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6234, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13921:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13921:52:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6243, + "nodeType": "ExpressionStatement", + "src": "13921:52:27" + } + ] + } + }, + { + "assignments": [ + 6247 + ], + "declarations": [ + { + "constant": false, + "id": 6247, + "mutability": "mutable", + "name": "i", + "nameLocation": "13997:1:27", + "nodeType": "VariableDeclaration", + "scope": 6342, + "src": "13989:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13989:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6248, + "nodeType": "VariableDeclarationStatement", + "src": "13989:9:27" + }, + { + "body": { + "id": 6340, + "nodeType": "Block", + "src": "14041:510:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 6261, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "14057:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6263, + "indexExpression": { + "id": 6262, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6215, + "src": "14089:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14057:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6267, + "indexExpression": { + "baseExpression": { + "id": 6264, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14094:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6266, + "indexExpression": { + "id": 6265, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14103:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14094:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14057:49:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "baseExpression": { + "id": 6268, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "14110:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6270, + "indexExpression": { + "id": 6269, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14118:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14110:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14057:63:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e2072656d61696e696e672050726f6a65637420427564676574", + "id": 6272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14122:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + }, + "value": "RAHAT: Amount is greater than remaining Project Budget" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + } + ], + "id": 6260, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "14049:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14049:130:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6274, + "nodeType": "ExpressionStatement", + "src": "14049:130:27" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 6280, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14227:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6282, + "indexExpression": { + "id": 6281, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14236:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14227:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "baseExpression": { + "id": 6275, + "name": "tokenIdsIssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5305, + "src": "14194:16:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 6278, + "indexExpression": { + "expression": { + "id": 6276, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14211:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14211:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14194:28:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 6279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 4990, + "src": "14194:32:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$4969_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" + } + }, + "id": 6283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14194:45:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6284, + "nodeType": "ExpressionStatement", + "src": "14194:45:27" + }, + { + "expression": { + "id": 6296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 6285, + "name": "erc1155IssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5311, + "src": "14247:15:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 6291, + "indexExpression": { + "expression": { + "id": 6286, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14263:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14263:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14247:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6292, + "indexExpression": { + "baseExpression": { + "id": 6288, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14275:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6290, + "indexExpression": { + "id": 6289, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14284:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14275:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14247:40:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "baseExpression": { + "id": 6293, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "14291:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6295, + "indexExpression": { + "id": 6294, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14299:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14291:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14247:54:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6297, + "nodeType": "ExpressionStatement", + "src": "14247:54:27" + }, + { + "expression": { + "id": 6308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 6298, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "14310:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6303, + "indexExpression": { + "id": 6299, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6215, + "src": "14342:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14310:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6304, + "indexExpression": { + "baseExpression": { + "id": 6300, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14347:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6302, + "indexExpression": { + "id": 6301, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14356:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14347:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14310:49:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "baseExpression": { + "id": 6305, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "14363:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6307, + "indexExpression": { + "id": 6306, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14371:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14363:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14310:63:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6309, + "nodeType": "ExpressionStatement", + "src": "14310:63:27" + }, + { + "expression": { + "arguments": [ + { + "id": 6311, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "14397:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 6312, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "14405:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6314, + "indexExpression": { + "id": 6313, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14413:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14405:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 6315, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14416:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6317, + "indexExpression": { + "id": 6316, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14425:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14416:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6310, + "name": "adjustTokenAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5913, + 5966 + ], + "referencedDeclaration": 5966, + "src": "14382:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 6318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14382:46:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6319, + "nodeType": "ExpressionStatement", + "src": "14382:46:27" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 6324, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14469:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6326, + "indexExpression": { + "id": 6325, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14478:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14469:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "baseExpression": { + "id": 6320, + "name": "beneficiaryTokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5261, + "src": "14437:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 6322, + "indexExpression": { + "id": 6321, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "14457:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14437:27:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 6323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 4990, + "src": "14437:31:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$4969_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" + } + }, + "id": 6327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14437:44:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6328, + "nodeType": "ExpressionStatement", + "src": "14437:44:27" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6330, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6215, + "src": "14509:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6331, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "14514:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 6332, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14522:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6334, + "indexExpression": { + "id": 6333, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14531:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14522:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 6335, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "14534:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6337, + "indexExpression": { + "id": 6336, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14542:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14534:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6329, + "name": "IssuedERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5172, + "src": "14495:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256)" + } + }, + "id": 6338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14495:50:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6339, + "nodeType": "EmitStatement", + "src": "14490:55:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6253, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14015:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 6254, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14019:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14019:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14015:19:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6341, + "initializationExpression": { + "expression": { + "id": 6251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6249, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14008:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 6250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14012:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14008:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6252, + "nodeType": "ExpressionStatement", + "src": "14008:5:27" + }, + "loopExpression": { + "expression": { + "id": 6258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "14036:3:27", + "subExpression": { + "id": 6257, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14036:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6259, + "nodeType": "ExpressionStatement", + "src": "14036:3:27" + }, + "nodeType": "ForStatement", + "src": "14003:548:27" + } + ] + }, + "documentation": { + "id": 6199, + "nodeType": "StructuredDocumentation", + "src": "13286:271:27", + "text": "@notice Issue ERC20 tokens to beneficiary\n @param _projectId Id of the project beneficiary is involved in\n @param _phone phone number of the beneficiary\n @param _amount Amount of token to be assigned to beneficiary\n @param _tokenId ERC1155 TokenId" + }, + "functionSelector": "5c966100", + "id": 6343, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6212, + "kind": "modifierInvocation", + "modifierName": { + "id": 6211, + "name": "OnlyAdminOrMobilizer", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5480, + "src": "13713:20:27" + }, + "nodeType": "ModifierInvocation", + "src": "13713:20:27" + } + ], + "name": "issueERC1155ToBeneficiary", + "nameLocation": "13569:25:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6201, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "13613:10:27", + "nodeType": "VariableDeclaration", + "scope": 6343, + "src": "13599:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6200, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13599:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6203, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "13636:6:27", + "nodeType": "VariableDeclaration", + "scope": 6343, + "src": "13628:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6202, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13628:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6206, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "13664:7:27", + "nodeType": "VariableDeclaration", + "scope": 6343, + "src": "13647:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13647:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6205, + "nodeType": "ArrayTypeName", + "src": "13647:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6209, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "13693:8:27", + "nodeType": "VariableDeclaration", + "scope": 6343, + "src": "13676:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13676:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6208, + "nodeType": "ArrayTypeName", + "src": "13676:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "13594:111:27" + }, + "returnParameters": { + "id": 6213, + "nodeType": "ParameterList", + "parameters": [], + "src": "13734:0:27" + }, + "scope": 7837, + "src": "13560:1002:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6427, + "nodeType": "Block", + "src": "15180:689:27", + "statements": [ + { + "assignments": [ + 6358 + ], + "declarations": [ + { + "constant": false, + "id": 6358, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "15196:5:27", + "nodeType": "VariableDeclaration", + "scope": 6427, + "src": "15188:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6357, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15188:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6375, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 6364, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "15239:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 6363, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15231:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6362, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15231:7:27", + "typeDescriptions": {} + } + }, + "id": 6365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15231:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6366, + "name": "ISSUE_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5225, + "src": "15246:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 6367, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "15259:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6369, + "indexExpression": { + "id": 6368, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6346, + "src": "15266:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15259:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6370, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6350, + "src": "15276:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6371, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6352, + "src": "15288:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6372, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6354, + "src": "15295:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6360, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "15214:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "15214:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15214:89:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6359, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "15204:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15204:100:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15188:116:27" + }, + { + "assignments": [ + 6377 + ], + "declarations": [ + { + "constant": false, + "id": 6377, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "15400:15:27", + "nodeType": "VariableDeclaration", + "scope": 6427, + "src": "15392:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15392:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6382, + "initialValue": { + "arguments": [ + { + "id": 6379, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6358, + "src": "15434:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6380, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6348, + "src": "15440:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6378, + "name": "verifyMobilizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6129, + "src": "15418:15:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) view returns (address)" + } + }, + "id": 6381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15418:33:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15392:59:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6384, + "name": "recoveredSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6377, + "src": "15470:15:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 6385, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6346, + "src": "15489:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15470:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d6174636865642077697468207369676e6572", + "id": 6387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15497:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + }, + "value": "Signature did not matched with signer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + } + ], + "id": 6383, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15462:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15462:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6389, + "nodeType": "ExpressionStatement", + "src": "15462:75:27" + }, + { + "expression": { + "id": 6393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15548:17:27", + "subExpression": { + "baseExpression": { + "id": 6390, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "15548:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6392, + "indexExpression": { + "id": 6391, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6346, + "src": "15555:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15548:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6394, + "nodeType": "ExpressionStatement", + "src": "15548:17:27" + }, + { + "assignments": [ + 6396 + ], + "declarations": [ + { + "constant": false, + "id": 6396, + "mutability": "mutable", + "name": "_id", + "nameLocation": "15590:3:27", + "nodeType": "VariableDeclaration", + "scope": 6427, + "src": "15582:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6395, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15582:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6400, + "initialValue": { + "arguments": [ + { + "id": 6398, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6350, + "src": "15605:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6397, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "15596:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 6399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15596:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15582:34:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6402, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "15629:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6404, + "indexExpression": { + "id": 6403, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6396, + "src": "15659:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15629:34:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6405, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6354, + "src": "15667:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15629:45:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e2072656d61696e696e672050726f6a65637420427564676574", + "id": 6407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15676:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + }, + "value": "RAHAT: Amount is greater than remaining Project Budget" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + } + ], + "id": 6401, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15621:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15621:112:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6409, + "nodeType": "ExpressionStatement", + "src": "15621:112:27" + }, + { + "expression": { + "id": 6414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6410, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "15738:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6412, + "indexExpression": { + "id": 6411, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6396, + "src": "15768:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15738:34:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 6413, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6354, + "src": "15776:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15738:45:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6415, + "nodeType": "ExpressionStatement", + "src": "15738:45:27" + }, + { + "expression": { + "arguments": [ + { + "id": 6417, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6352, + "src": "15803:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6418, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6354, + "src": "15811:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6416, + "name": "adjustTokenAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5913, + 5966 + ], + "referencedDeclaration": 5913, + "src": "15788:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 6419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15788:31:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6420, + "nodeType": "ExpressionStatement", + "src": "15788:31:27" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6422, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6396, + "src": "15843:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6423, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6352, + "src": "15848:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6424, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6354, + "src": "15856:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6421, + "name": "IssuedERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5162, + "src": "15831:11:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256)" + } + }, + "id": 6425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15831:33:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6426, + "nodeType": "EmitStatement", + "src": "15826:38:27" + } + ] + }, + "documentation": { + "id": 6344, + "nodeType": "StructuredDocumentation", + "src": "14568:434:27", + "text": "@notice Issue ERC20 to beneficiary\n @param _signer Address of the mobilizer/caller who is issuing tokens\n @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through mobilizer/caller wallet\n @param _projectId Id of the project beneficiary is involved in\n @param _phone phone number of the beneficiary\n @param _amount Amount of token to be assigned to beneficiary" + }, + "functionSelector": "8a80940d", + "id": 6428, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "delegate_issueERC20ToBeneficiary", + "nameLocation": "15014:32:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6346, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "15062:7:27", + "nodeType": "VariableDeclaration", + "scope": 6428, + "src": "15054:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6345, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15054:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6348, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "15090:10:27", + "nodeType": "VariableDeclaration", + "scope": 6428, + "src": "15077:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6347, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15077:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6350, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "15119:10:27", + "nodeType": "VariableDeclaration", + "scope": 6428, + "src": "15105:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6349, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15105:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6352, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "15142:6:27", + "nodeType": "VariableDeclaration", + "scope": 6428, + "src": "15134:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6351, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15134:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6354, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "15161:7:27", + "nodeType": "VariableDeclaration", + "scope": 6428, + "src": "15153:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6353, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15153:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15046:126:27" + }, + "returnParameters": { + "id": 6356, + "nodeType": "ParameterList", + "parameters": [], + "src": "15180:0:27" + }, + "scope": 7837, + "src": "15005:864:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6520, + "nodeType": "Block", + "src": "16561:733:27", + "statements": [ + { + "assignments": [ + 6445 + ], + "declarations": [ + { + "constant": false, + "id": 6445, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "16577:5:27", + "nodeType": "VariableDeclaration", + "scope": 6520, + "src": "16569:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6444, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16569:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6462, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 6451, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "16620:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 6450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16612:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16612:7:27", + "typeDescriptions": {} + } + }, + "id": 6452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16612:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6453, + "name": "ISSUE_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5225, + "src": "16627:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 6454, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "16640:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6456, + "indexExpression": { + "id": 6455, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6431, + "src": "16647:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16640:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6457, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "16657:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6458, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "16669:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6459, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "16676:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6447, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "16595:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "16595:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16595:89:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6446, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "16585:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16585:100:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16569:116:27" + }, + { + "assignments": [ + 6464 + ], + "declarations": [ + { + "constant": false, + "id": 6464, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "16781:15:27", + "nodeType": "VariableDeclaration", + "scope": 6520, + "src": "16773:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6463, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16773:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6469, + "initialValue": { + "arguments": [ + { + "id": 6466, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6445, + "src": "16815:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6467, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6433, + "src": "16821:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6465, + "name": "verifyMobilizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6129, + "src": "16799:15:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) view returns (address)" + } + }, + "id": 6468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16799:33:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16773:59:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6471, + "name": "recoveredSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6464, + "src": "16851:15:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 6472, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6431, + "src": "16870:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16851:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d6174636865642077697468207369676e6572", + "id": 6474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16878:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + }, + "value": "Signature did not matched with signer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + } + ], + "id": 6470, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16843:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16843:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6476, + "nodeType": "ExpressionStatement", + "src": "16843:75:27" + }, + { + "expression": { + "id": 6480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "16929:17:27", + "subExpression": { + "baseExpression": { + "id": 6477, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "16929:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6479, + "indexExpression": { + "id": 6478, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6431, + "src": "16936:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "16929:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6481, + "nodeType": "ExpressionStatement", + "src": "16929:17:27" + }, + { + "assignments": [ + 6483 + ], + "declarations": [ + { + "constant": false, + "id": 6483, + "mutability": "mutable", + "name": "_id", + "nameLocation": "16971:3:27", + "nodeType": "VariableDeclaration", + "scope": 6520, + "src": "16963:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6482, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16963:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6487, + "initialValue": { + "arguments": [ + { + "id": 6485, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "16986:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6484, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "16977:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 6486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16977:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16963:34:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 6489, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "17010:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6491, + "indexExpression": { + "id": 6490, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6483, + "src": "17042:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17010:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6493, + "indexExpression": { + "id": 6492, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6441, + "src": "17047:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17010:46:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6494, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "17060:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17010:57:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e2072656d61696e696e672050726f6a65637420427564676574", + "id": 6496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17069:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + }, + "value": "RAHAT: Amount is greater than remaining Project Budget" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + } + ], + "id": 6488, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17002:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17002:124:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6498, + "nodeType": "ExpressionStatement", + "src": "17002:124:27" + }, + { + "expression": { + "id": 6505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 6499, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "17131:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6502, + "indexExpression": { + "id": 6500, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6483, + "src": "17163:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17131:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6503, + "indexExpression": { + "id": 6501, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6441, + "src": "17168:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "17131:46:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 6504, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "17181:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17131:57:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6506, + "nodeType": "ExpressionStatement", + "src": "17131:57:27" + }, + { + "expression": { + "arguments": [ + { + "id": 6508, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "17208:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6509, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "17216:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6510, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6441, + "src": "17224:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6507, + "name": "adjustTokenAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5913, + 5966 + ], + "referencedDeclaration": 5966, + "src": "17193:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 6511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17193:40:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6512, + "nodeType": "ExpressionStatement", + "src": "17193:40:27" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6514, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6483, + "src": "17259:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6515, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "17264:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6516, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6441, + "src": "17271:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6517, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "17281:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6513, + "name": "IssuedERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5172, + "src": "17245:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256)" + } + }, + "id": 6518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17245:44:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6519, + "nodeType": "EmitStatement", + "src": "17240:49:27" + } + ] + }, + "documentation": { + "id": 6429, + "nodeType": "StructuredDocumentation", + "src": "15879:481:27", + "text": "@notice Issue ERC1155 tokens to beneficiary\n @param _signer Address of the mobilizer/caller who is issuing tokens\n @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through mobilizer/caller wallet\n @param _projectId Id of the project beneficiary is involved in\n @param _phone phone number of the beneficiary\n @param _amount Amount of token to be assigned to beneficiary\n @param _tokenId ERC1155 TokenId" + }, + "functionSelector": "26fabe91", + "id": 6521, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "delegate_issueERC1155ToBeneficiary", + "nameLocation": "16372:34:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6442, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6431, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "16422:7:27", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "16414:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16414:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6433, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "16450:10:27", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "16437:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6432, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16437:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6435, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "16479:10:27", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "16465:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6434, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16465:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6437, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "16502:6:27", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "16494:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6436, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16494:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6439, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "16521:7:27", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "16513:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6438, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16513:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6441, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "16541:8:27", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "16533:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6440, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16533:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16406:147:27" + }, + "returnParameters": { + "id": 6443, + "nodeType": "ParameterList", + "parameters": [], + "src": "16561:0:27" + }, + "scope": 7837, + "src": "16363:931:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6591, + "nodeType": "Block", + "src": "17686:420:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6536, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6527, + "src": "17699:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "17699:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 6538, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6530, + "src": "17716:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "17716:14:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17699:31:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20496e76616c696420696e70757420617272617973206f662050686f6e6520616e6420416d6f756e74", + "id": 6541, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17732:49:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133", + "typeString": "literal_string \"RAHAT: Invalid input arrays of Phone and Amount\"" + }, + "value": "RAHAT: Invalid input arrays of Phone and Amount" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133", + "typeString": "literal_string \"RAHAT: Invalid input arrays of Phone and Amount\"" + } + ], + "id": 6535, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17691:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17691:91:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6543, + "nodeType": "ExpressionStatement", + "src": "17691:91:27" + }, + { + "assignments": [ + 6545 + ], + "declarations": [ + { + "constant": false, + "id": 6545, + "mutability": "mutable", + "name": "i", + "nameLocation": "17795:1:27", + "nodeType": "VariableDeclaration", + "scope": 6591, + "src": "17787:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17787:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6546, + "nodeType": "VariableDeclarationStatement", + "src": "17787:9:27" + }, + { + "assignments": [ + 6548 + ], + "declarations": [ + { + "constant": false, + "id": 6548, + "mutability": "mutable", + "name": "sum", + "nameLocation": "17809:3:27", + "nodeType": "VariableDeclaration", + "scope": 6591, + "src": "17801:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17801:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6552, + "initialValue": { + "arguments": [ + { + "id": 6550, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6530, + "src": "17827:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 6549, + "name": "getArraySum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7836, + "src": "17815:11:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory) pure returns (uint256)" + } + }, + "id": 6551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17815:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17801:34:27" + }, + { + "assignments": [ + 6554 + ], + "declarations": [ + { + "constant": false, + "id": 6554, + "mutability": "mutable", + "name": "_id", + "nameLocation": "17848:3:27", + "nodeType": "VariableDeclaration", + "scope": 6591, + "src": "17840:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6553, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17840:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6558, + "initialValue": { + "arguments": [ + { + "id": 6556, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6524, + "src": "17863:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6555, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "17854:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 6557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17854:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17840:34:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6560, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "17889:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6562, + "indexExpression": { + "id": 6561, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6554, + "src": "17919:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17889:34:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6563, + "name": "sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6548, + "src": "17927:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17889:41:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e2072656d61696e696e672050726f6a65637420427564676574", + "id": 6565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17932:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + }, + "value": "RAHAT: Amount is greater than remaining Project Budget" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + } + ], + "id": 6559, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17881:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17881:108:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6567, + "nodeType": "ExpressionStatement", + "src": "17881:108:27" + }, + { + "body": { + "id": 6589, + "nodeType": "Block", + "src": "18032:70:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6580, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6524, + "src": "18062:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 6581, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6527, + "src": "18074:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6583, + "indexExpression": { + "id": 6582, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6545, + "src": "18081:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18074:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 6584, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6530, + "src": "18085:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6586, + "indexExpression": { + "id": 6585, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6545, + "src": "18093:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18085:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6579, + "name": "issueERC20ToBeneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6198, + "src": "18038:23:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 6587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18038:58:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6588, + "nodeType": "ExpressionStatement", + "src": "18038:58:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6572, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6545, + "src": "18008:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 6573, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6527, + "src": "18012:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18012:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18008:17:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6590, + "initializationExpression": { + "expression": { + "id": 6570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6568, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6545, + "src": "18001:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 6569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18005:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "18001:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6571, + "nodeType": "ExpressionStatement", + "src": "18001:5:27" + }, + "loopExpression": { + "expression": { + "id": 6577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "18027:3:27", + "subExpression": { + "id": 6576, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6545, + "src": "18027:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6578, + "nodeType": "ExpressionStatement", + "src": "18027:3:27" + }, + "nodeType": "ForStatement", + "src": "17996:106:27" + } + ] + }, + "documentation": { + "id": 6522, + "nodeType": "StructuredDocumentation", + "src": "17299:253:27", + "text": "@notice Issue tokens to beneficiary in bulk\n @param _projectId Id of the project beneficiary is involved in\n @param _phone array of phone number of the beneficiary\n @param _amount array of Amount of token to be assigned to beneficiary" + }, + "functionSelector": "5eb5eec9", + "id": 6592, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6533, + "kind": "modifierInvocation", + "modifierName": { + "id": 6532, + "name": "OnlyAdmin", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5426, + "src": "17676:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "17676:9:27" + } + ], + "name": "issueBulkERC20", + "nameLocation": "17564:14:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6531, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6524, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "17597:10:27", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "17583:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6523, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17583:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6527, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "17629:6:27", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "17612:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17612:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6526, + "nodeType": "ArrayTypeName", + "src": "17612:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6530, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "17657:7:27", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "17640:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6528, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17640:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6529, + "nodeType": "ArrayTypeName", + "src": "17640:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "17578:90:27" + }, + "returnParameters": { + "id": 6534, + "nodeType": "ParameterList", + "parameters": [], + "src": "17686:0:27" + }, + "scope": 7837, + "src": "17555:551:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6701, + "nodeType": "Block", + "src": "18527:571:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6609, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6598, + "src": "18540:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18540:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 6611, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6601, + "src": "18557:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18557:14:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18540:31:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20496e76616c696420696e70757420617272617973206f662050686f6e6520616e6420416d6f756e74", + "id": 6614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18573:49:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133", + "typeString": "literal_string \"RAHAT: Invalid input arrays of Phone and Amount\"" + }, + "value": "RAHAT: Invalid input arrays of Phone and Amount" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133", + "typeString": "literal_string \"RAHAT: Invalid input arrays of Phone and Amount\"" + } + ], + "id": 6608, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18532:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18532:91:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6616, + "nodeType": "ExpressionStatement", + "src": "18532:91:27" + }, + { + "assignments": [ + 6618 + ], + "declarations": [ + { + "constant": false, + "id": 6618, + "mutability": "mutable", + "name": "i", + "nameLocation": "18636:1:27", + "nodeType": "VariableDeclaration", + "scope": 6701, + "src": "18628:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18628:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6619, + "nodeType": "VariableDeclarationStatement", + "src": "18628:9:27" + }, + { + "assignments": [ + 6621 + ], + "declarations": [ + { + "constant": false, + "id": 6621, + "mutability": "mutable", + "name": "sum", + "nameLocation": "18650:3:27", + "nodeType": "VariableDeclaration", + "scope": 6701, + "src": "18642:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6620, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18642:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6625, + "initialValue": { + "arguments": [ + { + "id": 6623, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6601, + "src": "18668:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 6622, + "name": "getArraySum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7836, + "src": "18656:11:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory) pure returns (uint256)" + } + }, + "id": 6624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18656:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18642:34:27" + }, + { + "assignments": [ + 6627 + ], + "declarations": [ + { + "constant": false, + "id": 6627, + "mutability": "mutable", + "name": "_id", + "nameLocation": "18689:3:27", + "nodeType": "VariableDeclaration", + "scope": 6701, + "src": "18681:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6626, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18681:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6631, + "initialValue": { + "arguments": [ + { + "id": 6629, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6595, + "src": "18704:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6628, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "18695:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 6630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18695:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18681:34:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 6633, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "18730:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6635, + "indexExpression": { + "id": 6634, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6627, + "src": "18762:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18730:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6637, + "indexExpression": { + "id": 6636, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6603, + "src": "18767:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18730:46:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6638, + "name": "sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6621, + "src": "18780:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18730:53:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e2072656d61696e696e672050726f6a65637420427564676574", + "id": 6640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18785:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + }, + "value": "RAHAT: Amount is greater than remaining Project Budget" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + } + ], + "id": 6632, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18722:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18722:120:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6642, + "nodeType": "ExpressionStatement", + "src": "18722:120:27" + }, + { + "body": { + "id": 6699, + "nodeType": "Block", + "src": "18885:209:27", + "statements": [ + { + "assignments": [ + 6658 + ], + "declarations": [ + { + "constant": false, + "id": 6658, + "mutability": "mutable", + "name": "amt", + "nameLocation": "18909:3:27", + "nodeType": "VariableDeclaration", + "scope": 6699, + "src": "18894:18:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6656, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18894:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6657, + "nodeType": "ArrayTypeName", + "src": "18894:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 6664, + "initialValue": { + "arguments": [ + { + "hexValue": "31", + "id": 6662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18926:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 6661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "18915:10:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 6659, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18919:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6660, + "nodeType": "ArrayTypeName", + "src": "18919:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 6663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18915:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18894:34:27" + }, + { + "assignments": [ + 6669 + ], + "declarations": [ + { + "constant": false, + "id": 6669, + "mutability": "mutable", + "name": "tkd", + "nameLocation": "18952:3:27", + "nodeType": "VariableDeclaration", + "scope": 6699, + "src": "18937:18:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6667, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18937:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6668, + "nodeType": "ArrayTypeName", + "src": "18937:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 6675, + "initialValue": { + "arguments": [ + { + "hexValue": "31", + "id": 6673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18969:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 6672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "18958:10:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 6670, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18962:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6671, + "nodeType": "ArrayTypeName", + "src": "18962:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 6674, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18958:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18937:34:27" + }, + { + "expression": { + "id": 6682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6676, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6658, + "src": "18980:3:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6678, + "indexExpression": { + "hexValue": "30", + "id": 6677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18984:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "18980:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 6679, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6601, + "src": "18989:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6681, + "indexExpression": { + "id": 6680, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "18997:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18989:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18980:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6683, + "nodeType": "ExpressionStatement", + "src": "18980:19:27" + }, + { + "expression": { + "id": 6688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6684, + "name": "tkd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6669, + "src": "19008:3:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6686, + "indexExpression": { + "hexValue": "30", + "id": 6685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19012:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "19008:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 6687, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6603, + "src": "19017:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19008:17:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6689, + "nodeType": "ExpressionStatement", + "src": "19008:17:27" + }, + { + "expression": { + "arguments": [ + { + "id": 6691, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6595, + "src": "19057:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 6692, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6598, + "src": "19069:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6694, + "indexExpression": { + "id": 6693, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "19076:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19069:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6695, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6658, + "src": "19080:3:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 6696, + "name": "tkd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6669, + "src": "19084:3:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 6690, + "name": "issueERC1155ToBeneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6343, + "src": "19031:25:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (string memory,uint256,uint256[] memory,uint256[] memory)" + } + }, + "id": 6697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19031:57:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6698, + "nodeType": "ExpressionStatement", + "src": "19031:57:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6647, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "18861:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 6648, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6598, + "src": "18865:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18865:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18861:17:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6700, + "initializationExpression": { + "expression": { + "id": 6645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6643, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "18854:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 6644, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18858:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "18854:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6646, + "nodeType": "ExpressionStatement", + "src": "18854:5:27" + }, + "loopExpression": { + "expression": { + "id": 6652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "18880:3:27", + "subExpression": { + "id": 6651, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "18880:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6653, + "nodeType": "ExpressionStatement", + "src": "18880:3:27" + }, + "nodeType": "ForStatement", + "src": "18849:245:27" + } + ] + }, + "documentation": { + "id": 6593, + "nodeType": "StructuredDocumentation", + "src": "18113:253:27", + "text": "@notice Issue tokens to beneficiary in bulk\n @param _projectId Id of the project beneficiary is involved in\n @param _phone array of phone number of the beneficiary\n @param _amount array of Amount of token to be assigned to beneficiary" + }, + "functionSelector": "250de2b2", + "id": 6702, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6606, + "kind": "modifierInvocation", + "modifierName": { + "id": 6605, + "name": "OnlyAdmin", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5426, + "src": "18517:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "18517:9:27" + } + ], + "name": "issueBulkERC1155", + "nameLocation": "18378:16:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6595, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "18413:10:27", + "nodeType": "VariableDeclaration", + "scope": 6702, + "src": "18399:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6594, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18399:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6598, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "18445:6:27", + "nodeType": "VariableDeclaration", + "scope": 6702, + "src": "18428:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18428:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6597, + "nodeType": "ArrayTypeName", + "src": "18428:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6601, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "18473:7:27", + "nodeType": "VariableDeclaration", + "scope": 6702, + "src": "18456:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6599, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18456:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6600, + "nodeType": "ArrayTypeName", + "src": "18456:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6603, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "18493:8:27", + "nodeType": "VariableDeclaration", + "scope": 6702, + "src": "18485:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6602, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18485:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18394:115:27" + }, + "returnParameters": { + "id": 6607, + "nodeType": "ParameterList", + "parameters": [], + "src": "18527:0:27" + }, + "scope": 7837, + "src": "18369:729:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6766, + "nodeType": "Block", + "src": "19381:346:27", + "statements": [ + { + "assignments": [ + 6716 + ], + "declarations": [ + { + "constant": false, + "id": 6716, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "19397:6:27", + "nodeType": "VariableDeclaration", + "scope": 6766, + "src": "19389:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6715, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19389:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6720, + "initialValue": { + "arguments": [ + { + "id": 6718, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6705, + "src": "19415:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6717, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "19406:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 6719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19406:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19389:33:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6722, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "19435:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6724, + "indexExpression": { + "id": 6723, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6705, + "src": "19448:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19435:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6725, + "name": "_tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6707, + "src": "19459:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19435:31:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e74207265717565737465642069732067726561746572207468616e2062656e65666963696172792062616c616e63652e", + "id": 6727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19468:62:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + }, + "value": "RAHAT: Amount requested is greater than beneficiary balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + } + ], + "id": 6721, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "19427:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19427:104:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6729, + "nodeType": "ExpressionStatement", + "src": "19427:104:27" + }, + { + "assignments": [ + 6732 + ], + "declarations": [ + { + "constant": false, + "id": 6732, + "mutability": "mutable", + "name": "ac", + "nameLocation": "19550:2:27", + "nodeType": "VariableDeclaration", + "scope": 6766, + "src": "19536:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 6731, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6730, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "19536:5:27" + }, + "referencedDeclaration": 5320, + "src": "19536:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 6739, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 6733, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "19555:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 6736, + "indexExpression": { + "expression": { + "id": 6734, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "19573:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19573:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19555:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 6738, + "indexExpression": { + "id": 6737, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "19585:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19555:37:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19536:56:27" + }, + { + "expression": { + "id": 6744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6740, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "19597:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6742, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "19597:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 6743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19613:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "19597:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6745, + "nodeType": "ExpressionStatement", + "src": "19597:21:27" + }, + { + "expression": { + "id": 6750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6746, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "19623:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6748, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "19623:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 6749, + "name": "_tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6707, + "src": "19635:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19623:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6751, + "nodeType": "ExpressionStatement", + "src": "19623:19:27" + }, + { + "expression": { + "id": 6757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6752, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "19647:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6754, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "19647:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 6755, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "19657:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 6756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "19657:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19647:25:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6758, + "nodeType": "ExpressionStatement", + "src": "19647:25:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 6760, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967270, + "src": "19695:2:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 6761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "19695:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6762, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6705, + "src": "19706:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6763, + "name": "_tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6707, + "src": "19714:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6759, + "name": "ClaimedERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "19682:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 6764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19682:40:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6765, + "nodeType": "EmitStatement", + "src": "19677:45:27" + } + ] + }, + "documentation": { + "id": 6703, + "nodeType": "StructuredDocumentation", + "src": "19103:176:27", + "text": "@notice request a token to beneficiary by vendor\n @param _phone Phone number of beneficiary to whom token is requested\n @param _tokens Number of tokens to request" + }, + "functionSelector": "9ea69350", + "id": 6767, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 6710, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6705, + "src": "19362:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6711, + "kind": "modifierInvocation", + "modifierName": { + "id": 6709, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "19348:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "19348:21:27" + }, + { + "id": 6713, + "kind": "modifierInvocation", + "modifierName": { + "id": 6712, + "name": "OnlyVendor", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5460, + "src": "19370:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "19370:10:27" + } + ], + "name": "createERC20Claim", + "nameLocation": "19291:16:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6708, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6705, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "19316:6:27", + "nodeType": "VariableDeclaration", + "scope": 6767, + "src": "19308:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19308:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6707, + "mutability": "mutable", + "name": "_tokens", + "nameLocation": "19332:7:27", + "nodeType": "VariableDeclaration", + "scope": 6767, + "src": "19324:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6706, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19324:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19307:33:27" + }, + "returnParameters": { + "id": 6714, + "nodeType": "ParameterList", + "parameters": [], + "src": "19381:0:27" + }, + "scope": 7837, + "src": "19282:445:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6835, + "nodeType": "Block", + "src": "20026:382:27", + "statements": [ + { + "assignments": [ + 6780 + ], + "declarations": [ + { + "constant": false, + "id": 6780, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "20042:6:27", + "nodeType": "VariableDeclaration", + "scope": 6835, + "src": "20034:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6779, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20034:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6784, + "initialValue": { + "arguments": [ + { + "id": 6782, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "20060:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6781, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "20051:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 6783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20051:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20034:33:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 6786, + "name": "erc1155Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "20080:14:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 6788, + "indexExpression": { + "id": 6787, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "20095:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20080:22:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6790, + "indexExpression": { + "id": 6789, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6774, + "src": "20103:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20080:32:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6791, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6772, + "src": "20116:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20080:43:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e74207265717565737465642069732067726561746572207468616e2062656e65666963696172792062616c616e63652e", + "id": 6793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20125:62:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + }, + "value": "RAHAT: Amount requested is greater than beneficiary balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + } + ], + "id": 6785, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "20072:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20072:116:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6795, + "nodeType": "ExpressionStatement", + "src": "20072:116:27" + }, + { + "assignments": [ + 6798 + ], + "declarations": [ + { + "constant": false, + "id": 6798, + "mutability": "mutable", + "name": "ac", + "nameLocation": "20207:2:27", + "nodeType": "VariableDeclaration", + "scope": 6835, + "src": "20193:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 6797, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6796, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "20193:5:27" + }, + "referencedDeclaration": 5320, + "src": "20193:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 6807, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 6799, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "20212:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 6802, + "indexExpression": { + "expression": { + "id": 6800, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "20232:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "20232:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20212:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 6804, + "indexExpression": { + "id": 6803, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6780, + "src": "20244:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20212:39:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 6806, + "indexExpression": { + "id": 6805, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6774, + "src": "20252:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20212:49:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20193:68:27" + }, + { + "expression": { + "id": 6812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6808, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6798, + "src": "20266:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "20266:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 6811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20282:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "20266:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6813, + "nodeType": "ExpressionStatement", + "src": "20266:21:27" + }, + { + "expression": { + "id": 6818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6814, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6798, + "src": "20292:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6816, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "20292:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 6817, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6772, + "src": "20304:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20292:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6819, + "nodeType": "ExpressionStatement", + "src": "20292:19:27" + }, + { + "expression": { + "id": 6825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6820, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6798, + "src": "20316:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6822, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "20316:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 6823, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "20326:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 6824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "20326:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20316:25:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6826, + "nodeType": "ExpressionStatement", + "src": "20316:25:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 6828, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967270, + "src": "20366:2:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 6829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "20366:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6830, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "20377:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6831, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6774, + "src": "20385:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6832, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6772, + "src": "20395:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6827, + "name": "ClaimedERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5146, + "src": "20351:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256)" + } + }, + "id": 6833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20351:52:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6834, + "nodeType": "EmitStatement", + "src": "20346:57:27" + } + ] + }, + "documentation": { + "id": 6768, + "nodeType": "StructuredDocumentation", + "src": "19733:193:27", + "text": "@dev claim tokens from the beneficiary by vendor\n@param _phone identity of the beneficiary\n@param _amount amaount of ERC1155 tokens to request\n@param _tokenId ERC1155 token id" + }, + "functionSelector": "747bb537", + "id": 6836, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6777, + "kind": "modifierInvocation", + "modifierName": { + "id": 6776, + "name": "OnlyVendor", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5460, + "src": "20015:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "20015:10:27" + } + ], + "name": "createERC1155Claim", + "nameLocation": "19938:18:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6770, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "19965:6:27", + "nodeType": "VariableDeclaration", + "scope": 6836, + "src": "19957:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6769, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19957:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6772, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "19981:7:27", + "nodeType": "VariableDeclaration", + "scope": 6836, + "src": "19973:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6771, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19973:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6774, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "19998:8:27", + "nodeType": "VariableDeclaration", + "scope": 6836, + "src": "19990:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6773, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19990:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19956:51:27" + }, + "returnParameters": { + "id": 6778, + "nodeType": "ParameterList", + "parameters": [], + "src": "20026:0:27" + }, + "scope": 7837, + "src": "19929:479:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6935, + "nodeType": "Block", + "src": "20868:722:27", + "statements": [ + { + "assignments": [ + 6849 + ], + "declarations": [ + { + "constant": false, + "id": 6849, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "20884:5:27", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "20876:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6848, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20876:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6865, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 6855, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "20927:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 6854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "20919:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6853, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20919:7:27", + "typeDescriptions": {} + } + }, + "id": 6856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20919:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6857, + "name": "CREATE_CLAIM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5230, + "src": "20934:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 6858, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "20948:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6860, + "indexExpression": { + "id": 6859, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6839, + "src": "20955:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20948:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6861, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6843, + "src": "20965:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6862, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6845, + "src": "20972:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6851, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "20902:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "20902:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20902:78:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6850, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "20892:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20892:89:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20876:105:27" + }, + { + "assignments": [ + 6867 + ], + "declarations": [ + { + "constant": false, + "id": 6867, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "21077:15:27", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "21069:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6866, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21069:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6872, + "initialValue": { + "arguments": [ + { + "id": 6869, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6849, + "src": "21108:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6870, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6841, + "src": "21114:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6868, + "name": "verifyVendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6102, + "src": "21095:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) view returns (address)" + } + }, + "id": 6871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21095:30:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21069:56:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6874, + "name": "recoveredSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6867, + "src": "21144:15:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 6875, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6839, + "src": "21163:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "21144:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d6174636865642077697468207369676e6572", + "id": 6877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21171:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + }, + "value": "Signature did not matched with signer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + } + ], + "id": 6873, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "21136:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21136:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6879, + "nodeType": "ExpressionStatement", + "src": "21136:75:27" + }, + { + "expression": { + "id": 6883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "21222:17:27", + "subExpression": { + "baseExpression": { + "id": 6880, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "21222:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6882, + "indexExpression": { + "id": 6881, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6839, + "src": "21229:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "21222:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6884, + "nodeType": "ExpressionStatement", + "src": "21222:17:27" + }, + { + "assignments": [ + 6886 + ], + "declarations": [ + { + "constant": false, + "id": 6886, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "21256:6:27", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "21248:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6885, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21248:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6890, + "initialValue": { + "arguments": [ + { + "id": 6888, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6843, + "src": "21274:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6887, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "21265:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 6889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21265:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21248:33:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6892, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "21294:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6894, + "indexExpression": { + "id": 6893, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6843, + "src": "21307:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21294:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6895, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6845, + "src": "21318:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21294:31:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e74207265717565737465642069732067726561746572207468616e2062656e65666963696172792062616c616e63652e", + "id": 6897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21327:62:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + }, + "value": "RAHAT: Amount requested is greater than beneficiary balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + } + ], + "id": 6891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "21286:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21286:104:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6899, + "nodeType": "ExpressionStatement", + "src": "21286:104:27" + }, + { + "assignments": [ + 6902 + ], + "declarations": [ + { + "constant": false, + "id": 6902, + "mutability": "mutable", + "name": "ac", + "nameLocation": "21409:2:27", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "21395:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 6901, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6900, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "21395:5:27" + }, + "referencedDeclaration": 5320, + "src": "21395:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 6908, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 6903, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "21414:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 6905, + "indexExpression": { + "id": 6904, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6839, + "src": "21432:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21414:26:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 6907, + "indexExpression": { + "id": 6906, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6886, + "src": "21441:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21414:34:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21395:53:27" + }, + { + "expression": { + "id": 6913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6909, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6902, + "src": "21453:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6911, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "21453:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 6912, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21469:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "21453:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6914, + "nodeType": "ExpressionStatement", + "src": "21453:21:27" + }, + { + "expression": { + "id": 6919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6915, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6902, + "src": "21479:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6917, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "21479:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 6918, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6845, + "src": "21491:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21479:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6920, + "nodeType": "ExpressionStatement", + "src": "21479:19:27" + }, + { + "expression": { + "id": 6926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6921, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6902, + "src": "21503:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6923, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "21503:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 6924, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "21513:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 6925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "21513:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21503:25:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6927, + "nodeType": "ExpressionStatement", + "src": "21503:25:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 6929, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967270, + "src": "21551:2:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 6930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "21551:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6931, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6843, + "src": "21562:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6932, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6845, + "src": "21570:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6928, + "name": "ClaimedERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "21538:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 6933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21538:40:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6934, + "nodeType": "EmitStatement", + "src": "21533:45:27" + } + ] + }, + "documentation": { + "id": 6837, + "nodeType": "StructuredDocumentation", + "src": "20414:336:27", + "text": "@dev delegate a createClaim transaction for ERC20\n@param _signer address of vendor/caller of createClaim\n @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\n @param _phone identity of benficiary\n @param _amount amount of token to be claimed" + }, + "functionSelector": "c8d9bb29", + "id": 6936, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "delegate_createERC20Claim", + "nameLocation": "20762:25:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6839, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "20796:7:27", + "nodeType": "VariableDeclaration", + "scope": 6936, + "src": "20788:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6838, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20788:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6841, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "20817:10:27", + "nodeType": "VariableDeclaration", + "scope": 6936, + "src": "20804:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6840, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "20804:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6843, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "20836:6:27", + "nodeType": "VariableDeclaration", + "scope": 6936, + "src": "20828:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6842, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20828:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6845, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "20852:7:27", + "nodeType": "VariableDeclaration", + "scope": 6936, + "src": "20844:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6844, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20844:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "20787:73:27" + }, + "returnParameters": { + "id": 6847, + "nodeType": "ParameterList", + "parameters": [], + "src": "20868:0:27" + }, + "scope": 7837, + "src": "20753:837:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7043, + "nodeType": "Block", + "src": "22110:767:27", + "statements": [ + { + "assignments": [ + 6951 + ], + "declarations": [ + { + "constant": false, + "id": 6951, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "22127:5:27", + "nodeType": "VariableDeclaration", + "scope": 7043, + "src": "22119:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6950, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22119:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6968, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 6957, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "22170:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 6956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "22162:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6955, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22162:7:27", + "typeDescriptions": {} + } + }, + "id": 6958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22162:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6959, + "name": "CREATE_CLAIM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5230, + "src": "22177:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 6960, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "22191:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6962, + "indexExpression": { + "id": 6961, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6939, + "src": "22198:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22191:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6963, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6943, + "src": "22208:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6964, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6945, + "src": "22215:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6965, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "22223:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6953, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "22145:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "22145:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22145:87:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6952, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "22135:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22135:98:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22119:114:27" + }, + { + "assignments": [ + 6970 + ], + "declarations": [ + { + "constant": false, + "id": 6970, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "22329:15:27", + "nodeType": "VariableDeclaration", + "scope": 7043, + "src": "22321:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6969, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22321:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6975, + "initialValue": { + "arguments": [ + { + "id": 6972, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6951, + "src": "22360:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6973, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6941, + "src": "22366:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6971, + "name": "verifyVendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6102, + "src": "22347:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) view returns (address)" + } + }, + "id": 6974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22347:30:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22321:56:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6977, + "name": "recoveredSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6970, + "src": "22396:15:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 6978, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6939, + "src": "22415:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "22396:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d6174636865642077697468207369676e6572", + "id": 6980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22423:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + }, + "value": "Signature did not matched with signer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + } + ], + "id": 6976, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "22388:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22388:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6982, + "nodeType": "ExpressionStatement", + "src": "22388:75:27" + }, + { + "expression": { + "id": 6986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "22474:17:27", + "subExpression": { + "baseExpression": { + "id": 6983, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "22474:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6985, + "indexExpression": { + "id": 6984, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6939, + "src": "22481:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "22474:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6987, + "nodeType": "ExpressionStatement", + "src": "22474:17:27" + }, + { + "assignments": [ + 6989 + ], + "declarations": [ + { + "constant": false, + "id": 6989, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "22515:6:27", + "nodeType": "VariableDeclaration", + "scope": 7043, + "src": "22507:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6988, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22507:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6993, + "initialValue": { + "arguments": [ + { + "id": 6991, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6943, + "src": "22533:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6990, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "22524:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 6992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22524:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22507:33:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 6995, + "name": "erc1155Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "22553:14:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 6997, + "indexExpression": { + "id": 6996, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6943, + "src": "22568:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22553:22:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6999, + "indexExpression": { + "id": 6998, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "22576:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22553:32:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 7000, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6945, + "src": "22589:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22553:43:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e74207265717565737465642069732067726561746572207468616e2062656e65666963696172792062616c616e63652e", + "id": 7002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22598:62:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + }, + "value": "RAHAT: Amount requested is greater than beneficiary balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + } + ], + "id": 6994, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "22545:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22545:116:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7004, + "nodeType": "ExpressionStatement", + "src": "22545:116:27" + }, + { + "assignments": [ + 7007 + ], + "declarations": [ + { + "constant": false, + "id": 7007, + "mutability": "mutable", + "name": "ac", + "nameLocation": "22680:2:27", + "nodeType": "VariableDeclaration", + "scope": 7043, + "src": "22666:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7006, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7005, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "22666:5:27" + }, + "referencedDeclaration": 5320, + "src": "22666:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7015, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 7008, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "22685:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 7010, + "indexExpression": { + "id": 7009, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6939, + "src": "22705:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22685:28:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 7012, + "indexExpression": { + "id": 7011, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6989, + "src": "22714:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22685:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 7014, + "indexExpression": { + "id": 7013, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "22722:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22685:46:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22666:65:27" + }, + { + "expression": { + "id": 7020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7016, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7007, + "src": "22736:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7018, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "22736:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 7019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22752:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "22736:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7021, + "nodeType": "ExpressionStatement", + "src": "22736:21:27" + }, + { + "expression": { + "id": 7026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7022, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7007, + "src": "22762:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7024, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "22762:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7025, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6945, + "src": "22774:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22762:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7027, + "nodeType": "ExpressionStatement", + "src": "22762:19:27" + }, + { + "expression": { + "id": 7033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7028, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7007, + "src": "22786:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7030, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "22786:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 7031, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "22796:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "22796:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22786:25:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7034, + "nodeType": "ExpressionStatement", + "src": "22786:25:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7036, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967270, + "src": "22836:2:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 7037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "22836:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7038, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6943, + "src": "22847:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7039, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "22854:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7040, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6945, + "src": "22864:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7035, + "name": "ClaimedERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5146, + "src": "22821:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256)" + } + }, + "id": 7041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22821:51:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7042, + "nodeType": "EmitStatement", + "src": "22816:56:27" + } + ] + }, + "documentation": { + "id": 6937, + "nodeType": "StructuredDocumentation", + "src": "21598:374:27", + "text": "@dev delegate a createClaim transaction for ERC20\n@param _signer address of vendor/caller of createClaim\n @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\n @param _phone identity of benficiary\n @param _amount amount of token to be claimed\n @param _tokenId ERC1155 tokenId" + }, + "functionSelector": "6d8943e5", + "id": 7044, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "delegate_createERC1155Claim", + "nameLocation": "21984:27:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6948, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6939, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "22020:7:27", + "nodeType": "VariableDeclaration", + "scope": 7044, + "src": "22012:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6938, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22012:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6941, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "22041:10:27", + "nodeType": "VariableDeclaration", + "scope": 7044, + "src": "22028:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6940, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "22028:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6943, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "22060:6:27", + "nodeType": "VariableDeclaration", + "scope": 7044, + "src": "22052:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22052:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6945, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "22076:7:27", + "nodeType": "VariableDeclaration", + "scope": 7044, + "src": "22068:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22068:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6947, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "22093:8:27", + "nodeType": "VariableDeclaration", + "scope": 7044, + "src": "22085:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6946, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22085:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "22011:91:27" + }, + "returnParameters": { + "id": 6949, + "nodeType": "ParameterList", + "parameters": [], + "src": "22110:0:27" + }, + "scope": 7837, + "src": "21975:902:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7137, + "nodeType": "Block", + "src": "23407:560:27", + "statements": [ + { + "assignments": [ + 7062 + ], + "declarations": [ + { + "constant": false, + "id": 7062, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "23423:6:27", + "nodeType": "VariableDeclaration", + "scope": 7137, + "src": "23415:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7061, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23415:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7066, + "initialValue": { + "arguments": [ + { + "id": 7064, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "23441:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7063, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "23432:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 7065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23432:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23415:33:27" + }, + { + "assignments": [ + 7069 + ], + "declarations": [ + { + "constant": false, + "id": 7069, + "mutability": "mutable", + "name": "ac", + "nameLocation": "23467:2:27", + "nodeType": "VariableDeclaration", + "scope": 7137, + "src": "23453:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7068, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7067, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "23453:5:27" + }, + "referencedDeclaration": 5320, + "src": "23453:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7075, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 7070, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "23472:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 7072, + "indexExpression": { + "id": 7071, + "name": "_vendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "23490:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23472:26:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 7074, + "indexExpression": { + "id": 7073, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "23499:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23472:34:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23453:53:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7077, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23519:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7078, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "23519:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 7079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23530:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23519:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e206372656174656420796574", + "id": 7081, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23533:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6db0b8d5b6124dfff7bc16f3229f74173cdfdd7d91661aa8ee91fd4cfab79c2", + "typeString": "literal_string \"RAHAT: Claim has not been created yet\"" + }, + "value": "RAHAT: Claim has not been created yet" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d6db0b8d5b6124dfff7bc16f3229f74173cdfdd7d91661aa8ee91fd4cfab79c2", + "typeString": "literal_string \"RAHAT: Claim has not been created yet\"" + } + ], + "id": 7076, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23511:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23511:62:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7083, + "nodeType": "ExpressionStatement", + "src": "23511:62:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7085, + "name": "_timeToLive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7053, + "src": "23586:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3836343030", + "id": 7086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23601:5:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "86400" + }, + "src": "23586:20:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a54696d6520546f204c6976652073686f756c64206265206c657373207468616e20323420686f757273", + "id": 7088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23608:49:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_494830ec479ab6e8b10f8d4bf9d46223a57a3e831547c9797d10ffe42993c26a", + "typeString": "literal_string \"RAHAT:Time To Live should be less than 24 hours\"" + }, + "value": "RAHAT:Time To Live should be less than 24 hours" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_494830ec479ab6e8b10f8d4bf9d46223a57a3e831547c9797d10ffe42993c26a", + "typeString": "literal_string \"RAHAT:Time To Live should be less than 24 hours\"" + } + ], + "id": 7084, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23578:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23578:80:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7090, + "nodeType": "ExpressionStatement", + "src": "23578:80:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7092, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "23671:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "23671:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7094, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23690:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7095, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "23690:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3836343030", + "id": 7096, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23700:5:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "86400" + }, + "src": "23690:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23671:34:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d206973206f6c646572207468616e20323420686f757273", + "id": 7099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23707:37:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c812789fe050dbd004401c78ffbd7bed35f2da7c07d9561fb6b59effd4d6049c", + "typeString": "literal_string \"RAHAT: Claim is older than 24 hours\"" + }, + "value": "RAHAT: Claim is older than 24 hours" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c812789fe050dbd004401c78ffbd7bed35f2da7c07d9561fb6b59effd4d6049c", + "typeString": "literal_string \"RAHAT: Claim is older than 24 hours\"" + } + ], + "id": 7091, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23663:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23663:82:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7101, + "nodeType": "ExpressionStatement", + "src": "23663:82:27" + }, + { + "expression": { + "arguments": [ + { + "id": 7105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "23758:14:27", + "subExpression": { + "expression": { + "id": 7103, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23759:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7104, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "23759:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c7265616479206265656e2072656c65617365642e", + "id": 7106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23774:41:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b055079e7b3a8550e9102f232cf5ed277c9056128c3f2966105d06854b21a0ef", + "typeString": "literal_string \"RAHAT: Claim has already been released.\"" + }, + "value": "RAHAT: Claim has already been released." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b055079e7b3a8550e9102f232cf5ed277c9056128c3f2966105d06854b21a0ef", + "typeString": "literal_string \"RAHAT: Claim has already been released.\"" + } + ], + "id": 7102, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23750:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23750:66:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7108, + "nodeType": "ExpressionStatement", + "src": "23750:66:27" + }, + { + "expression": { + "id": 7113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7109, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23821:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7111, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "otpHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 5315, + "src": "23821:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7112, + "name": "_otpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7051, + "src": "23834:8:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "23821:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7114, + "nodeType": "ExpressionStatement", + "src": "23821:21:27" + }, + { + "expression": { + "id": 7119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7115, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23847:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7117, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "23847:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 7118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23863:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "23847:20:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7120, + "nodeType": "ExpressionStatement", + "src": "23847:20:27" + }, + { + "expression": { + "id": 7128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7121, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23872:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7123, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "23872:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7124, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "23882:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "23882:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 7126, + "name": "_timeToLive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7053, + "src": "23900:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23882:29:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23872:39:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7129, + "nodeType": "ExpressionStatement", + "src": "23872:39:27" + }, + { + "eventCall": { + "arguments": [ + { + "id": 7131, + "name": "_vendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "23935:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7132, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "23944:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 7133, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23952:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7134, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "23952:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7130, + "name": "ClaimApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5154, + "src": "23921:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 7135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23921:41:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7136, + "nodeType": "EmitStatement", + "src": "23916:46:27" + } + ] + }, + "documentation": { + "id": 7045, + "nodeType": "StructuredDocumentation", + "src": "22889:360:27", + "text": "@notice Approve the requested claim from serverside and set the otp hash\n @param _vendor Address of the vendor who requested the token from beneficiary\n @param _phone Phone number of the beneficiary, to whom token request was sent\n @param _otpHash Hash of OTP sent to beneficiary by server\n @param _timeToLive Validity of OTP in seconds" + }, + "functionSelector": "2d41d559", + "id": 7138, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 7056, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "23388:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7057, + "kind": "modifierInvocation", + "modifierName": { + "id": 7055, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "23374:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "23374:21:27" + }, + { + "id": 7059, + "kind": "modifierInvocation", + "modifierName": { + "id": 7058, + "name": "OnlyServer", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5413, + "src": "23396:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "23396:10:27" + } + ], + "name": "approveERC20Claim", + "nameLocation": "23261:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7047, + "mutability": "mutable", + "name": "_vendor", + "nameLocation": "23291:7:27", + "nodeType": "VariableDeclaration", + "scope": 7138, + "src": "23283:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7046, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23283:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7049, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "23311:6:27", + "nodeType": "VariableDeclaration", + "scope": 7138, + "src": "23303:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7048, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23303:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7051, + "mutability": "mutable", + "name": "_otpHash", + "nameLocation": "23330:8:27", + "nodeType": "VariableDeclaration", + "scope": 7138, + "src": "23322:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7050, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23322:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7053, + "mutability": "mutable", + "name": "_timeToLive", + "nameLocation": "23351:11:27", + "nodeType": "VariableDeclaration", + "scope": 7138, + "src": "23343:19:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7052, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23343:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23278:88:27" + }, + "returnParameters": { + "id": 7060, + "nodeType": "ParameterList", + "parameters": [], + "src": "23407:0:27" + }, + "scope": 7837, + "src": "23252:715:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7232, + "nodeType": "Block", + "src": "24533:572:27", + "statements": [ + { + "assignments": [ + 7155 + ], + "declarations": [ + { + "constant": false, + "id": 7155, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "24549:6:27", + "nodeType": "VariableDeclaration", + "scope": 7232, + "src": "24541:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7154, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24541:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7159, + "initialValue": { + "arguments": [ + { + "id": 7157, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7143, + "src": "24567:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7156, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "24558:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 7158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24558:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24541:33:27" + }, + { + "assignments": [ + 7162 + ], + "declarations": [ + { + "constant": false, + "id": 7162, + "mutability": "mutable", + "name": "ac", + "nameLocation": "24593:2:27", + "nodeType": "VariableDeclaration", + "scope": 7232, + "src": "24579:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7161, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7160, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "24579:5:27" + }, + "referencedDeclaration": 5320, + "src": "24579:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7170, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 7163, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "24598:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 7165, + "indexExpression": { + "id": 7164, + "name": "_vendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7141, + "src": "24618:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24598:28:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 7167, + "indexExpression": { + "id": 7166, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7155, + "src": "24627:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24598:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 7169, + "indexExpression": { + "id": 7168, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7149, + "src": "24635:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24598:46:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24579:65:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7172, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "24657:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "24657:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 7174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24668:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "24657:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e206372656174656420796574", + "id": 7176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24671:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6db0b8d5b6124dfff7bc16f3229f74173cdfdd7d91661aa8ee91fd4cfab79c2", + "typeString": "literal_string \"RAHAT: Claim has not been created yet\"" + }, + "value": "RAHAT: Claim has not been created yet" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d6db0b8d5b6124dfff7bc16f3229f74173cdfdd7d91661aa8ee91fd4cfab79c2", + "typeString": "literal_string \"RAHAT: Claim has not been created yet\"" + } + ], + "id": 7171, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24649:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24649:62:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7178, + "nodeType": "ExpressionStatement", + "src": "24649:62:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7180, + "name": "_timeToLive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7147, + "src": "24724:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3836343030", + "id": 7181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24739:5:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "86400" + }, + "src": "24724:20:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a54696d6520546f204c6976652073686f756c64206265206c657373207468616e20323420686f757273", + "id": 7183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24746:49:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_494830ec479ab6e8b10f8d4bf9d46223a57a3e831547c9797d10ffe42993c26a", + "typeString": "literal_string \"RAHAT:Time To Live should be less than 24 hours\"" + }, + "value": "RAHAT:Time To Live should be less than 24 hours" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_494830ec479ab6e8b10f8d4bf9d46223a57a3e831547c9797d10ffe42993c26a", + "typeString": "literal_string \"RAHAT:Time To Live should be less than 24 hours\"" + } + ], + "id": 7179, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24716:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24716:80:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7185, + "nodeType": "ExpressionStatement", + "src": "24716:80:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7187, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "24809:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "24809:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7189, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "24828:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7190, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "24828:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3836343030", + "id": 7191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24838:5:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "86400" + }, + "src": "24828:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24809:34:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d206973206f6c646572207468616e20323420686f757273", + "id": 7194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24845:37:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c812789fe050dbd004401c78ffbd7bed35f2da7c07d9561fb6b59effd4d6049c", + "typeString": "literal_string \"RAHAT: Claim is older than 24 hours\"" + }, + "value": "RAHAT: Claim is older than 24 hours" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c812789fe050dbd004401c78ffbd7bed35f2da7c07d9561fb6b59effd4d6049c", + "typeString": "literal_string \"RAHAT: Claim is older than 24 hours\"" + } + ], + "id": 7186, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24801:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24801:82:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7196, + "nodeType": "ExpressionStatement", + "src": "24801:82:27" + }, + { + "expression": { + "arguments": [ + { + "id": 7200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "24896:14:27", + "subExpression": { + "expression": { + "id": 7198, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "24897:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7199, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "24897:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c7265616479206265656e2072656c65617365642e", + "id": 7201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24912:41:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b055079e7b3a8550e9102f232cf5ed277c9056128c3f2966105d06854b21a0ef", + "typeString": "literal_string \"RAHAT: Claim has already been released.\"" + }, + "value": "RAHAT: Claim has already been released." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b055079e7b3a8550e9102f232cf5ed277c9056128c3f2966105d06854b21a0ef", + "typeString": "literal_string \"RAHAT: Claim has already been released.\"" + } + ], + "id": 7197, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24888:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24888:66:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7203, + "nodeType": "ExpressionStatement", + "src": "24888:66:27" + }, + { + "expression": { + "id": 7208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7204, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "24959:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7206, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "otpHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 5315, + "src": "24959:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7207, + "name": "_otpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7145, + "src": "24972:8:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "24959:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7209, + "nodeType": "ExpressionStatement", + "src": "24959:21:27" + }, + { + "expression": { + "id": 7214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7210, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "24985:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7212, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "24985:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 7213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25001:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "24985:20:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7215, + "nodeType": "ExpressionStatement", + "src": "24985:20:27" + }, + { + "expression": { + "id": 7223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7216, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "25010:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "25010:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7219, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "25020:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "25020:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 7221, + "name": "_timeToLive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7147, + "src": "25038:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25020:29:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25010:39:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7224, + "nodeType": "ExpressionStatement", + "src": "25010:39:27" + }, + { + "eventCall": { + "arguments": [ + { + "id": 7226, + "name": "_vendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7141, + "src": "25073:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7227, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7143, + "src": "25082:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 7228, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "25090:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7229, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "25090:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7225, + "name": "ClaimApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5154, + "src": "25059:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 7230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25059:41:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7231, + "nodeType": "EmitStatement", + "src": "25054:46:27" + } + ] + }, + "documentation": { + "id": 7139, + "nodeType": "StructuredDocumentation", + "src": "23973:400:27", + "text": "@notice Approve the requested claim from serverside and set the otp hash\n @param _vendor Address of the vendor who requested the token from beneficiary\n @param _phone Phone number of the beneficiary, to whom token request was sent\n @param _otpHash Hash of OTP sent to beneficiary by server\n @param _timeToLive Validity of OTP in seconds\n @param _tokenId ERC1155 tokenId" + }, + "functionSelector": "83d385a4", + "id": 7233, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 7152, + "kind": "modifierInvocation", + "modifierName": { + "id": 7151, + "name": "OnlyServer", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5413, + "src": "24522:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "24522:10:27" + } + ], + "name": "approveERC1155Claim", + "nameLocation": "24385:19:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7141, + "mutability": "mutable", + "name": "_vendor", + "nameLocation": "24417:7:27", + "nodeType": "VariableDeclaration", + "scope": 7233, + "src": "24409:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24409:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7143, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "24437:6:27", + "nodeType": "VariableDeclaration", + "scope": 7233, + "src": "24429:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24429:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7145, + "mutability": "mutable", + "name": "_otpHash", + "nameLocation": "24456:8:27", + "nodeType": "VariableDeclaration", + "scope": 7233, + "src": "24448:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7144, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24448:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7147, + "mutability": "mutable", + "name": "_timeToLive", + "nameLocation": "24477:11:27", + "nodeType": "VariableDeclaration", + "scope": 7233, + "src": "24469:19:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7146, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24469:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7149, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "24501:8:27", + "nodeType": "VariableDeclaration", + "scope": 7233, + "src": "24493:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7148, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24493:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24404:109:27" + }, + "returnParameters": { + "id": 7153, + "nodeType": "ParameterList", + "parameters": [], + "src": "24533:0:27" + }, + "scope": 7837, + "src": "24376:729:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7340, + "nodeType": "Block", + "src": "25418:609:27", + "statements": [ + { + "assignments": [ + 7247 + ], + "declarations": [ + { + "constant": false, + "id": 7247, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "25434:6:27", + "nodeType": "VariableDeclaration", + "scope": 7340, + "src": "25426:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7246, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25426:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7251, + "initialValue": { + "arguments": [ + { + "id": 7249, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7236, + "src": "25452:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7248, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "25443:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 7250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25443:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25426:33:27" + }, + { + "assignments": [ + 7254 + ], + "declarations": [ + { + "constant": false, + "id": 7254, + "mutability": "mutable", + "name": "ac", + "nameLocation": "25478:2:27", + "nodeType": "VariableDeclaration", + "scope": 7340, + "src": "25464:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7253, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7252, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "25464:5:27" + }, + "referencedDeclaration": 5320, + "src": "25464:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7261, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 7255, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "25483:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 7258, + "indexExpression": { + "expression": { + "id": 7256, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "25501:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "25501:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25483:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 7260, + "indexExpression": { + "id": 7259, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7247, + "src": "25513:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25483:37:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25464:56:27" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7263, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25533:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7264, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "25533:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e2072656c65617365642e", + "id": 7265, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25548:37:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + }, + "value": "RAHAT: Claim has not been released." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + } + ], + "id": 7262, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "25525:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25525:61:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7267, + "nodeType": "ExpressionStatement", + "src": "25525:61:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7269, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25599:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7270, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "25599:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 7271, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "25610:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "25610:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25599:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c726561647920657870697265642e", + "id": 7274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25627:35:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + }, + "value": "RAHAT: Claim has already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + } + ], + "id": 7268, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "25591:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25591:72:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7276, + "nodeType": "ExpressionStatement", + "src": "25591:72:27" + }, + { + "assignments": [ + 7278 + ], + "declarations": [ + { + "constant": false, + "id": 7278, + "mutability": "mutable", + "name": "otpHash", + "nameLocation": "25676:7:27", + "nodeType": "VariableDeclaration", + "scope": 7340, + "src": "25668:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7277, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25668:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7282, + "initialValue": { + "arguments": [ + { + "id": 7280, + "name": "_otp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7238, + "src": "25695:4:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 7279, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "25686:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 7281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25686:14:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25668:32:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 7284, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "25713:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 7287, + "indexExpression": { + "expression": { + "id": 7285, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "25731:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "25731:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25713:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 7289, + "indexExpression": { + "id": 7288, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7247, + "src": "25743:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25713:37:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "id": 7290, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "otpHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 5315, + "src": "25713:45:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 7291, + "name": "otpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7278, + "src": "25762:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "25713:56:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a204f545020646964206e6f74206d617463682e", + "id": 7293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25771:27:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + }, + "value": "RAHAT: OTP did not match." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + } + ], + "id": 7283, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "25705:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25705:94:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7295, + "nodeType": "ExpressionStatement", + "src": "25705:94:27" + }, + { + "expression": { + "arguments": [ + { + "id": 7297, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7236, + "src": "25822:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 7298, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25829:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7299, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "25829:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7296, + "name": "adjustTokenDeduct", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5937, + 5990 + ], + "referencedDeclaration": 5937, + "src": "25804:17:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 7300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25804:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7301, + "nodeType": "ExpressionStatement", + "src": "25804:35:27" + }, + { + "assignments": [ + 7303 + ], + "declarations": [ + { + "constant": false, + "id": 7303, + "mutability": "mutable", + "name": "amt", + "nameLocation": "25852:3:27", + "nodeType": "VariableDeclaration", + "scope": 7340, + "src": "25844:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7302, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25844:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7306, + "initialValue": { + "expression": { + "id": 7304, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25858:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "25858:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25844:23:27" + }, + { + "expression": { + "id": 7311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7307, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25872:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7309, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "25872:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 7310, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25888:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "25872:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7312, + "nodeType": "ExpressionStatement", + "src": "25872:21:27" + }, + { + "expression": { + "id": 7317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7313, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25898:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "25898:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25910:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "25898:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7318, + "nodeType": "ExpressionStatement", + "src": "25898:13:27" + }, + { + "expression": { + "id": 7323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7319, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25916:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7321, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "25916:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7322, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25926:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "25916:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7324, + "nodeType": "ExpressionStatement", + "src": "25916:11:27" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7328, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "25950:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "25950:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7330, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7303, + "src": "25962:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7325, + "name": "erc20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "25935:5:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "id": 7327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2271, + "src": "25935:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 7331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25935:31:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7332, + "nodeType": "ExpressionStatement", + "src": "25935:31:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7334, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "25998:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "25998:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7336, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7236, + "src": "26009:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7337, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7303, + "src": "26016:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7333, + "name": "ClaimAcquiredERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5180, + "src": "25979:18:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 7338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25979:41:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7339, + "nodeType": "EmitStatement", + "src": "25974:46:27" + } + ] + }, + "documentation": { + "id": 7234, + "nodeType": "StructuredDocumentation", + "src": "25110:202:27", + "text": "@notice Retrieve tokens that was requested to beneficiary by entering OTP\n @param _phone Phone Number of the beneficiary, to whom token request was sent\n @param _otp OTP sent by the server" + }, + "functionSelector": "27fa7a20", + "id": 7341, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 7241, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7236, + "src": "25399:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7242, + "kind": "modifierInvocation", + "modifierName": { + "id": 7240, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "25385:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "25385:21:27" + }, + { + "id": 7244, + "kind": "modifierInvocation", + "modifierName": { + "id": 7243, + "name": "OnlyVendor", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5460, + "src": "25407:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "25407:10:27" + } + ], + "name": "getERC20FromClaim", + "nameLocation": "25324:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7239, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7236, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "25350:6:27", + "nodeType": "VariableDeclaration", + "scope": 7341, + "src": "25342:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7235, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25342:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7238, + "mutability": "mutable", + "name": "_otp", + "nameLocation": "25372:4:27", + "nodeType": "VariableDeclaration", + "scope": 7341, + "src": "25358:18:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7237, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25358:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "25341:36:27" + }, + "returnParameters": { + "id": 7245, + "nodeType": "ParameterList", + "parameters": [], + "src": "25418:0:27" + }, + "scope": 7837, + "src": "25315:712:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7459, + "nodeType": "Block", + "src": "26376:681:27", + "statements": [ + { + "assignments": [ + 7354 + ], + "declarations": [ + { + "constant": false, + "id": 7354, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "26392:6:27", + "nodeType": "VariableDeclaration", + "scope": 7459, + "src": "26384:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7353, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "26384:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7358, + "initialValue": { + "arguments": [ + { + "id": 7356, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7344, + "src": "26410:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7355, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "26401:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 7357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26401:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26384:33:27" + }, + { + "assignments": [ + 7361 + ], + "declarations": [ + { + "constant": false, + "id": 7361, + "mutability": "mutable", + "name": "ac", + "nameLocation": "26436:2:27", + "nodeType": "VariableDeclaration", + "scope": 7459, + "src": "26422:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7360, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7359, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "26422:5:27" + }, + "referencedDeclaration": 5320, + "src": "26422:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7370, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 7362, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "26441:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 7365, + "indexExpression": { + "expression": { + "id": 7363, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "26461:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26461:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26441:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 7367, + "indexExpression": { + "id": 7366, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7354, + "src": "26473:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26441:39:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 7369, + "indexExpression": { + "id": 7368, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "26481:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26441:49:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26422:68:27" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7372, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26503:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7373, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "26503:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e2072656c65617365642e", + "id": 7374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26518:37:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + }, + "value": "RAHAT: Claim has not been released." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + } + ], + "id": 7371, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26495:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26495:61:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7376, + "nodeType": "ExpressionStatement", + "src": "26495:61:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7378, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26569:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7379, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "26569:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 7380, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "26580:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "26580:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26569:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c726561647920657870697265642e", + "id": 7383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26597:35:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + }, + "value": "RAHAT: Claim has already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + } + ], + "id": 7377, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26561:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26561:72:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7385, + "nodeType": "ExpressionStatement", + "src": "26561:72:27" + }, + { + "assignments": [ + 7387 + ], + "declarations": [ + { + "constant": false, + "id": 7387, + "mutability": "mutable", + "name": "otpHash", + "nameLocation": "26646:7:27", + "nodeType": "VariableDeclaration", + "scope": 7459, + "src": "26638:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7386, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "26638:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7391, + "initialValue": { + "arguments": [ + { + "id": 7389, + "name": "_otp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7346, + "src": "26665:4:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 7388, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "26656:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 7390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26656:14:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26638:32:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 7393, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "26683:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 7396, + "indexExpression": { + "expression": { + "id": 7394, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "26703:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26703:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26683:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 7398, + "indexExpression": { + "id": 7397, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7354, + "src": "26715:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26683:39:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 7400, + "indexExpression": { + "id": 7399, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "26723:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26683:49:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "id": 7401, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "otpHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 5315, + "src": "26683:57:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 7402, + "name": "otpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7387, + "src": "26744:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "26683:68:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a204f545020646964206e6f74206d617463682e", + "id": 7404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26753:27:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + }, + "value": "RAHAT: OTP did not match." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + } + ], + "id": 7392, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26675:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26675:106:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7406, + "nodeType": "ExpressionStatement", + "src": "26675:106:27" + }, + { + "expression": { + "arguments": [ + { + "id": 7408, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7344, + "src": "26804:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 7409, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26811:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7410, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "26811:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7411, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "26821:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7407, + "name": "adjustTokenDeduct", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5937, + 5990 + ], + "referencedDeclaration": 5990, + "src": "26786:17:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 7412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26786:44:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7413, + "nodeType": "ExpressionStatement", + "src": "26786:44:27" + }, + { + "assignments": [ + 7415 + ], + "declarations": [ + { + "constant": false, + "id": 7415, + "mutability": "mutable", + "name": "amt", + "nameLocation": "26843:3:27", + "nodeType": "VariableDeclaration", + "scope": 7459, + "src": "26835:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7414, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26835:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7418, + "initialValue": { + "expression": { + "id": 7416, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26849:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7417, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "26849:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26835:23:27" + }, + { + "expression": { + "id": 7423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7419, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26863:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7421, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "26863:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 7422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26879:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "26863:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7424, + "nodeType": "ExpressionStatement", + "src": "26863:21:27" + }, + { + "expression": { + "id": 7429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7425, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26889:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7427, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "26889:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26901:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "26889:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7430, + "nodeType": "ExpressionStatement", + "src": "26889:13:27" + }, + { + "expression": { + "id": 7435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7431, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26907:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7433, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "26907:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26917:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "26907:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7436, + "nodeType": "ExpressionStatement", + "src": "26907:11:27" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 7442, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "26956:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 7441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "26948:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 7440, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26948:7:27", + "typeDescriptions": {} + } + }, + "id": 7443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26948:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 7444, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "26962:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26962:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7446, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "26973:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7447, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7415, + "src": "26983:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 7448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26987:2:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 7437, + "name": "erc1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5245, + "src": "26923:7:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "id": 7439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 820, + "src": "26923:24:27", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external" + } + }, + "id": 7449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26923:67:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7450, + "nodeType": "ExpressionStatement", + "src": "26923:67:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7452, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "27021:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "27021:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7454, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7344, + "src": "27032:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7455, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "27039:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7456, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7415, + "src": "27048:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7451, + "name": "ClaimAcquiredERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5190, + "src": "27000:20:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256)" + } + }, + "id": 7457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27000:52:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7458, + "nodeType": "EmitStatement", + "src": "26995:57:27" + } + ] + }, + "documentation": { + "id": 7342, + "nodeType": "StructuredDocumentation", + "src": "26033:240:27", + "text": "@notice Retrieve tokens that was requested to beneficiary by entering OTP\n @param _phone Phone Number of the beneficiary, to whom token request was sent\n @param _otp OTP sent by the server\n @param _tokenId ERC1155 tokenId" + }, + "functionSelector": "bfa68363", + "id": 7460, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 7351, + "kind": "modifierInvocation", + "modifierName": { + "id": 7350, + "name": "OnlyVendor", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5460, + "src": "26365:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "26365:10:27" + } + ], + "name": "getERC1155FromClaim", + "nameLocation": "26285:19:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7349, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7344, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "26313:6:27", + "nodeType": "VariableDeclaration", + "scope": 7460, + "src": "26305:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7343, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26305:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7346, + "mutability": "mutable", + "name": "_otp", + "nameLocation": "26335:4:27", + "nodeType": "VariableDeclaration", + "scope": 7460, + "src": "26321:18:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "26321:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7348, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "26348:8:27", + "nodeType": "VariableDeclaration", + "scope": 7460, + "src": "26340:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7347, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26340:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26304:53:27" + }, + "returnParameters": { + "id": 7352, + "nodeType": "ParameterList", + "parameters": [], + "src": "26376:0:27" + }, + "scope": 7837, + "src": "26276:781:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7607, + "nodeType": "Block", + "src": "27589:989:27", + "statements": [ + { + "assignments": [ + 7476 + ], + "declarations": [ + { + "constant": false, + "id": 7476, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "27612:5:27", + "nodeType": "VariableDeclaration", + "scope": 7607, + "src": "27604:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7475, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "27604:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7492, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 7482, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "27655:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 7481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "27647:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 7480, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27647:7:27", + "typeDescriptions": {} + } + }, + "id": 7483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27647:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7484, + "name": "CREATE_CLAIM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5230, + "src": "27662:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 7485, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "27676:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7487, + "indexExpression": { + "id": 7486, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7463, + "src": "27683:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "27676:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7488, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7467, + "src": "27693:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7489, + "name": "_otp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7469, + "src": "27700:4:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7478, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "27630:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "27630:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27630:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7477, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "27620:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27620:86:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27604:102:27" + }, + { + "assignments": [ + 7494 + ], + "declarations": [ + { + "constant": false, + "id": 7494, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "27802:15:27", + "nodeType": "VariableDeclaration", + "scope": 7607, + "src": "27794:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7493, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27794:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 7499, + "initialValue": { + "arguments": [ + { + "id": 7496, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7476, + "src": "27833:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 7497, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7465, + "src": "27839:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7495, + "name": "verifyVendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6102, + "src": "27820:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) view returns (address)" + } + }, + "id": 7498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27820:30:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27794:56:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7501, + "name": "recoveredSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7494, + "src": "27869:15:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 7502, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7463, + "src": "27888:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "27869:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d6174636865642077697468207369676e6572", + "id": 7504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27896:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + }, + "value": "Signature did not matched with signer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + } + ], + "id": 7500, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "27861:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27861:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7506, + "nodeType": "ExpressionStatement", + "src": "27861:75:27" + }, + { + "expression": { + "id": 7510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "27947:17:27", + "subExpression": { + "baseExpression": { + "id": 7507, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "27947:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7509, + "indexExpression": { + "id": 7508, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7463, + "src": "27954:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "27947:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7511, + "nodeType": "ExpressionStatement", + "src": "27947:17:27" + }, + { + "assignments": [ + 7513 + ], + "declarations": [ + { + "constant": false, + "id": 7513, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "27987:6:27", + "nodeType": "VariableDeclaration", + "scope": 7607, + "src": "27979:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7512, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "27979:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7517, + "initialValue": { + "arguments": [ + { + "id": 7515, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7467, + "src": "28005:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7514, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "27996:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 7516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27996:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27979:33:27" + }, + { + "assignments": [ + 7520 + ], + "declarations": [ + { + "constant": false, + "id": 7520, + "mutability": "mutable", + "name": "ac", + "nameLocation": "28031:2:27", + "nodeType": "VariableDeclaration", + "scope": 7607, + "src": "28017:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7519, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7518, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "28017:5:27" + }, + "referencedDeclaration": 5320, + "src": "28017:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7527, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 7521, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "28036:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 7524, + "indexExpression": { + "expression": { + "id": 7522, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "28054:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28054:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28036:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 7526, + "indexExpression": { + "id": 7525, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7513, + "src": "28066:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28036:37:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28017:56:27" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7529, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28086:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7530, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "28086:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e2072656c65617365642e", + "id": 7531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28101:37:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + }, + "value": "RAHAT: Claim has not been released." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + } + ], + "id": 7528, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "28078:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28078:61:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7533, + "nodeType": "ExpressionStatement", + "src": "28078:61:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7535, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28152:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7536, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "28152:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 7537, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "28163:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "28163:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28152:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c726561647920657870697265642e", + "id": 7540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28180:35:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + }, + "value": "RAHAT: Claim has already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + } + ], + "id": 7534, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "28144:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28144:72:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7542, + "nodeType": "ExpressionStatement", + "src": "28144:72:27" + }, + { + "assignments": [ + 7544 + ], + "declarations": [ + { + "constant": false, + "id": 7544, + "mutability": "mutable", + "name": "otpHash", + "nameLocation": "28229:7:27", + "nodeType": "VariableDeclaration", + "scope": 7607, + "src": "28221:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7543, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "28221:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7548, + "initialValue": { + "arguments": [ + { + "id": 7546, + "name": "_otp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7469, + "src": "28248:4:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 7545, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "28239:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 7547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28239:14:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28221:32:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 7550, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "28266:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 7553, + "indexExpression": { + "expression": { + "id": 7551, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "28284:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28284:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28266:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 7555, + "indexExpression": { + "id": 7554, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7513, + "src": "28296:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28266:37:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "id": 7556, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "otpHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 5315, + "src": "28266:45:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 7557, + "name": "otpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7544, + "src": "28315:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "28266:56:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a204f545020646964206e6f74206d617463682e", + "id": 7559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28324:27:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + }, + "value": "RAHAT: OTP did not match." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + } + ], + "id": 7549, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "28258:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28258:94:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7561, + "nodeType": "ExpressionStatement", + "src": "28258:94:27" + }, + { + "expression": { + "id": 7567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7562, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "28357:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 7564, + "indexExpression": { + "id": 7563, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7467, + "src": "28370:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "28357:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "expression": { + "id": 7565, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28381:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7566, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "28381:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28357:33:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7568, + "nodeType": "ExpressionStatement", + "src": "28357:33:27" + }, + { + "assignments": [ + 7570 + ], + "declarations": [ + { + "constant": false, + "id": 7570, + "mutability": "mutable", + "name": "amt", + "nameLocation": "28403:3:27", + "nodeType": "VariableDeclaration", + "scope": 7607, + "src": "28395:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7569, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28395:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7573, + "initialValue": { + "expression": { + "id": 7571, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28409:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7572, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "28409:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28395:23:27" + }, + { + "expression": { + "id": 7578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7574, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28423:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7576, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "28423:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 7577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28439:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "28423:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7579, + "nodeType": "ExpressionStatement", + "src": "28423:21:27" + }, + { + "expression": { + "id": 7584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7580, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28449:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7582, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "28449:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28461:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "28449:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7585, + "nodeType": "ExpressionStatement", + "src": "28449:13:27" + }, + { + "expression": { + "id": 7590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7586, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28467:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "28467:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28477:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "28467:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7591, + "nodeType": "ExpressionStatement", + "src": "28467:11:27" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7595, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "28501:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28501:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7597, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7570, + "src": "28513:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7592, + "name": "erc20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "28486:5:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "id": 7594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2271, + "src": "28486:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 7598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28486:31:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7599, + "nodeType": "ExpressionStatement", + "src": "28486:31:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7601, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "28549:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28549:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7603, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7467, + "src": "28560:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7604, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7570, + "src": "28567:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7600, + "name": "ClaimAcquiredERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5180, + "src": "28530:18:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 7605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28530:41:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7606, + "nodeType": "EmitStatement", + "src": "28525:46:27" + } + ] + }, + "documentation": { + "id": 7461, + "nodeType": "StructuredDocumentation", + "src": "27066:379:27", + "text": "@dev delegates getERC20FromClaim for vendors/callers\n@param _signer address of vendor/caller of getERC20FromClaim\n @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\n @param _phone Phone Number of the beneficiary, to whom token request was sent\n @param _otp OTP sent by the server" + }, + "functionSelector": "f94afcea", + "id": 7608, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 7472, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7467, + "src": "27581:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7473, + "kind": "modifierInvocation", + "modifierName": { + "id": 7471, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "27567:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "27567:21:27" + } + ], + "name": "delegate_getERC20FromClaim", + "nameLocation": "27457:26:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7470, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7463, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "27492:7:27", + "nodeType": "VariableDeclaration", + "scope": 7608, + "src": "27484:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7462, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27484:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7465, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "27513:10:27", + "nodeType": "VariableDeclaration", + "scope": 7608, + "src": "27500:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7464, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "27500:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7467, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "27532:6:27", + "nodeType": "VariableDeclaration", + "scope": 7608, + "src": "27524:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "27524:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7469, + "mutability": "mutable", + "name": "_otp", + "nameLocation": "27554:4:27", + "nodeType": "VariableDeclaration", + "scope": 7608, + "src": "27540:18:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7468, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "27540:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "27483:76:27" + }, + "returnParameters": { + "id": 7474, + "nodeType": "ParameterList", + "parameters": [], + "src": "27589:0:27" + }, + "scope": 7837, + "src": "27448:1130:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7766, + "nodeType": "Block", + "src": "29143:1065:27", + "statements": [ + { + "assignments": [ + 7623 + ], + "declarations": [ + { + "constant": false, + "id": 7623, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "29159:5:27", + "nodeType": "VariableDeclaration", + "scope": 7766, + "src": "29151:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7622, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "29151:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7640, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 7629, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "29202:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 7628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29194:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 7627, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29194:7:27", + "typeDescriptions": {} + } + }, + "id": 7630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29194:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7631, + "name": "CREATE_CLAIM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5230, + "src": "29209:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 7632, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "29223:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7634, + "indexExpression": { + "id": 7633, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7611, + "src": "29230:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29223:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7635, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7615, + "src": "29240:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7636, + "name": "_otp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7617, + "src": "29247:4:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7637, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7619, + "src": "29252:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7625, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "29177:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "29177:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29177:84:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7624, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "29167:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29167:95:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29151:111:27" + }, + { + "assignments": [ + 7642 + ], + "declarations": [ + { + "constant": false, + "id": 7642, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "29358:15:27", + "nodeType": "VariableDeclaration", + "scope": 7766, + "src": "29350:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7641, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29350:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 7647, + "initialValue": { + "arguments": [ + { + "id": 7644, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7623, + "src": "29389:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 7645, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7613, + "src": "29395:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7643, + "name": "verifyVendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6102, + "src": "29376:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) view returns (address)" + } + }, + "id": 7646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29376:30:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29350:56:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7649, + "name": "recoveredSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7642, + "src": "29425:15:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 7650, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7611, + "src": "29444:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "29425:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d6174636865642077697468207369676e6572", + "id": 7652, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29452:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + }, + "value": "Signature did not matched with signer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + } + ], + "id": 7648, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29417:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29417:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7654, + "nodeType": "ExpressionStatement", + "src": "29417:75:27" + }, + { + "expression": { + "id": 7658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "29503:17:27", + "subExpression": { + "baseExpression": { + "id": 7655, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "29503:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7657, + "indexExpression": { + "id": 7656, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7611, + "src": "29510:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "29503:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7659, + "nodeType": "ExpressionStatement", + "src": "29503:17:27" + }, + { + "assignments": [ + 7661 + ], + "declarations": [ + { + "constant": false, + "id": 7661, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "29543:6:27", + "nodeType": "VariableDeclaration", + "scope": 7766, + "src": "29535:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7660, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "29535:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7665, + "initialValue": { + "arguments": [ + { + "id": 7663, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7615, + "src": "29561:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7662, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "29552:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 7664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29552:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29535:33:27" + }, + { + "assignments": [ + 7668 + ], + "declarations": [ + { + "constant": false, + "id": 7668, + "mutability": "mutable", + "name": "ac", + "nameLocation": "29587:2:27", + "nodeType": "VariableDeclaration", + "scope": 7766, + "src": "29573:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7667, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7666, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "29573:5:27" + }, + "referencedDeclaration": 5320, + "src": "29573:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7677, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 7669, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "29592:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 7672, + "indexExpression": { + "expression": { + "id": 7670, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "29612:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "29612:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29592:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 7674, + "indexExpression": { + "id": 7673, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7661, + "src": "29624:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29592:39:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 7676, + "indexExpression": { + "id": 7675, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7619, + "src": "29632:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29592:49:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29573:68:27" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7679, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "29654:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7680, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "29654:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e2072656c65617365642e", + "id": 7681, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29669:37:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + }, + "value": "RAHAT: Claim has not been released." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + } + ], + "id": 7678, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29646:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29646:61:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7683, + "nodeType": "ExpressionStatement", + "src": "29646:61:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7685, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "29720:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7686, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "29720:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 7687, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "29731:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "29731:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "29720:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c726561647920657870697265642e", + "id": 7690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29748:35:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + }, + "value": "RAHAT: Claim has already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + } + ], + "id": 7684, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29712:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29712:72:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7692, + "nodeType": "ExpressionStatement", + "src": "29712:72:27" + }, + { + "assignments": [ + 7694 + ], + "declarations": [ + { + "constant": false, + "id": 7694, + "mutability": "mutable", + "name": "otpHash", + "nameLocation": "29797:7:27", + "nodeType": "VariableDeclaration", + "scope": 7766, + "src": "29789:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7693, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "29789:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7698, + "initialValue": { + "arguments": [ + { + "id": 7696, + "name": "_otp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7617, + "src": "29816:4:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 7695, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "29807:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 7697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29807:14:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29789:32:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 7700, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "29834:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 7703, + "indexExpression": { + "expression": { + "id": 7701, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "29854:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "29854:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29834:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 7705, + "indexExpression": { + "id": 7704, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7661, + "src": "29866:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29834:39:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 7707, + "indexExpression": { + "id": 7706, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7619, + "src": "29874:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29834:49:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "id": 7708, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "otpHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 5315, + "src": "29834:57:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 7709, + "name": "otpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7694, + "src": "29895:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "29834:68:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a204f545020646964206e6f74206d617463682e", + "id": 7711, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29904:27:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + }, + "value": "RAHAT: OTP did not match." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + } + ], + "id": 7699, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29826:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29826:106:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7713, + "nodeType": "ExpressionStatement", + "src": "29826:106:27" + }, + { + "expression": { + "arguments": [ + { + "id": 7715, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7615, + "src": "29955:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 7716, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "29962:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7717, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "29962:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7718, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7619, + "src": "29972:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7714, + "name": "adjustTokenDeduct", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5937, + 5990 + ], + "referencedDeclaration": 5990, + "src": "29937:17:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 7719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29937:44:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7720, + "nodeType": "ExpressionStatement", + "src": "29937:44:27" + }, + { + "assignments": [ + 7722 + ], + "declarations": [ + { + "constant": false, + "id": 7722, + "mutability": "mutable", + "name": "amt", + "nameLocation": "29994:3:27", + "nodeType": "VariableDeclaration", + "scope": 7766, + "src": "29986:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7721, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29986:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7725, + "initialValue": { + "expression": { + "id": 7723, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "30000:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7724, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "30000:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29986:23:27" + }, + { + "expression": { + "id": 7730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7726, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "30014:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7728, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "30014:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 7729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30030:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "30014:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7731, + "nodeType": "ExpressionStatement", + "src": "30014:21:27" + }, + { + "expression": { + "id": 7736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7732, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "30040:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7734, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "30040:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7735, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30052:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "30040:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7737, + "nodeType": "ExpressionStatement", + "src": "30040:13:27" + }, + { + "expression": { + "id": 7742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7738, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "30058:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "30058:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30068:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "30058:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7743, + "nodeType": "ExpressionStatement", + "src": "30058:11:27" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 7749, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "30107:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 7748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30099:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 7747, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30099:7:27", + "typeDescriptions": {} + } + }, + "id": 7750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30099:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 7751, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "30113:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "30113:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7753, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7619, + "src": "30124:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7754, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7722, + "src": "30134:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 7755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30138:2:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 7744, + "name": "erc1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5245, + "src": "30074:7:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "id": 7746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 820, + "src": "30074:24:27", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external" + } + }, + "id": 7756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30074:67:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7757, + "nodeType": "ExpressionStatement", + "src": "30074:67:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7759, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "30172:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "30172:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7761, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7615, + "src": "30183:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7762, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7619, + "src": "30190:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7763, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7722, + "src": "30199:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7758, + "name": "ClaimAcquiredERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5190, + "src": "30151:20:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256)" + } + }, + "id": 7764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30151:52:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7765, + "nodeType": "EmitStatement", + "src": "30146:57:27" + } + ] + }, + "documentation": { + "id": 7609, + "nodeType": "StructuredDocumentation", + "src": "28584:419:27", + "text": "@dev delegates getERC20FromClaim for vendors/callers\n@param _signer address of vendor/caller of getERC1155FromClaim\n @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\n @param _phone Phone Number of the beneficiary, to whom token request was sent\n @param _otp OTP sent by the server\n @param _tokenId ERC1155 tokenId" + }, + "functionSelector": "8eda3247", + "id": 7767, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "delegate_getTokensFromClaim", + "nameLocation": "29015:27:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7611, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "29051:7:27", + "nodeType": "VariableDeclaration", + "scope": 7767, + "src": "29043:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7610, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29043:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7613, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "29072:10:27", + "nodeType": "VariableDeclaration", + "scope": 7767, + "src": "29059:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7612, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "29059:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7615, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "29091:6:27", + "nodeType": "VariableDeclaration", + "scope": 7767, + "src": "29083:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7614, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29083:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7617, + "mutability": "mutable", + "name": "_otp", + "nameLocation": "29113:4:27", + "nodeType": "VariableDeclaration", + "scope": 7767, + "src": "29099:18:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7616, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29099:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7619, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "29126:8:27", + "nodeType": "VariableDeclaration", + "scope": 7767, + "src": "29118:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7618, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29118:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "29042:93:27" + }, + "returnParameters": { + "id": 7621, + "nodeType": "ParameterList", + "parameters": [], + "src": "29143:0:27" + }, + "scope": 7837, + "src": "29006:1202:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7782, + "nodeType": "Block", + "src": "30394:51:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 7778, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7770, + "src": "30433:5:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7776, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "30416:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7777, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "30416:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30416:23:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7775, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "30406:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30406:34:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 7774, + "id": 7781, + "nodeType": "Return", + "src": "30399:41:27" + } + ] + }, + "documentation": { + "id": 7768, + "nodeType": "StructuredDocumentation", + "src": "30213:109:27", + "text": "@notice generates the hash of the given string\n @param _data String of which hash is to be generated" + }, + "functionSelector": "70c75107", + "id": 7783, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "findHash", + "nameLocation": "30334:8:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7771, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7770, + "mutability": "mutable", + "name": "_data", + "nameLocation": "30357:5:27", + "nodeType": "VariableDeclaration", + "scope": 7783, + "src": "30343:19:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7769, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30343:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "30342:21:27" + }, + "returnParameters": { + "id": 7774, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7773, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7783, + "src": "30385:7:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7772, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "30385:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "30384:9:27" + }, + "scope": 7837, + "src": "30325:120:27", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7800, + "nodeType": "Block", + "src": "30626:69:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 7794, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7786, + "src": "30672:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 3753, + "src": "30672:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 7796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30672:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7792, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "30655:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "30655:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30655:34:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7791, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "30645:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30645:45:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 7790, + "id": 7799, + "nodeType": "Return", + "src": "30638:52:27" + } + ] + }, + "documentation": { + "id": 7784, + "nodeType": "StructuredDocumentation", + "src": "30451:109:27", + "text": "@notice generates the hash of the given string\n @param _data String of which hash is to be generated" + }, + "functionSelector": "494101ff", + "id": 7801, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "findHash", + "nameLocation": "30572:8:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7786, + "mutability": "mutable", + "name": "_data", + "nameLocation": "30589:5:27", + "nodeType": "VariableDeclaration", + "scope": 7801, + "src": "30581:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30581:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "30580:15:27" + }, + "returnParameters": { + "id": 7790, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7789, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7801, + "src": "30617:7:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7788, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "30617:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "30616:9:27" + }, + "scope": 7837, + "src": "30563:132:27", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7835, + "nodeType": "Block", + "src": "30875:108:27", + "statements": [ + { + "expression": { + "id": 7812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7810, + "name": "sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7808, + "src": "30880:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30886:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "30880:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7813, + "nodeType": "ExpressionStatement", + "src": "30880:7:27" + }, + { + "body": { + "id": 7831, + "nodeType": "Block", + "src": "30936:28:27", + "statements": [ + { + "expression": { + "id": 7829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7825, + "name": "sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7808, + "src": "30942:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "baseExpression": { + "id": 7826, + "name": "_array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7805, + "src": "30949:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 7828, + "indexExpression": { + "id": 7827, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7815, + "src": "30956:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30949:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "30942:16:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7830, + "nodeType": "ExpressionStatement", + "src": "30942:16:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7818, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7815, + "src": "30912:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 7819, + "name": "_array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7805, + "src": "30916:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 7820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "30916:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "30912:17:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7832, + "initializationExpression": { + "assignments": [ + 7815 + ], + "declarations": [ + { + "constant": false, + "id": 7815, + "mutability": "mutable", + "name": "i", + "nameLocation": "30905:1:27", + "nodeType": "VariableDeclaration", + "scope": 7832, + "src": "30897:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30897:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7817, + "initialValue": { + "hexValue": "30", + "id": 7816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30909:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "30897:13:27" + }, + "loopExpression": { + "expression": { + "id": 7823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "30931:3:27", + "subExpression": { + "id": 7822, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7815, + "src": "30931:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7824, + "nodeType": "ExpressionStatement", + "src": "30931:3:27" + }, + "nodeType": "ForStatement", + "src": "30892:72:27" + }, + { + "expression": { + "id": 7833, + "name": "sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7808, + "src": "30975:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7809, + "id": 7834, + "nodeType": "Return", + "src": "30968:10:27" + } + ] + }, + "documentation": { + "id": 7802, + "nodeType": "StructuredDocumentation", + "src": "30700:92:27", + "text": "@notice Generates the sum of all the integers in array\n @param _array Array of uint" + }, + "functionSelector": "3098b74b", + "id": 7836, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getArraySum", + "nameLocation": "30804:11:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7805, + "mutability": "mutable", + "name": "_array", + "nameLocation": "30833:6:27", + "nodeType": "VariableDeclaration", + "scope": 7836, + "src": "30816:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 7803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30816:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7804, + "nodeType": "ArrayTypeName", + "src": "30816:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "30815:25:27" + }, + "returnParameters": { + "id": 7809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7808, + "mutability": "mutable", + "name": "sum", + "nameLocation": "30870:3:27", + "nodeType": "VariableDeclaration", + "scope": 7836, + "src": "30862:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7807, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30862:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "30861:13:27" + }, + "scope": 7837, + "src": "30795:188:27", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 7838, + "src": "331:30655:27", + "usedErrors": [] + } + ], + "src": "41:30947:27" + }, + "legacyAST": { + "absolutePath": "project:/contracts/Rahat.sol", + "exportedSymbols": { + "AccessControl": [ + 306 + ], + "Address": [ + 3487 + ], + "Arrays": [ + 3572 + ], + "Context": [ + 3594 + ], + "Counters": [ + 3668 + ], + "ECDSA": [ + 4238 + ], + "ERC1155": [ + 1631 + ], + "ERC1155Burnable": [ + 1863 + ], + "ERC1155Holder": [ + 2117 + ], + "ERC1155Receiver": [ + 2151 + ], + "ERC1155Supply": [ + 2051 + ], + "ERC165": [ + 4400 + ], + "ERC20": [ + 2697 + ], + "ERC20Burnable": [ + 2837 + ], + "ERC20Snapshot": [ + 3165 + ], + "EnumerableSet": [ + 5099 + ], + "IAccessControl": [ + 379 + ], + "IERC1155": [ + 1753 + ], + "IERC1155MetadataURI": [ + 2066 + ], + "IERC1155Receiver": [ + 1794 + ], + "IERC165": [ + 4412 + ], + "IERC20": [ + 2775 + ], + "IERC20Metadata": [ + 3190 + ], + "Math": [ + 4500 + ], + "Rahat": [ + 7837 + ], + "RahatERC1155": [ + 8866 + ], + "RahatERC20": [ + 8969 + ], + "Strings": [ + 3871 + ] + }, + "id": 7838, + "license": "UNLICENSED", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5101, + "literals": [ + "solidity", + "0.8", + ".7" + ], + "nodeType": "PragmaDirective", + "src": "41:22:27" + }, + { + "absolutePath": "project:/contracts/RahatERC20.sol", + "file": "./RahatERC20.sol", + "id": 5102, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 7838, + "sourceUnit": 8970, + "src": "65:26:27", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/RahatERC1155.sol", + "file": "./RahatERC1155.sol", + "id": 5103, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 7838, + "sourceUnit": 8867, + "src": "93:28:27", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol", + "file": "@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol", + "id": 5104, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 7838, + "sourceUnit": 2118, + "src": "123:71:27", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/structs/EnumerableSet.sol", + "file": "@openzeppelin/contracts/utils/structs/EnumerableSet.sol", + "id": 5105, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 7838, + "sourceUnit": 5100, + "src": "196:65:27", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "file": "@openzeppelin/contracts/utils/cryptography/ECDSA.sol", + "id": 5106, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 7838, + "sourceUnit": 4239, + "src": "263:62:27", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 5107, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 306, + "src": "349:13:27" + }, + "id": 5108, + "nodeType": "InheritanceSpecifier", + "src": "349:13:27" + }, + { + "baseName": { + "id": 5109, + "name": "ERC1155Holder", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2117, + "src": "363:13:27" + }, + "id": 5110, + "nodeType": "InheritanceSpecifier", + "src": "363:13:27" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 7837, + "linearizedBaseContracts": [ + 7837, + 2117, + 2151, + 1794, + 306, + 4400, + 4412, + 379, + 3594 + ], + "name": "Rahat", + "nameLocation": "340:5:27", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 5113, + "libraryName": { + "id": 5111, + "name": "Strings", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3871, + "src": "390:7:27" + }, + "nodeType": "UsingForDirective", + "src": "384:26:27", + "typeName": { + "id": 5112, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "402:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "id": 5117, + "libraryName": { + "id": 5114, + "name": "EnumerableSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5099, + "src": "422:13:27" + }, + "nodeType": "UsingForDirective", + "src": "416:49:27", + "typeName": { + "id": 5116, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5115, + "name": "EnumerableSet.Bytes32Set", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4705, + "src": "440:24:27" + }, + "referencedDeclaration": 4705, + "src": "440:24:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$4705_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + } + } + }, + { + "id": 5121, + "libraryName": { + "id": 5118, + "name": "EnumerableSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5099, + "src": "477:13:27" + }, + "nodeType": "UsingForDirective", + "src": "471:49:27", + "typeName": { + "id": 5120, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5119, + "name": "EnumerableSet.AddressSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4812, + "src": "495:24:27" + }, + "referencedDeclaration": 4812, + "src": "495:24:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$4812_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + } + }, + { + "id": 5125, + "libraryName": { + "id": 5122, + "name": "EnumerableSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5099, + "src": "532:13:27" + }, + "nodeType": "UsingForDirective", + "src": "526:46:27", + "typeName": { + "id": 5124, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5123, + "name": "EnumerableSet.UintSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4969, + "src": "550:21:27" + }, + "referencedDeclaration": 4969, + "src": "550:21:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + } + }, + { + "id": 5128, + "libraryName": { + "id": 5126, + "name": "ECDSA", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4238, + "src": "584:5:27" + }, + "nodeType": "UsingForDirective", + "src": "578:24:27", + "typeName": { + "id": 5127, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "594:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + }, + { + "anonymous": false, + "id": 5136, + "name": "ClaimedERC20", + "nameLocation": "642:12:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5130, + "indexed": true, + "mutability": "mutable", + "name": "vendor", + "nameLocation": "671:6:27", + "nodeType": "VariableDeclaration", + "scope": 5136, + "src": "655:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5129, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "655:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5132, + "indexed": true, + "mutability": "mutable", + "name": "beneficiary", + "nameLocation": "695:11:27", + "nodeType": "VariableDeclaration", + "scope": 5136, + "src": "679:27:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5131, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "679:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5134, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "715:6:27", + "nodeType": "VariableDeclaration", + "scope": 5136, + "src": "707:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5133, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "707:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "654:68:27" + }, + "src": "636:87:27" + }, + { + "anonymous": false, + "id": 5146, + "name": "ClaimedERC1155", + "nameLocation": "732:14:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5138, + "indexed": true, + "mutability": "mutable", + "name": "vendor", + "nameLocation": "763:6:27", + "nodeType": "VariableDeclaration", + "scope": 5146, + "src": "747:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5137, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "747:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5140, + "indexed": true, + "mutability": "mutable", + "name": "beneficiary", + "nameLocation": "787:11:27", + "nodeType": "VariableDeclaration", + "scope": 5146, + "src": "771:27:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "771:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5142, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "815:7:27", + "nodeType": "VariableDeclaration", + "scope": 5146, + "src": "799:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5141, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "799:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5144, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "831:6:27", + "nodeType": "VariableDeclaration", + "scope": 5146, + "src": "823:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5143, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "823:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "746:92:27" + }, + "src": "726:113:27" + }, + { + "anonymous": false, + "id": 5154, + "name": "ClaimApproved", + "nameLocation": "848:13:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5153, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5148, + "indexed": true, + "mutability": "mutable", + "name": "vendor", + "nameLocation": "878:6:27", + "nodeType": "VariableDeclaration", + "scope": 5154, + "src": "862:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5147, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "862:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5150, + "indexed": true, + "mutability": "mutable", + "name": "phone", + "nameLocation": "902:5:27", + "nodeType": "VariableDeclaration", + "scope": 5154, + "src": "886:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5149, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "886:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5152, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "917:6:27", + "nodeType": "VariableDeclaration", + "scope": 5154, + "src": "909:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5151, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "909:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "861:63:27" + }, + "src": "842:83:27" + }, + { + "anonymous": false, + "id": 5162, + "name": "IssuedERC20", + "nameLocation": "934:11:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5156, + "indexed": true, + "mutability": "mutable", + "name": "projectId", + "nameLocation": "962:9:27", + "nodeType": "VariableDeclaration", + "scope": 5162, + "src": "946:25:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5155, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "946:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5158, + "indexed": true, + "mutability": "mutable", + "name": "phone", + "nameLocation": "989:5:27", + "nodeType": "VariableDeclaration", + "scope": 5162, + "src": "973:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5157, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "973:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5160, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1004:6:27", + "nodeType": "VariableDeclaration", + "scope": 5162, + "src": "996:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5159, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "996:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "945:66:27" + }, + "src": "928:84:27" + }, + { + "anonymous": false, + "id": 5172, + "name": "IssuedERC1155", + "nameLocation": "1021:13:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5171, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5164, + "indexed": true, + "mutability": "mutable", + "name": "projectId", + "nameLocation": "1051:9:27", + "nodeType": "VariableDeclaration", + "scope": 5172, + "src": "1035:25:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5163, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1035:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5166, + "indexed": true, + "mutability": "mutable", + "name": "phone", + "nameLocation": "1078:5:27", + "nodeType": "VariableDeclaration", + "scope": 5172, + "src": "1062:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5165, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1062:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5168, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1101:7:27", + "nodeType": "VariableDeclaration", + "scope": 5172, + "src": "1085:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1085:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5170, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1118:6:27", + "nodeType": "VariableDeclaration", + "scope": 5172, + "src": "1110:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5169, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1110:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1034:91:27" + }, + "src": "1015:111:27" + }, + { + "anonymous": false, + "id": 5180, + "name": "ClaimAcquiredERC20", + "nameLocation": "1135:18:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5174, + "indexed": true, + "mutability": "mutable", + "name": "vendor", + "nameLocation": "1170:6:27", + "nodeType": "VariableDeclaration", + "scope": 5180, + "src": "1154:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5173, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1154:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5176, + "indexed": true, + "mutability": "mutable", + "name": "beneficiary", + "nameLocation": "1194:11:27", + "nodeType": "VariableDeclaration", + "scope": 5180, + "src": "1178:27:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5175, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1178:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5178, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1214:6:27", + "nodeType": "VariableDeclaration", + "scope": 5180, + "src": "1206:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5177, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1206:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1153:68:27" + }, + "src": "1129:93:27" + }, + { + "anonymous": false, + "id": 5190, + "name": "ClaimAcquiredERC1155", + "nameLocation": "1231:20:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5189, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5182, + "indexed": true, + "mutability": "mutable", + "name": "vendor", + "nameLocation": "1268:6:27", + "nodeType": "VariableDeclaration", + "scope": 5190, + "src": "1252:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5181, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1252:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5184, + "indexed": true, + "mutability": "mutable", + "name": "beneficiary", + "nameLocation": "1292:11:27", + "nodeType": "VariableDeclaration", + "scope": 5190, + "src": "1276:27:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5183, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1276:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5186, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1320:7:27", + "nodeType": "VariableDeclaration", + "scope": 5190, + "src": "1304:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5185, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1304:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5188, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1336:6:27", + "nodeType": "VariableDeclaration", + "scope": 5190, + "src": "1328:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5187, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1328:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1251:92:27" + }, + "src": "1225:119:27" + }, + { + "anonymous": false, + "id": 5200, + "name": "InvalidSignature", + "nameLocation": "1353:16:27", + "nodeType": "EventDefinition", + "parameters": { + "id": 5199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5192, + "indexed": false, + "mutability": "mutable", + "name": "signature", + "nameLocation": "1376:9:27", + "nodeType": "VariableDeclaration", + "scope": 5200, + "src": "1370:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5191, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1370:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5194, + "indexed": false, + "mutability": "mutable", + "name": "digest", + "nameLocation": "1394:6:27", + "nodeType": "VariableDeclaration", + "scope": 5200, + "src": "1386:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5193, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1386:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5196, + "indexed": false, + "mutability": "mutable", + "name": "expectedSigner", + "nameLocation": "1410:14:27", + "nodeType": "VariableDeclaration", + "scope": 5200, + "src": "1402:22:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5195, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1402:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5198, + "indexed": false, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "1433:15:27", + "nodeType": "VariableDeclaration", + "scope": 5200, + "src": "1425:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5197, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1425:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1369:80:27" + }, + "src": "1347:103:27" + }, + { + "constant": true, + "functionSelector": "18cf2834", + "id": 5205, + "mutability": "constant", + "name": "SERVER_ROLE", + "nameLocation": "1611:11:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1587:57:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5201, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1587:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "534552564552", + "id": 5203, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1635:8:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_caa7f6290f33308266ee2988386694ac9bc3612b5df272e3502129925a64f997", + "typeString": "literal_string \"SERVER\"" + }, + "value": "SERVER" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_caa7f6290f33308266ee2988386694ac9bc3612b5df272e3502129925a64f997", + "typeString": "literal_string \"SERVER\"" + } + ], + "id": 5202, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1625:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1625:19:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "926a694d", + "id": 5210, + "mutability": "constant", + "name": "VENDOR_ROLE", + "nameLocation": "1672:11:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1648:57:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5206, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1648:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "56454e444f52", + "id": 5208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1696:8:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0aaf57387812c7f832412470a57567b5648a930069be49aa9c98d04f88520d34", + "typeString": "literal_string \"VENDOR\"" + }, + "value": "VENDOR" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0aaf57387812c7f832412470a57567b5648a930069be49aa9c98d04f88520d34", + "typeString": "literal_string \"VENDOR\"" + } + ], + "id": 5207, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1686:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1686:19:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "ec87621c", + "id": 5215, + "mutability": "constant", + "name": "MANAGER_ROLE", + "nameLocation": "1733:12:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1709:59:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5211, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1709:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4d414e41474552", + "id": 5213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1758:9:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_af290d8680820aad922855f39b306097b20e28774d6c1ad35a20325630c3a02c", + "typeString": "literal_string \"MANAGER\"" + }, + "value": "MANAGER" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_af290d8680820aad922855f39b306097b20e28774d6c1ad35a20325630c3a02c", + "typeString": "literal_string \"MANAGER\"" + } + ], + "id": 5212, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1748:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1748:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "4c91b44e", + "id": 5220, + "mutability": "constant", + "name": "MOBILIZER_ROLE", + "nameLocation": "1796:14:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1772:63:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5216, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1772:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "4d4f42494c495a4552", + "id": 5218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1823:11:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_be9e90431f28bd12a87a51b26b014cab620a8a4819bf73d87369ccbe6800a76c", + "typeString": "literal_string \"MOBILIZER\"" + }, + "value": "MOBILIZER" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_be9e90431f28bd12a87a51b26b014cab620a8a4819bf73d87369ccbe6800a76c", + "typeString": "literal_string \"MOBILIZER\"" + } + ], + "id": 5217, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1813:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1813:22:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "8bbab5c7", + "id": 5225, + "mutability": "constant", + "name": "ISSUE_TOKEN", + "nameLocation": "1863:11:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1839:61:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5221, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1839:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "6973737565546f6b656e", + "id": 5223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1887:12:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_043620c1e1c33ecf60d9dadc62571b96554338b68ef3636e715e52a286bea92e", + "typeString": "literal_string \"issueToken\"" + }, + "value": "issueToken" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_043620c1e1c33ecf60d9dadc62571b96554338b68ef3636e715e52a286bea92e", + "typeString": "literal_string \"issueToken\"" + } + ], + "id": 5222, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1877:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1877:23:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "94343cd2", + "id": 5230, + "mutability": "constant", + "name": "CREATE_CLAIM", + "nameLocation": "1928:12:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1904:63:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5226, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1904:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "637265617465436c61696d", + "id": 5228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1953:13:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8ff5d84bbad5f252f2ee1916646e221e55645205d2f803ebe6a7d6ba8fa4185d", + "typeString": "literal_string \"createClaim\"" + }, + "value": "createClaim" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ff5d84bbad5f252f2ee1916646e221e55645205d2f803ebe6a7d6ba8fa4185d", + "typeString": "literal_string \"createClaim\"" + } + ], + "id": 5227, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "1943:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1943:24:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": true, + "functionSelector": "2384e105", + "id": 5235, + "mutability": "constant", + "name": "GET_TOKENS_FROM_CLAIM", + "nameLocation": "1995:21:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "1971:79:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5231, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1971:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "676574546f6b656e7346726f6d436c61696d", + "id": 5233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2029:20:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cfa8166f1bb1b8818c3767a9ffd776afbbe3409a468070bb860831e01b565499", + "typeString": "literal_string \"getTokensFromClaim\"" + }, + "value": "getTokensFromClaim" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cfa8166f1bb1b8818c3767a9ffd776afbbe3409a468070bb860831e01b565499", + "typeString": "literal_string \"getTokensFromClaim\"" + } + ], + "id": 5232, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "2019:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 5234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2019:31:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "7ecebe00", + "id": 5239, + "mutability": "mutable", + "name": "nonces", + "nameLocation": "2095:6:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2063:38:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 5238, + "keyType": { + "id": 5236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2071:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2063:24:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 5237, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "2082:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "785e9e86", + "id": 5242, + "mutability": "mutable", + "name": "erc20", + "nameLocation": "2229:5:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2211:23:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + }, + "typeName": { + "id": 5241, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5240, + "name": "RahatERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 8969, + "src": "2211:10:27" + }, + "referencedDeclaration": 8969, + "src": "2211:10:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "d56022d7", + "id": 5245, + "mutability": "mutable", + "name": "erc1155", + "nameLocation": "2261:7:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2241:27:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + }, + "typeName": { + "id": 5244, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5243, + "name": "RahatERC1155", + "nodeType": "IdentifierPath", + "referencedDeclaration": 8866, + "src": "2241:12:27" + }, + "referencedDeclaration": 8866, + "src": "2241:12:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "visibility": "public" + }, + { + "constant": false, + "documentation": { + "id": 5246, + "nodeType": "StructuredDocumentation", + "src": "2281:62:27", + "text": "@notice track total issued tokens of each benefiicary phone" + }, + "functionSelector": "055ee070", + "id": 5250, + "mutability": "mutable", + "name": "erc20Issued", + "nameLocation": "2384:11:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2349:46:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 5249, + "keyType": { + "id": 5247, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2357:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2349:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5248, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2368:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "cae22709", + "id": 5256, + "mutability": "mutable", + "name": "erc1155Issued", + "nameLocation": "2473:13:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2419:67:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + }, + "typeName": { + "id": 5255, + "keyType": { + "id": 5251, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2427:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2419:46:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + }, + "valueType": { + "id": 5254, + "keyType": { + "id": 5252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2445:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2437:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5253, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2456:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 5261, + "mutability": "mutable", + "name": "beneficiaryTokenIds", + "nameLocation": "2561:19:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2519:61:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet)" + }, + "typeName": { + "id": 5260, + "keyType": { + "id": 5257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2527:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2519:41:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet)" + }, + "valueType": { + "id": 5259, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5258, + "name": "EnumerableSet.UintSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4969, + "src": "2538:21:27" + }, + "referencedDeclaration": 4969, + "src": "2538:21:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "documentation": { + "id": 5262, + "nodeType": "StructuredDocumentation", + "src": "2592:52:27", + "text": "@notice track balances of each beneficiary phone" + }, + "functionSelector": "351c3d0b", + "id": 5266, + "mutability": "mutable", + "name": "erc20Balance", + "nameLocation": "2682:12:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2647:47:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 5265, + "keyType": { + "id": 5263, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2655:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2647:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5264, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2666:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "32a0749c", + "id": 5272, + "mutability": "mutable", + "name": "erc1155Balance", + "nameLocation": "2769:14:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2715:68:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + }, + "typeName": { + "id": 5271, + "keyType": { + "id": 5267, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2723:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2715:46:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + }, + "valueType": { + "id": 5270, + "keyType": { + "id": 5268, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2741:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2733:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2752:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "documentation": { + "id": 5273, + "nodeType": "StructuredDocumentation", + "src": "2817:33:27", + "text": "@notice track projectBalances" + }, + "id": 5276, + "mutability": "mutable", + "name": "projectId", + "nameLocation": "2918:9:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2885:42:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$4705_storage", + "typeString": "struct EnumerableSet.Bytes32Set" + }, + "typeName": { + "id": 5275, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5274, + "name": "EnumerableSet.Bytes32Set", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4705, + "src": "2885:24:27" + }, + "referencedDeclaration": 4705, + "src": "2885:24:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$4705_storage_ptr", + "typeString": "struct EnumerableSet.Bytes32Set" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5280, + "mutability": "mutable", + "name": "remainingProjectErc20Balances", + "nameLocation": "2959:29:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2931:57:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "typeName": { + "id": 5279, + "keyType": { + "id": 5277, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2939:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "2931:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + }, + "valueType": { + "id": 5278, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2950:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5286, + "mutability": "mutable", + "name": "remainingProjectErc1155Balances", + "nameLocation": "3039:31:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "2992:78:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + }, + "typeName": { + "id": 5285, + "keyType": { + "id": 5281, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3000:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "2992:46:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + }, + "valueType": { + "id": 5284, + "keyType": { + "id": 5282, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3018:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "3010:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5283, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3029:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5291, + "mutability": "mutable", + "name": "projectMobilizers", + "nameLocation": "3119:17:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3074:62:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet)" + }, + "typeName": { + "id": 5290, + "keyType": { + "id": 5287, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3082:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "3074:44:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet)" + }, + "valueType": { + "id": 5289, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5288, + "name": "EnumerableSet.AddressSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4812, + "src": "3093:24:27" + }, + "referencedDeclaration": 4812, + "src": "3093:24:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$4812_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5296, + "mutability": "mutable", + "name": "projectVendors", + "nameLocation": "3185:14:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3140:59:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet)" + }, + "typeName": { + "id": 5295, + "keyType": { + "id": 5292, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3148:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "3140:44:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet)" + }, + "valueType": { + "id": 5294, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5293, + "name": "EnumerableSet.AddressSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4812, + "src": "3159:24:27" + }, + "referencedDeclaration": 4812, + "src": "3159:24:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$4812_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "237c9db3", + "id": 5300, + "mutability": "mutable", + "name": "erc20IssuedBy", + "nameLocation": "3241:13:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3206:48:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 5299, + "keyType": { + "id": 5297, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3214:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3206:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 5298, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3225:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 5305, + "mutability": "mutable", + "name": "tokenIdsIssuedBy", + "nameLocation": "3300:16:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3258:58:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet)" + }, + "typeName": { + "id": 5304, + "keyType": { + "id": 5301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3266:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3258:41:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet)" + }, + "valueType": { + "id": 5303, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5302, + "name": "EnumerableSet.UintSet", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4969, + "src": "3277:21:27" + }, + "referencedDeclaration": 4969, + "src": "3277:21:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage_ptr", + "typeString": "struct EnumerableSet.UintSet" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "82d41dd2", + "id": 5311, + "mutability": "mutable", + "name": "erc1155IssuedBy", + "nameLocation": "3399:15:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3345:69:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + }, + "typeName": { + "id": 5310, + "keyType": { + "id": 5306, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3353:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3345:46:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + }, + "valueType": { + "id": 5309, + "keyType": { + "id": 5307, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3371:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "3363:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 5308, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3382:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "public" + }, + { + "canonicalName": "Rahat.claim", + "id": 5320, + "members": [ + { + "constant": false, + "id": 5313, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3482:6:27", + "nodeType": "VariableDeclaration", + "scope": 5320, + "src": "3474:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5312, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3474:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5315, + "mutability": "mutable", + "name": "otpHash", + "nameLocation": "3501:7:27", + "nodeType": "VariableDeclaration", + "scope": 5320, + "src": "3493:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5314, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3493:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5317, + "mutability": "mutable", + "name": "isReleased", + "nameLocation": "3518:10:27", + "nodeType": "VariableDeclaration", + "scope": 5320, + "src": "3513:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5316, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3513:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5319, + "mutability": "mutable", + "name": "date", + "nameLocation": "3541:4:27", + "nodeType": "VariableDeclaration", + "scope": 5320, + "src": "3533:12:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5318, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3533:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "claim", + "nameLocation": "3463:5:27", + "nodeType": "StructDefinition", + "scope": 7837, + "src": "3456:94:27", + "visibility": "public" + }, + { + "constant": false, + "documentation": { + "id": 5321, + "nodeType": "StructuredDocumentation", + "src": "3553:40:27", + "text": "@dev vendorAddress => phone => claim" + }, + "functionSelector": "d1e67167", + "id": 5328, + "mutability": "mutable", + "name": "recentERC20Claims", + "nameLocation": "3649:17:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3596:70:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim))" + }, + "typeName": { + "id": 5327, + "keyType": { + "id": 5322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3604:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3596:45:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim))" + }, + "valueType": { + "id": 5326, + "keyType": { + "id": 5323, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3623:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "3615:25:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim)" + }, + "valueType": { + "id": 5325, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5324, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "3634:5:27" + }, + "referencedDeclaration": 5320, + "src": "3634:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "2fb3eabf", + "id": 5337, + "mutability": "mutable", + "name": "recentERC1155Claims", + "nameLocation": "3743:19:27", + "nodeType": "VariableDeclaration", + "scope": 7837, + "src": "3670:92:27", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim)))" + }, + "typeName": { + "id": 5336, + "keyType": { + "id": 5329, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3678:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3670:65:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim)))" + }, + "valueType": { + "id": 5335, + "keyType": { + "id": 5330, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3697:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "3689:45:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim))" + }, + "valueType": { + "id": 5334, + "keyType": { + "id": 5331, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3716:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "3708:25:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim)" + }, + "valueType": { + "id": 5333, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5332, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "3727:5:27" + }, + "referencedDeclaration": 5320, + "src": "3727:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + } + } + } + }, + "visibility": "public" + }, + { + "body": { + "id": 5383, + "nodeType": "Block", + "src": "3872:277:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5349, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "3888:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5350, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967270, + "src": "3908:2:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 5351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "3908:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5348, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "3877:10:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3877:41:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5353, + "nodeType": "ExpressionStatement", + "src": "3877:41:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5355, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "3934:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5356, + "name": "_admin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5345, + "src": "3954:6:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5354, + "name": "_setupRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "3923:10:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3923:38:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5358, + "nodeType": "ExpressionStatement", + "src": "3923:38:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5360, + "name": "SERVER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5205, + "src": "3980:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5361, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "3993:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5359, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "3966:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 5362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3966:46:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5363, + "nodeType": "ExpressionStatement", + "src": "3966:46:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5365, + "name": "VENDOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5210, + "src": "4031:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5366, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "4044:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 5364, + "name": "_setRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "4017:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32)" + } + }, + "id": 5367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4017:46:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5368, + "nodeType": "ExpressionStatement", + "src": "4017:46:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5370, + "name": "SERVER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5205, + "src": "4078:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5371, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4091:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4091:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5369, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "4068:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4068:34:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5374, + "nodeType": "ExpressionStatement", + "src": "4068:34:27" + }, + { + "expression": { + "id": 5377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5375, + "name": "erc20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "4107:5:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5376, + "name": "_erc20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5340, + "src": "4115:6:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "src": "4107:14:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "id": 5378, + "nodeType": "ExpressionStatement", + "src": "4107:14:27" + }, + { + "expression": { + "id": 5381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5379, + "name": "erc1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5245, + "src": "4126:7:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5380, + "name": "_erc1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5343, + "src": "4136:8:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "src": "4126:18:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "id": 5382, + "nodeType": "ExpressionStatement", + "src": "4126:18:27" + } + ] + }, + "id": 5384, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5340, + "mutability": "mutable", + "name": "_erc20", + "nameLocation": "3825:6:27", + "nodeType": "VariableDeclaration", + "scope": 5384, + "src": "3814:17:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + }, + "typeName": { + "id": 5339, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5338, + "name": "RahatERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 8969, + "src": "3814:10:27" + }, + "referencedDeclaration": 8969, + "src": "3814:10:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5343, + "mutability": "mutable", + "name": "_erc1155", + "nameLocation": "3846:8:27", + "nodeType": "VariableDeclaration", + "scope": 5384, + "src": "3833:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + }, + "typeName": { + "id": 5342, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5341, + "name": "RahatERC1155", + "nodeType": "IdentifierPath", + "referencedDeclaration": 8866, + "src": "3833:12:27" + }, + "referencedDeclaration": 8866, + "src": "3833:12:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5345, + "mutability": "mutable", + "name": "_admin", + "nameLocation": "3864:6:27", + "nodeType": "VariableDeclaration", + "scope": 5384, + "src": "3856:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3856:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3813:58:27" + }, + "returnParameters": { + "id": 5347, + "nodeType": "ParameterList", + "parameters": [], + "src": "3872:0:27" + }, + "scope": 7837, + "src": "3802:347:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 62, + 2150 + ], + "body": { + "id": 5399, + "nodeType": "Block", + "src": "4283:54:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5396, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5386, + "src": "4321:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 5394, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "4297:5:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_Rahat_$7837_$", + "typeString": "type(contract super Rahat)" + } + }, + "id": 5395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 2150, + "src": "4297:23:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 5397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4297:36:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5393, + "id": 5398, + "nodeType": "Return", + "src": "4290:43:27" + } + ] + }, + "functionSelector": "01ffc9a7", + "id": 5400, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "4170:17:27", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5390, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 5388, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 306, + "src": "4237:13:27" + }, + { + "id": 5389, + "name": "ERC1155Receiver", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2151, + "src": "4251:15:27" + } + ], + "src": "4228:39:27" + }, + "parameters": { + "id": 5387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5386, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "4195:11:27", + "nodeType": "VariableDeclaration", + "scope": 5400, + "src": "4188:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5385, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4188:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "4187:20:27" + }, + "returnParameters": { + "id": 5393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5392, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5400, + "src": "4277:4:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5391, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4277:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4276:6:27" + }, + "scope": 7837, + "src": "4161:176:27", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 5412, + "nodeType": "Block", + "src": "4398:103:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5404, + "name": "SERVER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5205, + "src": "4419:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5405, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4432:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4432:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5403, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "4411:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 5407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4411:32:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a2053656e646572206d75737420626520616e20617574686f72697a656420736572766572", + "id": 5408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4445:44:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3c7443c6504f83de40c401595df36f2167c7a538b21a822874bf48b0e8a2b0f6", + "typeString": "literal_string \"RAHAT: Sender must be an authorized server\"" + }, + "value": "RAHAT: Sender must be an authorized server" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3c7443c6504f83de40c401595df36f2167c7a538b21a822874bf48b0e8a2b0f6", + "typeString": "literal_string \"RAHAT: Sender must be an authorized server\"" + } + ], + "id": 5402, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4403:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4403:87:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5410, + "nodeType": "ExpressionStatement", + "src": "4403:87:27" + }, + { + "id": 5411, + "nodeType": "PlaceholderStatement", + "src": "4495:1:27" + } + ] + }, + "id": 5413, + "name": "OnlyServer", + "nameLocation": "4385:10:27", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5401, + "nodeType": "ParameterList", + "parameters": [], + "src": "4395:2:27" + }, + "src": "4376:125:27", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5425, + "nodeType": "Block", + "src": "4523:99:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5417, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "4544:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5418, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4564:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4564:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5416, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "4536:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 5420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4536:39:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a2053656e646572206d75737420626520616e2061646d696e2e", + "id": 5421, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4577:33:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7514f88aca4c54d0d6afab23870ec72ecfd57a1311911970b281e4c95040adef", + "typeString": "literal_string \"RAHAT: Sender must be an admin.\"" + }, + "value": "RAHAT: Sender must be an admin." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7514f88aca4c54d0d6afab23870ec72ecfd57a1311911970b281e4c95040adef", + "typeString": "literal_string \"RAHAT: Sender must be an admin.\"" + } + ], + "id": 5415, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4528:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4528:83:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5423, + "nodeType": "ExpressionStatement", + "src": "4528:83:27" + }, + { + "id": 5424, + "nodeType": "PlaceholderStatement", + "src": "4616:1:27" + } + ] + }, + "id": 5426, + "name": "OnlyAdmin", + "nameLocation": "4513:9:27", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5414, + "nodeType": "ParameterList", + "parameters": [], + "src": "4523:0:27" + }, + "src": "4504:118:27", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5446, + "nodeType": "Block", + "src": "4664:140:27", + "statements": [ + { + "assignments": [ + 5431 + ], + "declarations": [ + { + "constant": false, + "id": 5431, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "4680:6:27", + "nodeType": "VariableDeclaration", + "scope": 5446, + "src": "4672:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5430, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4672:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5435, + "initialValue": { + "arguments": [ + { + "id": 5433, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5428, + "src": "4698:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5432, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "4689:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 5434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4689:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4672:33:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5441, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5437, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "4718:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5439, + "indexExpression": { + "id": 5438, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5428, + "src": "4731:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4718:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 5440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4742:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4718:25:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a204e6f20616e7920746f6b656e207761732069737375656420746f2074686973206e756d626572", + "id": 5442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4745:47:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6ed5bc9c1745a04176b681434ec327f68b5663ee1b4a9caf4e0e88f04797d4af", + "typeString": "literal_string \"RAHAT: No any token was issued to this number\"" + }, + "value": "RAHAT: No any token was issued to this number" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6ed5bc9c1745a04176b681434ec327f68b5663ee1b4a9caf4e0e88f04797d4af", + "typeString": "literal_string \"RAHAT: No any token was issued to this number\"" + } + ], + "id": 5436, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4710:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4710:83:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5444, + "nodeType": "ExpressionStatement", + "src": "4710:83:27" + }, + { + "id": 5445, + "nodeType": "PlaceholderStatement", + "src": "4798:1:27" + } + ] + }, + "id": 5447, + "name": "IsBeneficiary", + "nameLocation": "4634:13:27", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5429, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5428, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "4656:6:27", + "nodeType": "VariableDeclaration", + "scope": 5447, + "src": "4648:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5427, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4648:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4647:16:27" + }, + "src": "4625:179:27", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5459, + "nodeType": "Block", + "src": "4827:103:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5451, + "name": "VENDOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5210, + "src": "4848:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5452, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "4861:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4861:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5450, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "4840:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 5454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4840:32:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a2053656e646572204d757374206265206120726567697374657265642076656e646f722e", + "id": 5455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4874:44:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4f75d619c6e9241d2084c47952ac078e8a65938afbb86936eb24213e1f57428a", + "typeString": "literal_string \"RAHAT: Sender Must be a registered vendor.\"" + }, + "value": "RAHAT: Sender Must be a registered vendor." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4f75d619c6e9241d2084c47952ac078e8a65938afbb86936eb24213e1f57428a", + "typeString": "literal_string \"RAHAT: Sender Must be a registered vendor.\"" + } + ], + "id": 5449, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4832:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4832:87:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5457, + "nodeType": "ExpressionStatement", + "src": "4832:87:27" + }, + { + "id": 5458, + "nodeType": "PlaceholderStatement", + "src": "4924:1:27" + } + ] + }, + "id": 5460, + "name": "OnlyVendor", + "nameLocation": "4816:10:27", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5448, + "nodeType": "ParameterList", + "parameters": [], + "src": "4827:0:27" + }, + "src": "4807:123:27", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5479, + "nodeType": "Block", + "src": "4963:170:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 5464, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "4988:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5465, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "5008:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5008:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5463, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "4980:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 5467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4980:39:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 5469, + "name": "MOBILIZER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "5031:14:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 5470, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "5047:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5047:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5468, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "5023:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 5472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5023:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4980:78:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 5474, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4979:80:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a2053656e646572204d757374206265206120726567697374657265642041646d696e204f72204d6f62696c697a65722e", + "id": 5475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5061:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_365ba3947c2bf2b10dc335d80037be4b757978e5f1fd7be5c3a47295c3dea668", + "typeString": "literal_string \"RAHAT: Sender Must be a registered Admin Or Mobilizer.\"" + }, + "value": "RAHAT: Sender Must be a registered Admin Or Mobilizer." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_365ba3947c2bf2b10dc335d80037be4b757978e5f1fd7be5c3a47295c3dea668", + "typeString": "literal_string \"RAHAT: Sender Must be a registered Admin Or Mobilizer.\"" + } + ], + "id": 5462, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "4971:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4971:147:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5477, + "nodeType": "ExpressionStatement", + "src": "4971:147:27" + }, + { + "id": 5478, + "nodeType": "PlaceholderStatement", + "src": "5127:1:27" + } + ] + }, + "id": 5480, + "name": "OnlyAdminOrMobilizer", + "nameLocation": "4942:20:27", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 5461, + "nodeType": "ParameterList", + "parameters": [], + "src": "4963:0:27" + }, + "src": "4933:200:27", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5491, + "nodeType": "Block", + "src": "5333:49:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5487, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "5348:18:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5488, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5483, + "src": "5368:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5486, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "5338:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5338:39:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5490, + "nodeType": "ExpressionStatement", + "src": "5338:39:27" + } + ] + }, + "documentation": { + "id": 5481, + "nodeType": "StructuredDocumentation", + "src": "5198:89:27", + "text": "@notice add admin of the this contract\n @param _account address of the new admin" + }, + "functionSelector": "70480275", + "id": 5492, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addAdmin", + "nameLocation": "5299:8:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5483, + "mutability": "mutable", + "name": "_account", + "nameLocation": "5316:8:27", + "nodeType": "VariableDeclaration", + "scope": 5492, + "src": "5308:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5482, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5308:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5307:18:27" + }, + "returnParameters": { + "id": 5485, + "nodeType": "ParameterList", + "parameters": [], + "src": "5333:0:27" + }, + "scope": 7837, + "src": "5290:92:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5503, + "nodeType": "Block", + "src": "5538:42:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5499, + "name": "SERVER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5205, + "src": "5553:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5500, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5495, + "src": "5566:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5498, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "5543:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5543:32:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5502, + "nodeType": "ExpressionStatement", + "src": "5543:32:27" + } + ] + }, + "documentation": { + "id": 5493, + "nodeType": "StructuredDocumentation", + "src": "5387:104:27", + "text": "@notice add server account for this contract\n @param _account address of the new server account" + }, + "functionSelector": "5cbd99d4", + "id": 5504, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addServer", + "nameLocation": "5503:9:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5495, + "mutability": "mutable", + "name": "_account", + "nameLocation": "5521:8:27", + "nodeType": "VariableDeclaration", + "scope": 5504, + "src": "5513:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5513:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5512:18:27" + }, + "returnParameters": { + "id": 5497, + "nodeType": "ParameterList", + "parameters": [], + "src": "5538:0:27" + }, + "scope": 7837, + "src": "5494:86:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5515, + "nodeType": "Block", + "src": "5703:42:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5511, + "name": "VENDOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5210, + "src": "5718:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5512, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5507, + "src": "5731:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5510, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "5708:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5708:32:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5514, + "nodeType": "ExpressionStatement", + "src": "5708:32:27" + } + ] + }, + "documentation": { + "id": 5505, + "nodeType": "StructuredDocumentation", + "src": "5585:71:27", + "text": "@notice add vendors\n @param _account address of the new vendor" + }, + "functionSelector": "45e0f753", + "id": 5516, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addVendor", + "nameLocation": "5668:9:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5508, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5507, + "mutability": "mutable", + "name": "_account", + "nameLocation": "5686:8:27", + "nodeType": "VariableDeclaration", + "scope": 5516, + "src": "5678:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5506, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5678:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5677:18:27" + }, + "returnParameters": { + "id": 5509, + "nodeType": "ParameterList", + "parameters": [], + "src": "5703:0:27" + }, + "scope": 7837, + "src": "5659:86:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5542, + "nodeType": "Block", + "src": "5900:131:27", + "statements": [ + { + "assignments": [ + 5525 + ], + "declarations": [ + { + "constant": false, + "id": 5525, + "mutability": "mutable", + "name": "_id", + "nameLocation": "5916:3:27", + "nodeType": "VariableDeclaration", + "scope": 5542, + "src": "5908:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5524, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5908:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 5529, + "initialValue": { + "arguments": [ + { + "id": 5527, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "5931:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 5526, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "5922:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 5528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5922:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5908:34:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5531, + "name": "MOBILIZER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "5957:14:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5532, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5519, + "src": "5973:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5530, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "5947:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 5533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5947:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5534, + "nodeType": "ExpressionStatement", + "src": "5947:35:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5539, + "name": "_account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5519, + "src": "6014:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "baseExpression": { + "id": 5535, + "name": "projectMobilizers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5291, + "src": "5987:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet storage ref)" + } + }, + "id": 5537, + "indexExpression": { + "id": 5536, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5525, + "src": "6005:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5987:22:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$4812_storage", + "typeString": "struct EnumerableSet.AddressSet storage ref" + } + }, + "id": 5538, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 4839, + "src": "5987:26:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AddressSet_$4812_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_AddressSet_$4812_storage_ptr_$", + "typeString": "function (struct EnumerableSet.AddressSet storage pointer,address) returns (bool)" + } + }, + "id": 5540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5987:36:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5541, + "nodeType": "ExpressionStatement", + "src": "5987:36:27" + } + ] + }, + "documentation": { + "id": 5517, + "nodeType": "StructuredDocumentation", + "src": "5754:71:27", + "text": "@notice add vendors\n @param _account address of the new vendor" + }, + "functionSelector": "eaad46f5", + "id": 5543, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addMobilizer", + "nameLocation": "5837:12:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5522, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5519, + "mutability": "mutable", + "name": "_account", + "nameLocation": "5858:8:27", + "nodeType": "VariableDeclaration", + "scope": 5543, + "src": "5850:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5850:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5521, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "5881:10:27", + "nodeType": "VariableDeclaration", + "scope": 5543, + "src": "5867:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5520, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5867:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5849:43:27" + }, + "returnParameters": { + "id": 5523, + "nodeType": "ParameterList", + "parameters": [], + "src": "5900:0:27" + }, + "scope": 7837, + "src": "5828:203:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5632, + "nodeType": "Block", + "src": "6157:548:27", + "statements": [ + { + "assignments": [ + 5555 + ], + "declarations": [ + { + "constant": false, + "id": 5555, + "mutability": "mutable", + "name": "i", + "nameLocation": "6174:1:27", + "nodeType": "VariableDeclaration", + "scope": 5632, + "src": "6166:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6166:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5556, + "nodeType": "VariableDeclarationStatement", + "src": "6166:9:27" + }, + { + "assignments": [ + 5558 + ], + "declarations": [ + { + "constant": false, + "id": 5558, + "mutability": "mutable", + "name": "_totalERC1155", + "nameLocation": "6194:13:27", + "nodeType": "VariableDeclaration", + "scope": 5632, + "src": "6186:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5557, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6186:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5564, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "baseExpression": { + "id": 5559, + "name": "beneficiaryTokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5261, + "src": "6210:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5561, + "indexExpression": { + "id": 5560, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5545, + "src": "6230:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6210:27:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5562, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": 5047, + "src": "6210:34:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)" + } + }, + "id": 5563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6210:36:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6186:60:27" + }, + { + "assignments": [ + 5569 + ], + "declarations": [ + { + "constant": false, + "id": 5569, + "mutability": "mutable", + "name": "_tokenIds", + "nameLocation": "6274:9:27", + "nodeType": "VariableDeclaration", + "scope": 5632, + "src": "6257:26:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5567, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6257:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5568, + "nodeType": "ArrayTypeName", + "src": "6257:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 5575, + "initialValue": { + "arguments": [ + { + "id": 5573, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5558, + "src": "6300:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5572, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "6286:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 5570, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6290:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5571, + "nodeType": "ArrayTypeName", + "src": "6290:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 5574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6286:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6257:57:27" + }, + { + "assignments": [ + 5580 + ], + "declarations": [ + { + "constant": false, + "id": 5580, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "6342:9:27", + "nodeType": "VariableDeclaration", + "scope": 5632, + "src": "6325:26:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5578, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6325:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5579, + "nodeType": "ArrayTypeName", + "src": "6325:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 5586, + "initialValue": { + "arguments": [ + { + "id": 5584, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5558, + "src": "6368:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "6354:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 5581, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6358:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5582, + "nodeType": "ArrayTypeName", + "src": "6358:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 5585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6354:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6325:57:27" + }, + { + "body": { + "id": 5626, + "nodeType": "Block", + "src": "6432:220:27", + "statements": [ + { + "assignments": [ + 5598 + ], + "declarations": [ + { + "constant": false, + "id": 5598, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "6455:8:27", + "nodeType": "VariableDeclaration", + "scope": 5626, + "src": "6447:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5597, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6447:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5605, + "initialValue": { + "arguments": [ + { + "id": 5603, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "6497:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "baseExpression": { + "id": 5599, + "name": "beneficiaryTokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5261, + "src": "6466:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5601, + "indexExpression": { + "id": 5600, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5545, + "src": "6486:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6466:27:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5602, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "at", + "nodeType": "MemberAccess", + "referencedDeclaration": 5068, + "src": "6466:30:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)" + } + }, + "id": 5604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6466:33:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6447:52:27" + }, + { + "assignments": [ + 5607 + ], + "declarations": [ + { + "constant": false, + "id": 5607, + "mutability": "mutable", + "name": "_balance", + "nameLocation": "6522:8:27", + "nodeType": "VariableDeclaration", + "scope": 5626, + "src": "6514:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5606, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6514:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5613, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 5608, + "name": "erc1155Issued", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5256, + "src": "6533:13:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 5610, + "indexExpression": { + "id": 5609, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5545, + "src": "6547:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6533:21:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5612, + "indexExpression": { + "id": 5611, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5598, + "src": "6555:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6533:31:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6514:50:27" + }, + { + "expression": { + "id": 5618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5614, + "name": "_tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5569, + "src": "6579:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 5616, + "indexExpression": { + "id": 5615, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "6589:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6579:12:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5617, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5598, + "src": "6594:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6579:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5619, + "nodeType": "ExpressionStatement", + "src": "6579:23:27" + }, + { + "expression": { + "id": 5624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5620, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5580, + "src": "6617:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 5622, + "indexExpression": { + "id": 5621, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "6627:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6617:12:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5623, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5607, + "src": "6632:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6617:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5625, + "nodeType": "ExpressionStatement", + "src": "6617:23:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5591, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "6412:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5592, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5558, + "src": "6414:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6412:15:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5627, + "initializationExpression": { + "expression": { + "id": 5589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5587, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "6408:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 5588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6410:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6408:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5590, + "nodeType": "ExpressionStatement", + "src": "6408:3:27" + }, + "loopExpression": { + "expression": { + "id": 5595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "6428:3:27", + "subExpression": { + "id": 5594, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5555, + "src": "6428:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5596, + "nodeType": "ExpressionStatement", + "src": "6428:3:27" + }, + "nodeType": "ForStatement", + "src": "6403:249:27" + }, + { + "expression": { + "components": [ + { + "id": 5628, + "name": "_tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5569, + "src": "6680:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 5629, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5580, + "src": "6690:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 5630, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "6679:21:27", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "functionReturnParameters": 5553, + "id": 5631, + "nodeType": "Return", + "src": "6672:28:27" + } + ] + }, + "functionSelector": "d0e65d14", + "id": 5633, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalERC1155Issued", + "nameLocation": "6046:21:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5546, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5545, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "6076:6:27", + "nodeType": "VariableDeclaration", + "scope": 5633, + "src": "6068:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6068:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6067:16:27" + }, + "returnParameters": { + "id": 5553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5549, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "6121:8:27", + "nodeType": "VariableDeclaration", + "scope": 5633, + "src": "6104:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6104:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5548, + "nodeType": "ArrayTypeName", + "src": "6104:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5552, + "mutability": "mutable", + "name": "balances", + "nameLocation": "6147:8:27", + "nodeType": "VariableDeclaration", + "scope": 5633, + "src": "6130:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5550, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6130:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5551, + "nodeType": "ArrayTypeName", + "src": "6130:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "6103:53:27" + }, + "scope": 7837, + "src": "6037:668:27", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5722, + "nodeType": "Block", + "src": "6832:549:27", + "statements": [ + { + "assignments": [ + 5645 + ], + "declarations": [ + { + "constant": false, + "id": 5645, + "mutability": "mutable", + "name": "i", + "nameLocation": "6849:1:27", + "nodeType": "VariableDeclaration", + "scope": 5722, + "src": "6841:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5644, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6841:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5646, + "nodeType": "VariableDeclarationStatement", + "src": "6841:9:27" + }, + { + "assignments": [ + 5648 + ], + "declarations": [ + { + "constant": false, + "id": 5648, + "mutability": "mutable", + "name": "_totalERC1155", + "nameLocation": "6869:13:27", + "nodeType": "VariableDeclaration", + "scope": 5722, + "src": "6861:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5647, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6861:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5654, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "baseExpression": { + "id": 5649, + "name": "beneficiaryTokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5261, + "src": "6885:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5651, + "indexExpression": { + "id": 5650, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5635, + "src": "6905:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6885:27:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5652, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": 5047, + "src": "6885:34:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)" + } + }, + "id": 5653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6885:36:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6861:60:27" + }, + { + "assignments": [ + 5659 + ], + "declarations": [ + { + "constant": false, + "id": 5659, + "mutability": "mutable", + "name": "_tokenIds", + "nameLocation": "6949:9:27", + "nodeType": "VariableDeclaration", + "scope": 5722, + "src": "6932:26:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5657, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6932:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5658, + "nodeType": "ArrayTypeName", + "src": "6932:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 5665, + "initialValue": { + "arguments": [ + { + "id": 5663, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5648, + "src": "6975:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "6961:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 5660, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6965:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5661, + "nodeType": "ArrayTypeName", + "src": "6965:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 5664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6961:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6932:57:27" + }, + { + "assignments": [ + 5670 + ], + "declarations": [ + { + "constant": false, + "id": 5670, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "7017:9:27", + "nodeType": "VariableDeclaration", + "scope": 5722, + "src": "7000:26:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7000:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5669, + "nodeType": "ArrayTypeName", + "src": "7000:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 5676, + "initialValue": { + "arguments": [ + { + "id": 5674, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5648, + "src": "7043:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "7029:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 5671, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7033:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5672, + "nodeType": "ArrayTypeName", + "src": "7033:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 5675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7029:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7000:57:27" + }, + { + "body": { + "id": 5716, + "nodeType": "Block", + "src": "7107:221:27", + "statements": [ + { + "assignments": [ + 5688 + ], + "declarations": [ + { + "constant": false, + "id": 5688, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "7130:8:27", + "nodeType": "VariableDeclaration", + "scope": 5716, + "src": "7122:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5687, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7122:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5695, + "initialValue": { + "arguments": [ + { + "id": 5693, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5645, + "src": "7172:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "baseExpression": { + "id": 5689, + "name": "beneficiaryTokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5261, + "src": "7141:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5691, + "indexExpression": { + "id": 5690, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5635, + "src": "7161:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7141:27:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5692, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "at", + "nodeType": "MemberAccess", + "referencedDeclaration": 5068, + "src": "7141:30:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)" + } + }, + "id": 5694, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7141:33:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7122:52:27" + }, + { + "assignments": [ + 5697 + ], + "declarations": [ + { + "constant": false, + "id": 5697, + "mutability": "mutable", + "name": "_balance", + "nameLocation": "7197:8:27", + "nodeType": "VariableDeclaration", + "scope": 5716, + "src": "7189:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5696, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7189:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5703, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 5698, + "name": "erc1155Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "7208:14:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 5700, + "indexExpression": { + "id": 5699, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5635, + "src": "7223:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7208:22:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5702, + "indexExpression": { + "id": 5701, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5688, + "src": "7231:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7208:32:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7189:51:27" + }, + { + "expression": { + "id": 5708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5704, + "name": "_tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5659, + "src": "7255:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 5706, + "indexExpression": { + "id": 5705, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5645, + "src": "7265:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7255:12:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5707, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5688, + "src": "7270:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7255:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5709, + "nodeType": "ExpressionStatement", + "src": "7255:23:27" + }, + { + "expression": { + "id": 5714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5710, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5670, + "src": "7293:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 5712, + "indexExpression": { + "id": 5711, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5645, + "src": "7303:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7293:12:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5713, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5697, + "src": "7308:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7293:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5715, + "nodeType": "ExpressionStatement", + "src": "7293:23:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5683, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5681, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5645, + "src": "7087:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5682, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5648, + "src": "7089:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7087:15:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5717, + "initializationExpression": { + "expression": { + "id": 5679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5677, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5645, + "src": "7083:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 5678, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7085:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7083:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5680, + "nodeType": "ExpressionStatement", + "src": "7083:3:27" + }, + "loopExpression": { + "expression": { + "id": 5685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "7103:3:27", + "subExpression": { + "id": 5684, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5645, + "src": "7103:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5686, + "nodeType": "ExpressionStatement", + "src": "7103:3:27" + }, + "nodeType": "ForStatement", + "src": "7078:250:27" + }, + { + "expression": { + "components": [ + { + "id": 5718, + "name": "_tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5659, + "src": "7356:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 5719, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5670, + "src": "7366:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 5720, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7355:21:27", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "functionReturnParameters": 5643, + "id": 5721, + "nodeType": "Return", + "src": "7348:28:27" + } + ] + }, + "functionSelector": "a067ddfe", + "id": 5723, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalERC1155Balance", + "nameLocation": "6720:22:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5636, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5635, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "6751:6:27", + "nodeType": "VariableDeclaration", + "scope": 5723, + "src": "6743:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5634, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6743:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6742:16:27" + }, + "returnParameters": { + "id": 5643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5639, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "6796:8:27", + "nodeType": "VariableDeclaration", + "scope": 5723, + "src": "6779:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5637, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6779:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5638, + "nodeType": "ArrayTypeName", + "src": "6779:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5642, + "mutability": "mutable", + "name": "balances", + "nameLocation": "6822:8:27", + "nodeType": "VariableDeclaration", + "scope": 5723, + "src": "6805:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5640, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6805:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5641, + "nodeType": "ArrayTypeName", + "src": "6805:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "6778:53:27" + }, + "scope": 7837, + "src": "6711:670:27", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5812, + "nodeType": "Block", + "src": "7511:544:27", + "statements": [ + { + "assignments": [ + 5735 + ], + "declarations": [ + { + "constant": false, + "id": 5735, + "mutability": "mutable", + "name": "i", + "nameLocation": "7527:1:27", + "nodeType": "VariableDeclaration", + "scope": 5812, + "src": "7519:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5734, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7519:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5736, + "nodeType": "VariableDeclarationStatement", + "src": "7519:9:27" + }, + { + "assignments": [ + 5738 + ], + "declarations": [ + { + "constant": false, + "id": 5738, + "mutability": "mutable", + "name": "_totalERC1155", + "nameLocation": "7544:13:27", + "nodeType": "VariableDeclaration", + "scope": 5812, + "src": "7536:21:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5737, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7536:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5744, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "baseExpression": { + "id": 5739, + "name": "tokenIdsIssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5305, + "src": "7560:16:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5741, + "indexExpression": { + "id": 5740, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5725, + "src": "7577:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7560:26:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5742, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "referencedDeclaration": 5047, + "src": "7560:33:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)" + } + }, + "id": 5743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7560:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7536:59:27" + }, + { + "assignments": [ + 5749 + ], + "declarations": [ + { + "constant": false, + "id": 5749, + "mutability": "mutable", + "name": "_tokenIds", + "nameLocation": "7620:9:27", + "nodeType": "VariableDeclaration", + "scope": 5812, + "src": "7603:26:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5747, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7603:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5748, + "nodeType": "ArrayTypeName", + "src": "7603:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 5755, + "initialValue": { + "arguments": [ + { + "id": 5753, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5738, + "src": "7646:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "7632:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 5750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7636:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5751, + "nodeType": "ArrayTypeName", + "src": "7636:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 5754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7632:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7603:57:27" + }, + { + "assignments": [ + 5760 + ], + "declarations": [ + { + "constant": false, + "id": 5760, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "7688:9:27", + "nodeType": "VariableDeclaration", + "scope": 5812, + "src": "7671:26:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7671:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5759, + "nodeType": "ArrayTypeName", + "src": "7671:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 5766, + "initialValue": { + "arguments": [ + { + "id": 5764, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5738, + "src": "7714:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "7700:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 5761, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7704:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5762, + "nodeType": "ArrayTypeName", + "src": "7704:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 5765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7700:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7671:57:27" + }, + { + "body": { + "id": 5806, + "nodeType": "Block", + "src": "7779:223:27", + "statements": [ + { + "assignments": [ + 5778 + ], + "declarations": [ + { + "constant": false, + "id": 5778, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "7802:8:27", + "nodeType": "VariableDeclaration", + "scope": 5806, + "src": "7794:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5777, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7794:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5785, + "initialValue": { + "arguments": [ + { + "id": 5783, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5735, + "src": "7843:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "baseExpression": { + "id": 5779, + "name": "tokenIdsIssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5305, + "src": "7813:16:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5781, + "indexExpression": { + "id": 5780, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5725, + "src": "7830:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7813:26:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5782, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "at", + "nodeType": "MemberAccess", + "referencedDeclaration": 5068, + "src": "7813:29:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)" + } + }, + "id": 5784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7813:32:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7794:51:27" + }, + { + "assignments": [ + 5787 + ], + "declarations": [ + { + "constant": false, + "id": 5787, + "mutability": "mutable", + "name": "_balance", + "nameLocation": "7868:8:27", + "nodeType": "VariableDeclaration", + "scope": 5806, + "src": "7860:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5786, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7860:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5793, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 5788, + "name": "erc1155IssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5311, + "src": "7879:15:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 5790, + "indexExpression": { + "id": 5789, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5725, + "src": "7895:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7879:25:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5792, + "indexExpression": { + "id": 5791, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5778, + "src": "7905:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7879:35:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7860:54:27" + }, + { + "expression": { + "id": 5798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5794, + "name": "_tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5749, + "src": "7929:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 5796, + "indexExpression": { + "id": 5795, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5735, + "src": "7939:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7929:12:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5797, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5778, + "src": "7944:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7929:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5799, + "nodeType": "ExpressionStatement", + "src": "7929:23:27" + }, + { + "expression": { + "id": 5804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5800, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5760, + "src": "7967:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 5802, + "indexExpression": { + "id": 5801, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5735, + "src": "7977:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7967:12:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5803, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5787, + "src": "7982:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7967:23:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5805, + "nodeType": "ExpressionStatement", + "src": "7967:23:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5771, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5735, + "src": "7759:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5772, + "name": "_totalERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5738, + "src": "7761:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7759:15:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5807, + "initializationExpression": { + "expression": { + "id": 5769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5767, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5735, + "src": "7755:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 5768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7757:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7755:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5770, + "nodeType": "ExpressionStatement", + "src": "7755:3:27" + }, + "loopExpression": { + "expression": { + "id": 5775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "7775:3:27", + "subExpression": { + "id": 5774, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5735, + "src": "7775:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5776, + "nodeType": "ExpressionStatement", + "src": "7775:3:27" + }, + "nodeType": "ForStatement", + "src": "7750:252:27" + }, + { + "expression": { + "components": [ + { + "id": 5808, + "name": "_tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5749, + "src": "8030:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 5809, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5760, + "src": "8040:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "id": 5810, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8029:21:27", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "tuple(uint256[] memory,uint256[] memory)" + } + }, + "functionReturnParameters": 5733, + "id": 5811, + "nodeType": "Return", + "src": "8022:28:27" + } + ] + }, + "functionSelector": "b32ca289", + "id": 5813, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTotalERC1155IssuedBy", + "nameLocation": "7396:23:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5725, + "mutability": "mutable", + "name": "_address", + "nameLocation": "7428:8:27", + "nodeType": "VariableDeclaration", + "scope": 5813, + "src": "7420:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5724, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7420:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7419:18:27" + }, + "returnParameters": { + "id": 5733, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5729, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "7475:8:27", + "nodeType": "VariableDeclaration", + "scope": 5813, + "src": "7458:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5727, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7458:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5728, + "nodeType": "ArrayTypeName", + "src": "7458:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5732, + "mutability": "mutable", + "name": "balances", + "nameLocation": "7501:8:27", + "nodeType": "VariableDeclaration", + "scope": 5813, + "src": "7484:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5730, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7484:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5731, + "nodeType": "ArrayTypeName", + "src": "7484:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "7457:53:27" + }, + "scope": 7837, + "src": "7387:668:27", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5827, + "nodeType": "Block", + "src": "8161:62:27", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "baseExpression": { + "id": 5821, + "name": "beneficiaryTokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5261, + "src": "8179:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5823, + "indexExpression": { + "id": 5822, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5815, + "src": "8199:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8179:27:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5824, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "values", + "nodeType": "MemberAccess", + "referencedDeclaration": 5098, + "src": "8179:34:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256[] memory)" + } + }, + "id": 5825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8179:36:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 5820, + "id": 5826, + "nodeType": "Return", + "src": "8172:43:27" + } + ] + }, + "functionSelector": "48f20476", + "id": 5828, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTokenIdsOfBeneficiary", + "nameLocation": "8074:24:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5815, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "8107:6:27", + "nodeType": "VariableDeclaration", + "scope": 5828, + "src": "8099:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8099:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8098:16:27" + }, + "returnParameters": { + "id": 5820, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5819, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "8152:8:27", + "nodeType": "VariableDeclaration", + "scope": 5828, + "src": "8135:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5817, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8135:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5818, + "nodeType": "ArrayTypeName", + "src": "8135:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "8134:27:27" + }, + "scope": 7837, + "src": "8065:158:27", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5842, + "nodeType": "Block", + "src": "8328:61:27", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "baseExpression": { + "id": 5836, + "name": "tokenIdsIssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5305, + "src": "8346:16:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 5838, + "indexExpression": { + "id": 5837, + "name": "_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5830, + "src": "8363:8:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8346:26:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 5839, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "values", + "nodeType": "MemberAccess", + "referencedDeclaration": 5098, + "src": "8346:33:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$4969_storage_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256[] memory)" + } + }, + "id": 5840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8346:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 5835, + "id": 5841, + "nodeType": "Return", + "src": "8339:42:27" + } + ] + }, + "functionSelector": "f5216216", + "id": 5843, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTokenIdsIssuedBy", + "nameLocation": "8244:19:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5831, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5830, + "mutability": "mutable", + "name": "_address", + "nameLocation": "8272:8:27", + "nodeType": "VariableDeclaration", + "scope": 5843, + "src": "8264:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5829, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8264:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8263:18:27" + }, + "returnParameters": { + "id": 5835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5834, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "8319:8:27", + "nodeType": "VariableDeclaration", + "scope": 5843, + "src": "8302:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 5832, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8302:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5833, + "nodeType": "ArrayTypeName", + "src": "8302:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "8301:27:27" + }, + "scope": 7837, + "src": "8235:154:27", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5846, + "nodeType": "Block", + "src": "8437:7:27", + "statements": [] + }, + "functionSelector": "f708ccab", + "id": 5847, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "suspendMobilizer", + "nameLocation": "8411:16:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5844, + "nodeType": "ParameterList", + "parameters": [], + "src": "8427:2:27" + }, + "returnParameters": { + "id": 5845, + "nodeType": "ParameterList", + "parameters": [], + "src": "8437:0:27" + }, + "scope": 7837, + "src": "8402:42:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5850, + "nodeType": "Block", + "src": "8479:9:27", + "statements": [] + }, + "functionSelector": "0241a5b3", + "id": 5851, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "suspendVendor", + "nameLocation": "8456:13:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5848, + "nodeType": "ParameterList", + "parameters": [], + "src": "8469:2:27" + }, + "returnParameters": { + "id": 5849, + "nodeType": "ParameterList", + "parameters": [], + "src": "8479:0:27" + }, + "scope": 7837, + "src": "8447:41:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5881, + "nodeType": "Block", + "src": "8811:192:27", + "statements": [ + { + "assignments": [ + 5865 + ], + "declarations": [ + { + "constant": false, + "id": 5865, + "mutability": "mutable", + "name": "_balance", + "nameLocation": "8869:8:27", + "nodeType": "VariableDeclaration", + "scope": 5881, + "src": "8861:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5864, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8861:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 5869, + "initialValue": { + "baseExpression": { + "id": 5866, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "8880:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5868, + "indexExpression": { + "id": 5867, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "8893:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8880:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8861:39:27" + }, + { + "expression": { + "id": 5874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5870, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "8905:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 5872, + "indexExpression": { + "id": 5871, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5856, + "src": "8935:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8905:41:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 5873, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5865, + "src": "8950:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8905:53:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5875, + "nodeType": "ExpressionStatement", + "src": "8905:53:27" + }, + { + "expression": { + "arguments": [ + { + "id": 5877, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "8981:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5878, + "name": "_balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5865, + "src": "8989:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5876, + "name": "adjustTokenDeduct", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5937, + 5990 + ], + "referencedDeclaration": 5937, + "src": "8963:17:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 5879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8963:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5880, + "nodeType": "ExpressionStatement", + "src": "8963:35:27" + } + ] + }, + "documentation": { + "id": 5852, + "nodeType": "StructuredDocumentation", + "src": "8518:185:27", + "text": "@notice suspend the benficiary by deducting all the balance beneficiary owns\n @param _phone phone number of the Beneficiary\n @param _projectId projectId of the beneficiary" + }, + "functionSelector": "2aef0c30", + "id": 5882, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5859, + "kind": "modifierInvocation", + "modifierName": { + "id": 5858, + "name": "OnlyServer", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5413, + "src": "8778:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "8778:10:27" + }, + { + "arguments": [ + { + "id": 5861, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5854, + "src": "8803:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5862, + "kind": "modifierInvocation", + "modifierName": { + "id": 5860, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "8789:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "8789:21:27" + } + ], + "name": "suspendBeneficiary", + "nameLocation": "8715:18:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5854, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "8742:6:27", + "nodeType": "VariableDeclaration", + "scope": 5882, + "src": "8734:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8734:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5856, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "8759:10:27", + "nodeType": "VariableDeclaration", + "scope": 5882, + "src": "8751:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5855, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8751:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "8733:37:27" + }, + "returnParameters": { + "id": 5863, + "nodeType": "ParameterList", + "parameters": [], + "src": "8811:0:27" + }, + "scope": 7837, + "src": "8706:297:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5912, + "nodeType": "Block", + "src": "9128:215:27", + "statements": [ + { + "expression": { + "id": 5900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5892, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "9176:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5894, + "indexExpression": { + "id": 5893, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "9189:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9176:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5895, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "9199:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5897, + "indexExpression": { + "id": 5896, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "9212:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9199:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 5898, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5887, + "src": "9222:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9199:30:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9176:53:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5901, + "nodeType": "ExpressionStatement", + "src": "9176:53:27" + }, + { + "expression": { + "id": 5910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5902, + "name": "erc20Issued", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5250, + "src": "9234:11:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5904, + "indexExpression": { + "id": 5903, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "9246:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9234:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5905, + "name": "erc20Issued", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5250, + "src": "9256:11:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5907, + "indexExpression": { + "id": 5906, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5885, + "src": "9268:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9256:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 5908, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5887, + "src": "9278:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9256:29:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9234:51:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5911, + "nodeType": "ExpressionStatement", + "src": "9234:51:27" + } + ] + }, + "documentation": { + "id": 5883, + "nodeType": "StructuredDocumentation", + "src": "9008:43:27", + "text": "@notice adds the token from beneficiary" + }, + "functionSelector": "f9b5bf90", + "id": 5913, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5890, + "kind": "modifierInvocation", + "modifierName": { + "id": 5889, + "name": "OnlyAdmin", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5426, + "src": "9118:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "9118:9:27" + } + ], + "name": "adjustTokenAdd", + "nameLocation": "9063:14:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5888, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5885, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "9086:6:27", + "nodeType": "VariableDeclaration", + "scope": 5913, + "src": "9078:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9078:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5887, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "9102:7:27", + "nodeType": "VariableDeclaration", + "scope": 5913, + "src": "9094:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5886, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9094:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9077:33:27" + }, + "returnParameters": { + "id": 5891, + "nodeType": "ParameterList", + "parameters": [], + "src": "9128:0:27" + }, + "scope": 7837, + "src": "9054:289:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5936, + "nodeType": "Block", + "src": "9496:159:27", + "statements": [ + { + "expression": { + "id": 5934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5926, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "9544:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5928, + "indexExpression": { + "id": 5927, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "9557:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9544:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5929, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "9567:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5931, + "indexExpression": { + "id": 5930, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "9580:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9567:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 5932, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5918, + "src": "9590:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9567:30:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9544:53:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5935, + "nodeType": "ExpressionStatement", + "src": "9544:53:27" + } + ] + }, + "documentation": { + "id": 5914, + "nodeType": "StructuredDocumentation", + "src": "9348:46:27", + "text": "@notice deducts the token from beneficiary" + }, + "functionSelector": "bf6b867b", + "id": 5937, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5921, + "kind": "modifierInvocation", + "modifierName": { + "id": 5920, + "name": "OnlyAdmin", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5426, + "src": "9464:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "9464:9:27" + }, + { + "arguments": [ + { + "id": 5923, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "9488:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5924, + "kind": "modifierInvocation", + "modifierName": { + "id": 5922, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "9474:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "9474:21:27" + } + ], + "name": "adjustTokenDeduct", + "nameLocation": "9406:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5919, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5916, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "9432:6:27", + "nodeType": "VariableDeclaration", + "scope": 5937, + "src": "9424:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5915, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9424:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5918, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "9448:7:27", + "nodeType": "VariableDeclaration", + "scope": 5937, + "src": "9440:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5917, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9440:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9423:33:27" + }, + "returnParameters": { + "id": 5925, + "nodeType": "ParameterList", + "parameters": [], + "src": "9496:0:27" + }, + "scope": 7837, + "src": "9397:258:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5965, + "nodeType": "Block", + "src": "9804:196:27", + "statements": [ + { + "expression": { + "id": 5955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 5949, + "name": "erc1155Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "9852:14:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 5952, + "indexExpression": { + "id": 5950, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5940, + "src": "9867:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9852:22:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5953, + "indexExpression": { + "id": 5951, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5944, + "src": "9875:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9852:32:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 5954, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5942, + "src": "9888:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9852:43:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5956, + "nodeType": "ExpressionStatement", + "src": "9852:43:27" + }, + { + "expression": { + "id": 5963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 5957, + "name": "erc1155Issued", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5256, + "src": "9900:13:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 5960, + "indexExpression": { + "id": 5958, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5940, + "src": "9914:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9900:21:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5961, + "indexExpression": { + "id": 5959, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5944, + "src": "9922:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9900:31:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 5962, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5942, + "src": "9935:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9900:42:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5964, + "nodeType": "ExpressionStatement", + "src": "9900:42:27" + } + ] + }, + "documentation": { + "id": 5938, + "nodeType": "StructuredDocumentation", + "src": "9667:43:27", + "text": "@notice adds the token from beneficiary" + }, + "functionSelector": "3036950e", + "id": 5966, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5947, + "kind": "modifierInvocation", + "modifierName": { + "id": 5946, + "name": "OnlyAdmin", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5426, + "src": "9794:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "9794:9:27" + } + ], + "name": "adjustTokenAdd", + "nameLocation": "9722:14:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5945, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5940, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "9745:6:27", + "nodeType": "VariableDeclaration", + "scope": 5966, + "src": "9737:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5939, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9737:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5942, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "9761:7:27", + "nodeType": "VariableDeclaration", + "scope": 5966, + "src": "9753:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5941, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9753:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5944, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "9777:8:27", + "nodeType": "VariableDeclaration", + "scope": 5966, + "src": "9769:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5943, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9769:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9736:50:27" + }, + "returnParameters": { + "id": 5948, + "nodeType": "ParameterList", + "parameters": [], + "src": "9804:0:27" + }, + "scope": 7837, + "src": "9713:287:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5989, + "nodeType": "Block", + "src": "10170:149:27", + "statements": [ + { + "expression": { + "id": 5987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 5981, + "name": "erc1155Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "10218:14:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 5984, + "indexExpression": { + "id": 5982, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5969, + "src": "10233:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10218:22:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 5985, + "indexExpression": { + "id": 5983, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5973, + "src": "10241:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10218:32:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 5986, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5971, + "src": "10254:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10218:43:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5988, + "nodeType": "ExpressionStatement", + "src": "10218:43:27" + } + ] + }, + "documentation": { + "id": 5967, + "nodeType": "StructuredDocumentation", + "src": "10005:46:27", + "text": "@notice deducts the token from beneficiary" + }, + "functionSelector": "5bb67567", + "id": 5990, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5976, + "kind": "modifierInvocation", + "modifierName": { + "id": 5975, + "name": "OnlyAdmin", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5426, + "src": "10138:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "10138:9:27" + }, + { + "arguments": [ + { + "id": 5978, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5969, + "src": "10162:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5979, + "kind": "modifierInvocation", + "modifierName": { + "id": 5977, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "10148:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "10148:21:27" + } + ], + "name": "adjustTokenDeduct", + "nameLocation": "10063:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5974, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5969, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "10089:6:27", + "nodeType": "VariableDeclaration", + "scope": 5990, + "src": "10081:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5968, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10081:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5971, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "10105:7:27", + "nodeType": "VariableDeclaration", + "scope": 5990, + "src": "10097:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5970, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10097:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5973, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "10121:8:27", + "nodeType": "VariableDeclaration", + "scope": 5990, + "src": "10113:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5972, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10113:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10080:50:27" + }, + "returnParameters": { + "id": 5980, + "nodeType": "ParameterList", + "parameters": [], + "src": "10170:0:27" + }, + "scope": 7837, + "src": "10054:265:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6010, + "nodeType": "Block", + "src": "10605:99:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6001, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5993, + "src": "10624:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 5998, + "name": "projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5276, + "src": "10610:9:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Set_$4705_storage", + "typeString": "struct EnumerableSet.Bytes32Set storage ref" + } + }, + "id": 6000, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 4723, + "src": "10610:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Bytes32Set_$4705_storage_ptr_$_t_bytes32_$returns$_t_bool_$bound_to$_t_struct$_Bytes32Set_$4705_storage_ptr_$", + "typeString": "function (struct EnumerableSet.Bytes32Set storage pointer,bytes32) returns (bool)" + } + }, + "id": 6002, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10610:25:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6003, + "nodeType": "ExpressionStatement", + "src": "10610:25:27" + }, + { + "expression": { + "id": 6008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6004, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "10640:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6006, + "indexExpression": { + "id": 6005, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5993, + "src": "10670:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10640:41:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 6007, + "name": "_projectCapital", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5995, + "src": "10684:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10640:59:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6009, + "nodeType": "ExpressionStatement", + "src": "10640:59:27" + } + ] + }, + "documentation": { + "id": 5991, + "nodeType": "StructuredDocumentation", + "src": "10324:204:27", + "text": "@notice creates a project.\n @notice called by rahatdmin contract\n @param _projectId Id of the project to assign budget\n @param _projectCapital amount of budget to be assigned to project" + }, + "functionSelector": "298ed0c9", + "id": 6011, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addProject", + "nameLocation": "10540:10:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5996, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5993, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "10559:10:27", + "nodeType": "VariableDeclaration", + "scope": 6011, + "src": "10551:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5992, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10551:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5995, + "mutability": "mutable", + "name": "_projectCapital", + "nameLocation": "10579:15:27", + "nodeType": "VariableDeclaration", + "scope": 6011, + "src": "10571:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5994, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10571:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10550:45:27" + }, + "returnParameters": { + "id": 5997, + "nodeType": "ParameterList", + "parameters": [], + "src": "10605:0:27" + }, + "scope": 7837, + "src": "10531:173:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 6025, + "nodeType": "Block", + "src": "11003:70:27", + "statements": [ + { + "expression": { + "id": 6023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6019, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "11008:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6021, + "indexExpression": { + "id": 6020, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6014, + "src": "11038:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11008:41:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 6022, + "name": "_projectCapital", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6016, + "src": "11053:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11008:60:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6024, + "nodeType": "ExpressionStatement", + "src": "11008:60:27" + } + ] + }, + "documentation": { + "id": 6012, + "nodeType": "StructuredDocumentation", + "src": "10709:208:27", + "text": "@notice update a project balance.\n @notice called by rahatdmin contract\n @param _projectId Id of the project to assign budget\n @param _projectCapital amount of budget to be added to project" + }, + "functionSelector": "88257567", + "id": 6026, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "updateProjectBudget", + "nameLocation": "10929:19:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6017, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6014, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "10957:10:27", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "10949:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6013, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "10949:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6016, + "mutability": "mutable", + "name": "_projectCapital", + "nameLocation": "10977:15:27", + "nodeType": "VariableDeclaration", + "scope": 6026, + "src": "10969:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6015, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10969:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10948:45:27" + }, + "returnParameters": { + "id": 6018, + "nodeType": "ParameterList", + "parameters": [], + "src": "11003:0:27" + }, + "scope": 7837, + "src": "10920:153:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 6044, + "nodeType": "Block", + "src": "11427:81:27", + "statements": [ + { + "expression": { + "id": 6042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 6036, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "11432:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6039, + "indexExpression": { + "id": 6037, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6029, + "src": "11464:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11432:43:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6040, + "indexExpression": { + "id": 6038, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6033, + "src": "11476:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11432:52:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 6041, + "name": "_projectCapital", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6031, + "src": "11488:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11432:71:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6043, + "nodeType": "ExpressionStatement", + "src": "11432:71:27" + } + ] + }, + "documentation": { + "id": 6027, + "nodeType": "StructuredDocumentation", + "src": "11079:246:27", + "text": "@notice update a project balance.\n @notice called by rahatdmin contract\n @param _projectId Id of the project to assign budget\n @param _projectCapital amount of budget to be added to project\n @param tokenId ERC1155 token id" + }, + "functionSelector": "0f6025eb", + "id": 6045, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "updateProjectBudget", + "nameLocation": "11337:19:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6034, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6029, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "11365:10:27", + "nodeType": "VariableDeclaration", + "scope": 6045, + "src": "11357:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6028, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11357:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6031, + "mutability": "mutable", + "name": "_projectCapital", + "nameLocation": "11385:15:27", + "nodeType": "VariableDeclaration", + "scope": 6045, + "src": "11377:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6030, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11377:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6033, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "11409:7:27", + "nodeType": "VariableDeclaration", + "scope": 6045, + "src": "11401:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6032, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11401:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11356:61:27" + }, + "returnParameters": { + "id": 6035, + "nodeType": "ParameterList", + "parameters": [], + "src": "11427:0:27" + }, + "scope": 7837, + "src": "11328:180:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 6057, + "nodeType": "Block", + "src": "11650:58:27", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 6053, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "11662:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6055, + "indexExpression": { + "id": 6054, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6048, + "src": "11692:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11662:41:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6052, + "id": 6056, + "nodeType": "Return", + "src": "11655:48:27" + } + ] + }, + "documentation": { + "id": 6046, + "nodeType": "StructuredDocumentation", + "src": "11513:46:27", + "text": "@notice get the current balance of project" + }, + "functionSelector": "cf784eda", + "id": 6058, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getProjectBalance", + "nameLocation": "11571:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6048, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "11597:10:27", + "nodeType": "VariableDeclaration", + "scope": 6058, + "src": "11589:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6047, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11589:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "11588:20:27" + }, + "returnParameters": { + "id": 6052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6051, + "mutability": "mutable", + "name": "_balance", + "nameLocation": "11640:8:27", + "nodeType": "VariableDeclaration", + "scope": 6058, + "src": "11632:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6050, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11632:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11631:18:27" + }, + "scope": 7837, + "src": "11562:146:27", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 6074, + "nodeType": "Block", + "src": "11869:69:27", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 6068, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "11881:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6070, + "indexExpression": { + "id": 6069, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6061, + "src": "11913:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11881:43:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6072, + "indexExpression": { + "id": 6071, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6063, + "src": "11925:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11881:52:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 6067, + "id": 6073, + "nodeType": "Return", + "src": "11874:59:27" + } + ] + }, + "documentation": { + "id": 6059, + "nodeType": "StructuredDocumentation", + "src": "11715:46:27", + "text": "@notice get the current balance of project" + }, + "functionSelector": "39cbd15c", + "id": 6075, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getProjectBalance", + "nameLocation": "11773:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6064, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6061, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "11799:10:27", + "nodeType": "VariableDeclaration", + "scope": 6075, + "src": "11791:18:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6060, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11791:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6063, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "11819:7:27", + "nodeType": "VariableDeclaration", + "scope": 6075, + "src": "11811:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6062, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11811:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11790:37:27" + }, + "returnParameters": { + "id": 6067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6066, + "mutability": "mutable", + "name": "_balance", + "nameLocation": "11859:8:27", + "nodeType": "VariableDeclaration", + "scope": 6075, + "src": "11851:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6065, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11851:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11850:18:27" + }, + "scope": 7837, + "src": "11764:174:27", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 6101, + "nodeType": "Block", + "src": "12036:152:27", + "statements": [ + { + "assignments": [ + 6085 + ], + "declarations": [ + { + "constant": false, + "id": 6085, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "12052:7:27", + "nodeType": "VariableDeclaration", + "scope": 6101, + "src": "12044:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6084, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12044:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6090, + "initialValue": { + "arguments": [ + { + "id": 6088, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6079, + "src": "12076:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6086, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6077, + "src": "12062:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "recover", + "nodeType": "MemberAccess", + "referencedDeclaration": 4026, + "src": "12062:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$bound_to$_t_bytes32_$", + "typeString": "function (bytes32,bytes memory) pure returns (address)" + } + }, + "id": 6089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12062:25:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12044:43:27" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6093, + "name": "VENDOR_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5210, + "src": "12111:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6094, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6085, + "src": "12123:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6092, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "12103:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 6095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12103:28:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e65722073686f756c64206265204d6f62696c697a6572", + "id": 6096, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12132:28:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3abced3b2cbee5ea1b046b545c47d2713c9ee0c5b224ee552a1c226fdd69a6fe", + "typeString": "literal_string \"Signer should be Mobilizer\"" + }, + "value": "Signer should be Mobilizer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3abced3b2cbee5ea1b046b545c47d2713c9ee0c5b224ee552a1c226fdd69a6fe", + "typeString": "literal_string \"Signer should be Mobilizer\"" + } + ], + "id": 6091, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12095:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12095:66:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6098, + "nodeType": "ExpressionStatement", + "src": "12095:66:27" + }, + { + "expression": { + "id": 6099, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6085, + "src": "12176:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6083, + "id": 6100, + "nodeType": "Return", + "src": "12169:14:27" + } + ] + }, + "id": 6102, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyVendor", + "nameLocation": "11953:12:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6080, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6077, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "11974:5:27", + "nodeType": "VariableDeclaration", + "scope": 6102, + "src": "11966:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6076, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "11966:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6079, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "11994:10:27", + "nodeType": "VariableDeclaration", + "scope": 6102, + "src": "11981:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6078, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "11981:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "11965:40:27" + }, + "returnParameters": { + "id": 6083, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6082, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6102, + "src": "12028:7:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6081, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12028:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12027:9:27" + }, + "scope": 7837, + "src": "11944:244:27", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6128, + "nodeType": "Block", + "src": "12290:158:27", + "statements": [ + { + "assignments": [ + 6112 + ], + "declarations": [ + { + "constant": false, + "id": 6112, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "12307:7:27", + "nodeType": "VariableDeclaration", + "scope": 6128, + "src": "12299:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6111, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12299:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6117, + "initialValue": { + "arguments": [ + { + "id": 6115, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6106, + "src": "12331:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6113, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6104, + "src": "12317:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 6114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "recover", + "nodeType": "MemberAccess", + "referencedDeclaration": 4026, + "src": "12317:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$bound_to$_t_bytes32_$", + "typeString": "function (bytes32,bytes memory) pure returns (address)" + } + }, + "id": 6116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12317:25:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12299:43:27" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6120, + "name": "MOBILIZER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "12366:14:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6121, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6112, + "src": "12381:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6119, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "12358:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 6122, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12358:31:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e65722073686f756c64206265204d6f62696c697a6572", + "id": 6123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12390:28:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3abced3b2cbee5ea1b046b545c47d2713c9ee0c5b224ee552a1c226fdd69a6fe", + "typeString": "literal_string \"Signer should be Mobilizer\"" + }, + "value": "Signer should be Mobilizer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3abced3b2cbee5ea1b046b545c47d2713c9ee0c5b224ee552a1c226fdd69a6fe", + "typeString": "literal_string \"Signer should be Mobilizer\"" + } + ], + "id": 6118, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12350:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12350:69:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6125, + "nodeType": "ExpressionStatement", + "src": "12350:69:27" + }, + { + "expression": { + "id": 6126, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6112, + "src": "12434:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6110, + "id": 6127, + "nodeType": "Return", + "src": "12427:14:27" + } + ] + }, + "id": 6129, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyMobilizer", + "nameLocation": "12203:15:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6104, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "12227:5:27", + "nodeType": "VariableDeclaration", + "scope": 6129, + "src": "12219:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6103, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12219:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6106, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "12247:10:27", + "nodeType": "VariableDeclaration", + "scope": 6129, + "src": "12234:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6105, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "12234:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "12218:40:27" + }, + "returnParameters": { + "id": 6110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6109, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6129, + "src": "12282:7:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6108, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12282:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12281:9:27" + }, + "scope": 7837, + "src": "12194:254:27", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6197, + "nodeType": "Block", + "src": "12816:464:27", + "statements": [ + { + "assignments": [ + 6142 + ], + "declarations": [ + { + "constant": false, + "id": 6142, + "mutability": "mutable", + "name": "_id", + "nameLocation": "12829:3:27", + "nodeType": "VariableDeclaration", + "scope": 6197, + "src": "12821:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6141, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12821:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6146, + "initialValue": { + "arguments": [ + { + "id": 6144, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "12844:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6143, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "12835:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 6145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12835:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12821:34:27" + }, + { + "condition": { + "arguments": [ + { + "id": 6148, + "name": "MOBILIZER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "12887:14:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 6149, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12903:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12903:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6147, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "12879:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 6151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12879:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6163, + "nodeType": "IfStatement", + "src": "12876:108:27", + "trueBody": { + "id": 6162, + "nodeType": "Block", + "src": "12915:69:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 6157, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "12960:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "12960:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "baseExpression": { + "id": 6153, + "name": "projectMobilizers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5291, + "src": "12928:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet storage ref)" + } + }, + "id": 6155, + "indexExpression": { + "id": 6154, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6142, + "src": "12946:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "12928:22:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$4812_storage", + "typeString": "struct EnumerableSet.AddressSet storage ref" + } + }, + "id": 6156, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contains", + "nodeType": "MemberAccess", + "referencedDeclaration": 4893, + "src": "12928:31:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_AddressSet_$4812_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_AddressSet_$4812_storage_ptr_$", + "typeString": "function (struct EnumerableSet.AddressSet storage pointer,address) view returns (bool)" + } + }, + "id": 6159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12928:43:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6152, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "12920:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12920:52:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6161, + "nodeType": "ExpressionStatement", + "src": "12920:52:27" + } + ] + } + }, + { + "expression": { + "id": 6169, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6164, + "name": "erc20IssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5300, + "src": "12988:13:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6167, + "indexExpression": { + "expression": { + "id": 6165, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13002:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13002:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "12988:25:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 6168, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6136, + "src": "13017:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12988:36:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6170, + "nodeType": "ExpressionStatement", + "src": "12988:36:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6172, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "13040:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6174, + "indexExpression": { + "id": 6173, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6142, + "src": "13070:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13040:34:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6175, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6136, + "src": "13078:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13040:45:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e2072656d61696e696e672050726f6a65637420427564676574", + "id": 6177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13087:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + }, + "value": "RAHAT: Amount is greater than remaining Project Budget" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + } + ], + "id": 6171, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13032:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13032:112:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6179, + "nodeType": "ExpressionStatement", + "src": "13032:112:27" + }, + { + "expression": { + "id": 6184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6180, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "13149:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6182, + "indexExpression": { + "id": 6181, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6142, + "src": "13179:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13149:34:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 6183, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6136, + "src": "13187:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13149:45:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6185, + "nodeType": "ExpressionStatement", + "src": "13149:45:27" + }, + { + "expression": { + "arguments": [ + { + "id": 6187, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6134, + "src": "13214:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6188, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6136, + "src": "13222:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6186, + "name": "adjustTokenAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5913, + 5966 + ], + "referencedDeclaration": 5913, + "src": "13199:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 6189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13199:31:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6190, + "nodeType": "ExpressionStatement", + "src": "13199:31:27" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6192, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6142, + "src": "13254:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6193, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6134, + "src": "13259:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6194, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6136, + "src": "13267:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6191, + "name": "IssuedERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5162, + "src": "13242:11:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256)" + } + }, + "id": 6195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13242:33:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6196, + "nodeType": "EmitStatement", + "src": "13237:38:27" + } + ] + }, + "documentation": { + "id": 6130, + "nodeType": "StructuredDocumentation", + "src": "12453:227:27", + "text": "@notice Issue tokens to beneficiary\n @param _projectId Id of the project beneficiary is involved in\n @param _phone phone number of the beneficiary\n @param _amount Amount of token to be assigned to beneficiary" + }, + "functionSelector": "c0d955d6", + "id": 6198, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6139, + "kind": "modifierInvocation", + "modifierName": { + "id": 6138, + "name": "OnlyAdminOrMobilizer", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5480, + "src": "12795:20:27" + }, + "nodeType": "ModifierInvocation", + "src": "12795:20:27" + } + ], + "name": "issueERC20ToBeneficiary", + "nameLocation": "12692:23:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6132, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "12734:10:27", + "nodeType": "VariableDeclaration", + "scope": 6198, + "src": "12720:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6131, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12720:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6134, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "12757:6:27", + "nodeType": "VariableDeclaration", + "scope": 6198, + "src": "12749:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6133, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12749:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6136, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "12776:7:27", + "nodeType": "VariableDeclaration", + "scope": 6198, + "src": "12768:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6135, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12768:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12715:72:27" + }, + "returnParameters": { + "id": 6140, + "nodeType": "ParameterList", + "parameters": [], + "src": "12816:0:27" + }, + "scope": 7837, + "src": "12683:597:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6342, + "nodeType": "Block", + "src": "13734:828:27", + "statements": [ + { + "assignments": [ + 6215 + ], + "declarations": [ + { + "constant": false, + "id": 6215, + "mutability": "mutable", + "name": "_id", + "nameLocation": "13747:3:27", + "nodeType": "VariableDeclaration", + "scope": 6342, + "src": "13739:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6214, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13739:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6219, + "initialValue": { + "arguments": [ + { + "id": 6217, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6201, + "src": "13762:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6216, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "13753:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 6218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13753:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13739:34:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6221, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "13786:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13786:14:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 6223, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "13804:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "13804:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13786:33:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20496e76616c696420696e70757420617272617973206f662050686f6e6520616e6420416d6f756e74", + "id": 6226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13821:49:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133", + "typeString": "literal_string \"RAHAT: Invalid input arrays of Phone and Amount\"" + }, + "value": "RAHAT: Invalid input arrays of Phone and Amount" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133", + "typeString": "literal_string \"RAHAT: Invalid input arrays of Phone and Amount\"" + } + ], + "id": 6220, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13778:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13778:93:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6228, + "nodeType": "ExpressionStatement", + "src": "13778:93:27" + }, + { + "condition": { + "arguments": [ + { + "id": 6230, + "name": "MOBILIZER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "13888:14:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 6231, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13904:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13904:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6229, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "13880:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 6233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13880:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6245, + "nodeType": "IfStatement", + "src": "13877:108:27", + "trueBody": { + "id": 6244, + "nodeType": "Block", + "src": "13916:69:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 6239, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "13961:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "13961:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "baseExpression": { + "id": 6235, + "name": "projectMobilizers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5291, + "src": "13929:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_AddressSet_$4812_storage_$", + "typeString": "mapping(bytes32 => struct EnumerableSet.AddressSet storage ref)" + } + }, + "id": 6237, + "indexExpression": { + "id": 6236, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6215, + "src": "13947:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13929:22:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$4812_storage", + "typeString": "struct EnumerableSet.AddressSet storage ref" + } + }, + "id": 6238, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "contains", + "nodeType": "MemberAccess", + "referencedDeclaration": 4893, + "src": "13929:31:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_AddressSet_$4812_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_AddressSet_$4812_storage_ptr_$", + "typeString": "function (struct EnumerableSet.AddressSet storage pointer,address) view returns (bool)" + } + }, + "id": 6241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13929:43:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 6234, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "13921:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 6242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13921:52:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6243, + "nodeType": "ExpressionStatement", + "src": "13921:52:27" + } + ] + } + }, + { + "assignments": [ + 6247 + ], + "declarations": [ + { + "constant": false, + "id": 6247, + "mutability": "mutable", + "name": "i", + "nameLocation": "13997:1:27", + "nodeType": "VariableDeclaration", + "scope": 6342, + "src": "13989:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13989:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6248, + "nodeType": "VariableDeclarationStatement", + "src": "13989:9:27" + }, + { + "body": { + "id": 6340, + "nodeType": "Block", + "src": "14041:510:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 6261, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "14057:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6263, + "indexExpression": { + "id": 6262, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6215, + "src": "14089:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14057:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6267, + "indexExpression": { + "baseExpression": { + "id": 6264, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14094:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6266, + "indexExpression": { + "id": 6265, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14103:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14094:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14057:49:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "baseExpression": { + "id": 6268, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "14110:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6270, + "indexExpression": { + "id": 6269, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14118:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14110:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14057:63:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e2072656d61696e696e672050726f6a65637420427564676574", + "id": 6272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14122:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + }, + "value": "RAHAT: Amount is greater than remaining Project Budget" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + } + ], + "id": 6260, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "14049:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14049:130:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6274, + "nodeType": "ExpressionStatement", + "src": "14049:130:27" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 6280, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14227:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6282, + "indexExpression": { + "id": 6281, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14236:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14227:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "baseExpression": { + "id": 6275, + "name": "tokenIdsIssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5305, + "src": "14194:16:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 6278, + "indexExpression": { + "expression": { + "id": 6276, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14211:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14211:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14194:28:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 6279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 4990, + "src": "14194:32:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$4969_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" + } + }, + "id": 6283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14194:45:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6284, + "nodeType": "ExpressionStatement", + "src": "14194:45:27" + }, + { + "expression": { + "id": 6296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 6285, + "name": "erc1155IssuedBy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5311, + "src": "14247:15:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(uint256 => uint256))" + } + }, + "id": 6291, + "indexExpression": { + "expression": { + "id": 6286, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "14263:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "14263:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14247:27:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6292, + "indexExpression": { + "baseExpression": { + "id": 6288, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14275:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6290, + "indexExpression": { + "id": 6289, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14284:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14275:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14247:40:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "baseExpression": { + "id": 6293, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "14291:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6295, + "indexExpression": { + "id": 6294, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14299:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14291:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14247:54:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6297, + "nodeType": "ExpressionStatement", + "src": "14247:54:27" + }, + { + "expression": { + "id": 6308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 6298, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "14310:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6303, + "indexExpression": { + "id": 6299, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6215, + "src": "14342:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14310:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6304, + "indexExpression": { + "baseExpression": { + "id": 6300, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14347:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6302, + "indexExpression": { + "id": 6301, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14356:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14347:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "14310:49:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "baseExpression": { + "id": 6305, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "14363:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6307, + "indexExpression": { + "id": 6306, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14371:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14363:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14310:63:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6309, + "nodeType": "ExpressionStatement", + "src": "14310:63:27" + }, + { + "expression": { + "arguments": [ + { + "id": 6311, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "14397:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 6312, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "14405:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6314, + "indexExpression": { + "id": 6313, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14413:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14405:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 6315, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14416:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6317, + "indexExpression": { + "id": 6316, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14425:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14416:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6310, + "name": "adjustTokenAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5913, + 5966 + ], + "referencedDeclaration": 5966, + "src": "14382:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 6318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14382:46:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6319, + "nodeType": "ExpressionStatement", + "src": "14382:46:27" + }, + { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 6324, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14469:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6326, + "indexExpression": { + "id": 6325, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14478:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14469:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "baseExpression": { + "id": 6320, + "name": "beneficiaryTokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5261, + "src": "14437:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_UintSet_$4969_storage_$", + "typeString": "mapping(uint256 => struct EnumerableSet.UintSet storage ref)" + } + }, + "id": 6322, + "indexExpression": { + "id": 6321, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "14457:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14437:27:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_UintSet_$4969_storage", + "typeString": "struct EnumerableSet.UintSet storage ref" + } + }, + "id": 6323, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 4990, + "src": "14437:31:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$4969_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$4969_storage_ptr_$", + "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" + } + }, + "id": 6327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14437:44:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6328, + "nodeType": "ExpressionStatement", + "src": "14437:44:27" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6330, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6215, + "src": "14509:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6331, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6203, + "src": "14514:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 6332, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14522:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6334, + "indexExpression": { + "id": 6333, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14531:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14522:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 6335, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6206, + "src": "14534:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6337, + "indexExpression": { + "id": 6336, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14542:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14534:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6329, + "name": "IssuedERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5172, + "src": "14495:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256)" + } + }, + "id": 6338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14495:50:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6339, + "nodeType": "EmitStatement", + "src": "14490:55:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6253, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14015:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 6254, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "14019:8:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "14019:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14015:19:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6341, + "initializationExpression": { + "expression": { + "id": 6251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6249, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14008:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 6250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14012:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "14008:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6252, + "nodeType": "ExpressionStatement", + "src": "14008:5:27" + }, + "loopExpression": { + "expression": { + "id": 6258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "14036:3:27", + "subExpression": { + "id": 6257, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6247, + "src": "14036:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6259, + "nodeType": "ExpressionStatement", + "src": "14036:3:27" + }, + "nodeType": "ForStatement", + "src": "14003:548:27" + } + ] + }, + "documentation": { + "id": 6199, + "nodeType": "StructuredDocumentation", + "src": "13286:271:27", + "text": "@notice Issue ERC20 tokens to beneficiary\n @param _projectId Id of the project beneficiary is involved in\n @param _phone phone number of the beneficiary\n @param _amount Amount of token to be assigned to beneficiary\n @param _tokenId ERC1155 TokenId" + }, + "functionSelector": "5c966100", + "id": 6343, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6212, + "kind": "modifierInvocation", + "modifierName": { + "id": 6211, + "name": "OnlyAdminOrMobilizer", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5480, + "src": "13713:20:27" + }, + "nodeType": "ModifierInvocation", + "src": "13713:20:27" + } + ], + "name": "issueERC1155ToBeneficiary", + "nameLocation": "13569:25:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6201, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "13613:10:27", + "nodeType": "VariableDeclaration", + "scope": 6343, + "src": "13599:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6200, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13599:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6203, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "13636:6:27", + "nodeType": "VariableDeclaration", + "scope": 6343, + "src": "13628:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6202, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13628:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6206, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "13664:7:27", + "nodeType": "VariableDeclaration", + "scope": 6343, + "src": "13647:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13647:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6205, + "nodeType": "ArrayTypeName", + "src": "13647:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6209, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "13693:8:27", + "nodeType": "VariableDeclaration", + "scope": 6343, + "src": "13676:25:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6207, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13676:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6208, + "nodeType": "ArrayTypeName", + "src": "13676:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "13594:111:27" + }, + "returnParameters": { + "id": 6213, + "nodeType": "ParameterList", + "parameters": [], + "src": "13734:0:27" + }, + "scope": 7837, + "src": "13560:1002:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6427, + "nodeType": "Block", + "src": "15180:689:27", + "statements": [ + { + "assignments": [ + 6358 + ], + "declarations": [ + { + "constant": false, + "id": 6358, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "15196:5:27", + "nodeType": "VariableDeclaration", + "scope": 6427, + "src": "15188:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6357, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15188:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6375, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 6364, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "15239:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 6363, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15231:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6362, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15231:7:27", + "typeDescriptions": {} + } + }, + "id": 6365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15231:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6366, + "name": "ISSUE_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5225, + "src": "15246:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 6367, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "15259:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6369, + "indexExpression": { + "id": 6368, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6346, + "src": "15266:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15259:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6370, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6350, + "src": "15276:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6371, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6352, + "src": "15288:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6372, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6354, + "src": "15295:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6360, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "15214:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "15214:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15214:89:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6359, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "15204:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15204:100:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15188:116:27" + }, + { + "assignments": [ + 6377 + ], + "declarations": [ + { + "constant": false, + "id": 6377, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "15400:15:27", + "nodeType": "VariableDeclaration", + "scope": 6427, + "src": "15392:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15392:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6382, + "initialValue": { + "arguments": [ + { + "id": 6379, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6358, + "src": "15434:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6380, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6348, + "src": "15440:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6378, + "name": "verifyMobilizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6129, + "src": "15418:15:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) view returns (address)" + } + }, + "id": 6381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15418:33:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15392:59:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6384, + "name": "recoveredSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6377, + "src": "15470:15:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 6385, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6346, + "src": "15489:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15470:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d6174636865642077697468207369676e6572", + "id": 6387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15497:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + }, + "value": "Signature did not matched with signer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + } + ], + "id": 6383, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15462:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6388, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15462:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6389, + "nodeType": "ExpressionStatement", + "src": "15462:75:27" + }, + { + "expression": { + "id": 6393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "15548:17:27", + "subExpression": { + "baseExpression": { + "id": 6390, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "15548:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6392, + "indexExpression": { + "id": 6391, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6346, + "src": "15555:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15548:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6394, + "nodeType": "ExpressionStatement", + "src": "15548:17:27" + }, + { + "assignments": [ + 6396 + ], + "declarations": [ + { + "constant": false, + "id": 6396, + "mutability": "mutable", + "name": "_id", + "nameLocation": "15590:3:27", + "nodeType": "VariableDeclaration", + "scope": 6427, + "src": "15582:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6395, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "15582:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6400, + "initialValue": { + "arguments": [ + { + "id": 6398, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6350, + "src": "15605:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6397, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "15596:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 6399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15596:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15582:34:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6402, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "15629:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6404, + "indexExpression": { + "id": 6403, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6396, + "src": "15659:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15629:34:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6405, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6354, + "src": "15667:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15629:45:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e2072656d61696e696e672050726f6a65637420427564676574", + "id": 6407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15676:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + }, + "value": "RAHAT: Amount is greater than remaining Project Budget" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + } + ], + "id": 6401, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "15621:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6408, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15621:112:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6409, + "nodeType": "ExpressionStatement", + "src": "15621:112:27" + }, + { + "expression": { + "id": 6414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6410, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "15738:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6412, + "indexExpression": { + "id": 6411, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6396, + "src": "15768:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "15738:34:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 6413, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6354, + "src": "15776:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15738:45:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6415, + "nodeType": "ExpressionStatement", + "src": "15738:45:27" + }, + { + "expression": { + "arguments": [ + { + "id": 6417, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6352, + "src": "15803:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6418, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6354, + "src": "15811:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6416, + "name": "adjustTokenAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5913, + 5966 + ], + "referencedDeclaration": 5913, + "src": "15788:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 6419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15788:31:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6420, + "nodeType": "ExpressionStatement", + "src": "15788:31:27" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6422, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6396, + "src": "15843:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6423, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6352, + "src": "15848:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6424, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6354, + "src": "15856:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6421, + "name": "IssuedERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5162, + "src": "15831:11:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256)" + } + }, + "id": 6425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15831:33:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6426, + "nodeType": "EmitStatement", + "src": "15826:38:27" + } + ] + }, + "documentation": { + "id": 6344, + "nodeType": "StructuredDocumentation", + "src": "14568:434:27", + "text": "@notice Issue ERC20 to beneficiary\n @param _signer Address of the mobilizer/caller who is issuing tokens\n @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through mobilizer/caller wallet\n @param _projectId Id of the project beneficiary is involved in\n @param _phone phone number of the beneficiary\n @param _amount Amount of token to be assigned to beneficiary" + }, + "functionSelector": "8a80940d", + "id": 6428, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "delegate_issueERC20ToBeneficiary", + "nameLocation": "15014:32:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6346, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "15062:7:27", + "nodeType": "VariableDeclaration", + "scope": 6428, + "src": "15054:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6345, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15054:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6348, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "15090:10:27", + "nodeType": "VariableDeclaration", + "scope": 6428, + "src": "15077:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6347, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "15077:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6350, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "15119:10:27", + "nodeType": "VariableDeclaration", + "scope": 6428, + "src": "15105:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6349, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15105:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6352, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "15142:6:27", + "nodeType": "VariableDeclaration", + "scope": 6428, + "src": "15134:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6351, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15134:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6354, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "15161:7:27", + "nodeType": "VariableDeclaration", + "scope": 6428, + "src": "15153:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6353, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15153:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15046:126:27" + }, + "returnParameters": { + "id": 6356, + "nodeType": "ParameterList", + "parameters": [], + "src": "15180:0:27" + }, + "scope": 7837, + "src": "15005:864:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6520, + "nodeType": "Block", + "src": "16561:733:27", + "statements": [ + { + "assignments": [ + 6445 + ], + "declarations": [ + { + "constant": false, + "id": 6445, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "16577:5:27", + "nodeType": "VariableDeclaration", + "scope": 6520, + "src": "16569:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6444, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16569:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6462, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 6451, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "16620:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 6450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16612:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6449, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16612:7:27", + "typeDescriptions": {} + } + }, + "id": 6452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16612:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6453, + "name": "ISSUE_TOKEN", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5225, + "src": "16627:11:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 6454, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "16640:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6456, + "indexExpression": { + "id": 6455, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6431, + "src": "16647:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "16640:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6457, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "16657:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6458, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "16669:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6459, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "16676:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6447, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "16595:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "16595:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16595:89:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6446, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "16585:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16585:100:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16569:116:27" + }, + { + "assignments": [ + 6464 + ], + "declarations": [ + { + "constant": false, + "id": 6464, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "16781:15:27", + "nodeType": "VariableDeclaration", + "scope": 6520, + "src": "16773:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6463, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16773:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6469, + "initialValue": { + "arguments": [ + { + "id": 6466, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6445, + "src": "16815:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6467, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6433, + "src": "16821:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6465, + "name": "verifyMobilizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6129, + "src": "16799:15:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) view returns (address)" + } + }, + "id": 6468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16799:33:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16773:59:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6471, + "name": "recoveredSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6464, + "src": "16851:15:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 6472, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6431, + "src": "16870:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16851:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d6174636865642077697468207369676e6572", + "id": 6474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16878:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + }, + "value": "Signature did not matched with signer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + } + ], + "id": 6470, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "16843:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16843:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6476, + "nodeType": "ExpressionStatement", + "src": "16843:75:27" + }, + { + "expression": { + "id": 6480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "16929:17:27", + "subExpression": { + "baseExpression": { + "id": 6477, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "16929:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6479, + "indexExpression": { + "id": 6478, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6431, + "src": "16936:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "16929:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6481, + "nodeType": "ExpressionStatement", + "src": "16929:17:27" + }, + { + "assignments": [ + 6483 + ], + "declarations": [ + { + "constant": false, + "id": 6483, + "mutability": "mutable", + "name": "_id", + "nameLocation": "16971:3:27", + "nodeType": "VariableDeclaration", + "scope": 6520, + "src": "16963:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6482, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "16963:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6487, + "initialValue": { + "arguments": [ + { + "id": 6485, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6435, + "src": "16986:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6484, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "16977:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 6486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16977:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16963:34:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 6489, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "17010:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6491, + "indexExpression": { + "id": 6490, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6483, + "src": "17042:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17010:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6493, + "indexExpression": { + "id": 6492, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6441, + "src": "17047:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17010:46:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6494, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "17060:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17010:57:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e2072656d61696e696e672050726f6a65637420427564676574", + "id": 6496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17069:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + }, + "value": "RAHAT: Amount is greater than remaining Project Budget" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + } + ], + "id": 6488, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17002:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17002:124:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6498, + "nodeType": "ExpressionStatement", + "src": "17002:124:27" + }, + { + "expression": { + "id": 6505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 6499, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "17131:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6502, + "indexExpression": { + "id": 6500, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6483, + "src": "17163:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17131:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6503, + "indexExpression": { + "id": 6501, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6441, + "src": "17168:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "17131:46:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 6504, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "17181:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17131:57:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6506, + "nodeType": "ExpressionStatement", + "src": "17131:57:27" + }, + { + "expression": { + "arguments": [ + { + "id": 6508, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "17208:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6509, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "17216:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6510, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6441, + "src": "17224:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6507, + "name": "adjustTokenAdd", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5913, + 5966 + ], + "referencedDeclaration": 5966, + "src": "17193:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 6511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17193:40:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6512, + "nodeType": "ExpressionStatement", + "src": "17193:40:27" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6514, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6483, + "src": "17259:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6515, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6437, + "src": "17264:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6516, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6441, + "src": "17271:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6517, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6439, + "src": "17281:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6513, + "name": "IssuedERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5172, + "src": "17245:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,uint256,uint256,uint256)" + } + }, + "id": 6518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17245:44:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6519, + "nodeType": "EmitStatement", + "src": "17240:49:27" + } + ] + }, + "documentation": { + "id": 6429, + "nodeType": "StructuredDocumentation", + "src": "15879:481:27", + "text": "@notice Issue ERC1155 tokens to beneficiary\n @param _signer Address of the mobilizer/caller who is issuing tokens\n @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through mobilizer/caller wallet\n @param _projectId Id of the project beneficiary is involved in\n @param _phone phone number of the beneficiary\n @param _amount Amount of token to be assigned to beneficiary\n @param _tokenId ERC1155 TokenId" + }, + "functionSelector": "26fabe91", + "id": 6521, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "delegate_issueERC1155ToBeneficiary", + "nameLocation": "16372:34:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6442, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6431, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "16422:7:27", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "16414:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6430, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16414:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6433, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "16450:10:27", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "16437:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6432, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "16437:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6435, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "16479:10:27", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "16465:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6434, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16465:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6437, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "16502:6:27", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "16494:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6436, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16494:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6439, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "16521:7:27", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "16513:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6438, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16513:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6441, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "16541:8:27", + "nodeType": "VariableDeclaration", + "scope": 6521, + "src": "16533:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6440, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16533:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16406:147:27" + }, + "returnParameters": { + "id": 6443, + "nodeType": "ParameterList", + "parameters": [], + "src": "16561:0:27" + }, + "scope": 7837, + "src": "16363:931:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6591, + "nodeType": "Block", + "src": "17686:420:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6536, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6527, + "src": "17699:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "17699:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 6538, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6530, + "src": "17716:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "17716:14:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17699:31:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20496e76616c696420696e70757420617272617973206f662050686f6e6520616e6420416d6f756e74", + "id": 6541, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17732:49:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133", + "typeString": "literal_string \"RAHAT: Invalid input arrays of Phone and Amount\"" + }, + "value": "RAHAT: Invalid input arrays of Phone and Amount" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133", + "typeString": "literal_string \"RAHAT: Invalid input arrays of Phone and Amount\"" + } + ], + "id": 6535, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17691:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17691:91:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6543, + "nodeType": "ExpressionStatement", + "src": "17691:91:27" + }, + { + "assignments": [ + 6545 + ], + "declarations": [ + { + "constant": false, + "id": 6545, + "mutability": "mutable", + "name": "i", + "nameLocation": "17795:1:27", + "nodeType": "VariableDeclaration", + "scope": 6591, + "src": "17787:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6544, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17787:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6546, + "nodeType": "VariableDeclarationStatement", + "src": "17787:9:27" + }, + { + "assignments": [ + 6548 + ], + "declarations": [ + { + "constant": false, + "id": 6548, + "mutability": "mutable", + "name": "sum", + "nameLocation": "17809:3:27", + "nodeType": "VariableDeclaration", + "scope": 6591, + "src": "17801:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6547, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17801:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6552, + "initialValue": { + "arguments": [ + { + "id": 6550, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6530, + "src": "17827:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 6549, + "name": "getArraySum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7836, + "src": "17815:11:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory) pure returns (uint256)" + } + }, + "id": 6551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17815:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17801:34:27" + }, + { + "assignments": [ + 6554 + ], + "declarations": [ + { + "constant": false, + "id": 6554, + "mutability": "mutable", + "name": "_id", + "nameLocation": "17848:3:27", + "nodeType": "VariableDeclaration", + "scope": 6591, + "src": "17840:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6553, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "17840:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6558, + "initialValue": { + "arguments": [ + { + "id": 6556, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6524, + "src": "17863:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6555, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "17854:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 6557, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17854:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17840:34:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6560, + "name": "remainingProjectErc20Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5280, + "src": "17889:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", + "typeString": "mapping(bytes32 => uint256)" + } + }, + "id": 6562, + "indexExpression": { + "id": 6561, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6554, + "src": "17919:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17889:34:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6563, + "name": "sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6548, + "src": "17927:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "17889:41:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e2072656d61696e696e672050726f6a65637420427564676574", + "id": 6565, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17932:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + }, + "value": "RAHAT: Amount is greater than remaining Project Budget" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + } + ], + "id": 6559, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "17881:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17881:108:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6567, + "nodeType": "ExpressionStatement", + "src": "17881:108:27" + }, + { + "body": { + "id": 6589, + "nodeType": "Block", + "src": "18032:70:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6580, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6524, + "src": "18062:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 6581, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6527, + "src": "18074:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6583, + "indexExpression": { + "id": 6582, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6545, + "src": "18081:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18074:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "baseExpression": { + "id": 6584, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6530, + "src": "18085:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6586, + "indexExpression": { + "id": 6585, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6545, + "src": "18093:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18085:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6579, + "name": "issueERC20ToBeneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6198, + "src": "18038:23:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (string memory,uint256,uint256)" + } + }, + "id": 6587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18038:58:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6588, + "nodeType": "ExpressionStatement", + "src": "18038:58:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6572, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6545, + "src": "18008:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 6573, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6527, + "src": "18012:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18012:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18008:17:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6590, + "initializationExpression": { + "expression": { + "id": 6570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6568, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6545, + "src": "18001:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 6569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18005:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "18001:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6571, + "nodeType": "ExpressionStatement", + "src": "18001:5:27" + }, + "loopExpression": { + "expression": { + "id": 6577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "18027:3:27", + "subExpression": { + "id": 6576, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6545, + "src": "18027:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6578, + "nodeType": "ExpressionStatement", + "src": "18027:3:27" + }, + "nodeType": "ForStatement", + "src": "17996:106:27" + } + ] + }, + "documentation": { + "id": 6522, + "nodeType": "StructuredDocumentation", + "src": "17299:253:27", + "text": "@notice Issue tokens to beneficiary in bulk\n @param _projectId Id of the project beneficiary is involved in\n @param _phone array of phone number of the beneficiary\n @param _amount array of Amount of token to be assigned to beneficiary" + }, + "functionSelector": "5eb5eec9", + "id": 6592, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6533, + "kind": "modifierInvocation", + "modifierName": { + "id": 6532, + "name": "OnlyAdmin", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5426, + "src": "17676:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "17676:9:27" + } + ], + "name": "issueBulkERC20", + "nameLocation": "17564:14:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6531, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6524, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "17597:10:27", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "17583:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6523, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17583:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6527, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "17629:6:27", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "17612:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17612:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6526, + "nodeType": "ArrayTypeName", + "src": "17612:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6530, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "17657:7:27", + "nodeType": "VariableDeclaration", + "scope": 6592, + "src": "17640:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6528, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17640:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6529, + "nodeType": "ArrayTypeName", + "src": "17640:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "17578:90:27" + }, + "returnParameters": { + "id": 6534, + "nodeType": "ParameterList", + "parameters": [], + "src": "17686:0:27" + }, + "scope": 7837, + "src": "17555:551:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6701, + "nodeType": "Block", + "src": "18527:571:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6609, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6598, + "src": "18540:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18540:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 6611, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6601, + "src": "18557:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18557:14:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18540:31:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20496e76616c696420696e70757420617272617973206f662050686f6e6520616e6420416d6f756e74", + "id": 6614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18573:49:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133", + "typeString": "literal_string \"RAHAT: Invalid input arrays of Phone and Amount\"" + }, + "value": "RAHAT: Invalid input arrays of Phone and Amount" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f7439ef2f350602c709df7ffbca8db670ca997f7f7327754471efd45b2b21133", + "typeString": "literal_string \"RAHAT: Invalid input arrays of Phone and Amount\"" + } + ], + "id": 6608, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18532:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6615, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18532:91:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6616, + "nodeType": "ExpressionStatement", + "src": "18532:91:27" + }, + { + "assignments": [ + 6618 + ], + "declarations": [ + { + "constant": false, + "id": 6618, + "mutability": "mutable", + "name": "i", + "nameLocation": "18636:1:27", + "nodeType": "VariableDeclaration", + "scope": 6701, + "src": "18628:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18628:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6619, + "nodeType": "VariableDeclarationStatement", + "src": "18628:9:27" + }, + { + "assignments": [ + 6621 + ], + "declarations": [ + { + "constant": false, + "id": 6621, + "mutability": "mutable", + "name": "sum", + "nameLocation": "18650:3:27", + "nodeType": "VariableDeclaration", + "scope": 6701, + "src": "18642:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6620, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18642:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6625, + "initialValue": { + "arguments": [ + { + "id": 6623, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6601, + "src": "18668:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 6622, + "name": "getArraySum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7836, + "src": "18656:11:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256[] memory) pure returns (uint256)" + } + }, + "id": 6624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18656:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18642:34:27" + }, + { + "assignments": [ + 6627 + ], + "declarations": [ + { + "constant": false, + "id": 6627, + "mutability": "mutable", + "name": "_id", + "nameLocation": "18689:3:27", + "nodeType": "VariableDeclaration", + "scope": 6701, + "src": "18681:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6626, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "18681:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6631, + "initialValue": { + "arguments": [ + { + "id": 6629, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6595, + "src": "18704:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6628, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "18695:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 6630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18695:20:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18681:34:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 6633, + "name": "remainingProjectErc1155Balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5286, + "src": "18730:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => uint256))" + } + }, + "id": 6635, + "indexExpression": { + "id": 6634, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6627, + "src": "18762:3:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18730:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6637, + "indexExpression": { + "id": 6636, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6603, + "src": "18767:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18730:46:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6638, + "name": "sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6621, + "src": "18780:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18730:53:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e742069732067726561746572207468616e2072656d61696e696e672050726f6a65637420427564676574", + "id": 6640, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18785:56:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + }, + "value": "RAHAT: Amount is greater than remaining Project Budget" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0b92d5ea135281a8505d7f5384c899b29ca3668b830e227ee35387b34b262204", + "typeString": "literal_string \"RAHAT: Amount is greater than remaining Project Budget\"" + } + ], + "id": 6632, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "18722:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18722:120:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6642, + "nodeType": "ExpressionStatement", + "src": "18722:120:27" + }, + { + "body": { + "id": 6699, + "nodeType": "Block", + "src": "18885:209:27", + "statements": [ + { + "assignments": [ + 6658 + ], + "declarations": [ + { + "constant": false, + "id": 6658, + "mutability": "mutable", + "name": "amt", + "nameLocation": "18909:3:27", + "nodeType": "VariableDeclaration", + "scope": 6699, + "src": "18894:18:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6656, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18894:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6657, + "nodeType": "ArrayTypeName", + "src": "18894:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 6664, + "initialValue": { + "arguments": [ + { + "hexValue": "31", + "id": 6662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18926:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 6661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "18915:10:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 6659, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18919:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6660, + "nodeType": "ArrayTypeName", + "src": "18919:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 6663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18915:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18894:34:27" + }, + { + "assignments": [ + 6669 + ], + "declarations": [ + { + "constant": false, + "id": 6669, + "mutability": "mutable", + "name": "tkd", + "nameLocation": "18952:3:27", + "nodeType": "VariableDeclaration", + "scope": 6699, + "src": "18937:18:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6667, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18937:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6668, + "nodeType": "ArrayTypeName", + "src": "18937:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 6675, + "initialValue": { + "arguments": [ + { + "hexValue": "31", + "id": 6673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18969:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 6672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "18958:10:27", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 6670, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18962:4:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6671, + "nodeType": "ArrayTypeName", + "src": "18962:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 6674, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18958:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18937:34:27" + }, + { + "expression": { + "id": 6682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6676, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6658, + "src": "18980:3:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6678, + "indexExpression": { + "hexValue": "30", + "id": 6677, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18984:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "18980:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 6679, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6601, + "src": "18989:7:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6681, + "indexExpression": { + "id": 6680, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "18997:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18989:10:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18980:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6683, + "nodeType": "ExpressionStatement", + "src": "18980:19:27" + }, + { + "expression": { + "id": 6688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6684, + "name": "tkd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6669, + "src": "19008:3:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6686, + "indexExpression": { + "hexValue": "30", + "id": 6685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19012:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "19008:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 6687, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6603, + "src": "19017:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19008:17:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6689, + "nodeType": "ExpressionStatement", + "src": "19008:17:27" + }, + { + "expression": { + "arguments": [ + { + "id": 6691, + "name": "_projectId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6595, + "src": "19057:10:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "baseExpression": { + "id": 6692, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6598, + "src": "19069:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6694, + "indexExpression": { + "id": 6693, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "19076:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19069:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6695, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6658, + "src": "19080:3:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + { + "id": 6696, + "name": "tkd", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6669, + "src": "19084:3:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + }, + { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + ], + "id": 6690, + "name": "issueERC1155ToBeneficiary", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6343, + "src": "19031:25:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", + "typeString": "function (string memory,uint256,uint256[] memory,uint256[] memory)" + } + }, + "id": 6697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19031:57:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6698, + "nodeType": "ExpressionStatement", + "src": "19031:57:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6647, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "18861:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 6648, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6598, + "src": "18865:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 6649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "18865:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18861:17:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6700, + "initializationExpression": { + "expression": { + "id": 6645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6643, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "18854:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 6644, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18858:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "18854:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6646, + "nodeType": "ExpressionStatement", + "src": "18854:5:27" + }, + "loopExpression": { + "expression": { + "id": 6652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "18880:3:27", + "subExpression": { + "id": 6651, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6618, + "src": "18880:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6653, + "nodeType": "ExpressionStatement", + "src": "18880:3:27" + }, + "nodeType": "ForStatement", + "src": "18849:245:27" + } + ] + }, + "documentation": { + "id": 6593, + "nodeType": "StructuredDocumentation", + "src": "18113:253:27", + "text": "@notice Issue tokens to beneficiary in bulk\n @param _projectId Id of the project beneficiary is involved in\n @param _phone array of phone number of the beneficiary\n @param _amount array of Amount of token to be assigned to beneficiary" + }, + "functionSelector": "250de2b2", + "id": 6702, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6606, + "kind": "modifierInvocation", + "modifierName": { + "id": 6605, + "name": "OnlyAdmin", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5426, + "src": "18517:9:27" + }, + "nodeType": "ModifierInvocation", + "src": "18517:9:27" + } + ], + "name": "issueBulkERC1155", + "nameLocation": "18378:16:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6595, + "mutability": "mutable", + "name": "_projectId", + "nameLocation": "18413:10:27", + "nodeType": "VariableDeclaration", + "scope": 6702, + "src": "18399:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6594, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18399:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6598, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "18445:6:27", + "nodeType": "VariableDeclaration", + "scope": 6702, + "src": "18428:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18428:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6597, + "nodeType": "ArrayTypeName", + "src": "18428:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6601, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "18473:7:27", + "nodeType": "VariableDeclaration", + "scope": 6702, + "src": "18456:24:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 6599, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18456:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6600, + "nodeType": "ArrayTypeName", + "src": "18456:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6603, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "18493:8:27", + "nodeType": "VariableDeclaration", + "scope": 6702, + "src": "18485:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6602, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18485:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18394:115:27" + }, + "returnParameters": { + "id": 6607, + "nodeType": "ParameterList", + "parameters": [], + "src": "18527:0:27" + }, + "scope": 7837, + "src": "18369:729:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6766, + "nodeType": "Block", + "src": "19381:346:27", + "statements": [ + { + "assignments": [ + 6716 + ], + "declarations": [ + { + "constant": false, + "id": 6716, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "19397:6:27", + "nodeType": "VariableDeclaration", + "scope": 6766, + "src": "19389:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6715, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "19389:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6720, + "initialValue": { + "arguments": [ + { + "id": 6718, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6705, + "src": "19415:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6717, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "19406:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 6719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19406:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19389:33:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6722, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "19435:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6724, + "indexExpression": { + "id": 6723, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6705, + "src": "19448:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19435:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6725, + "name": "_tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6707, + "src": "19459:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19435:31:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e74207265717565737465642069732067726561746572207468616e2062656e65666963696172792062616c616e63652e", + "id": 6727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19468:62:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + }, + "value": "RAHAT: Amount requested is greater than beneficiary balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + } + ], + "id": 6721, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "19427:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19427:104:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6729, + "nodeType": "ExpressionStatement", + "src": "19427:104:27" + }, + { + "assignments": [ + 6732 + ], + "declarations": [ + { + "constant": false, + "id": 6732, + "mutability": "mutable", + "name": "ac", + "nameLocation": "19550:2:27", + "nodeType": "VariableDeclaration", + "scope": 6766, + "src": "19536:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 6731, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6730, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "19536:5:27" + }, + "referencedDeclaration": 5320, + "src": "19536:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 6739, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 6733, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "19555:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 6736, + "indexExpression": { + "expression": { + "id": 6734, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "19573:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "19573:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19555:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 6738, + "indexExpression": { + "id": 6737, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6716, + "src": "19585:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "19555:37:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "19536:56:27" + }, + { + "expression": { + "id": 6744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6740, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "19597:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6742, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "19597:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 6743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19613:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "19597:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6745, + "nodeType": "ExpressionStatement", + "src": "19597:21:27" + }, + { + "expression": { + "id": 6750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6746, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "19623:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6748, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "19623:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 6749, + "name": "_tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6707, + "src": "19635:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19623:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6751, + "nodeType": "ExpressionStatement", + "src": "19623:19:27" + }, + { + "expression": { + "id": 6757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6752, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6732, + "src": "19647:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6754, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "19647:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 6755, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "19657:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 6756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "19657:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "19647:25:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6758, + "nodeType": "ExpressionStatement", + "src": "19647:25:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 6760, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967270, + "src": "19695:2:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 6761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "19695:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6762, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6705, + "src": "19706:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6763, + "name": "_tokens", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6707, + "src": "19714:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6759, + "name": "ClaimedERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "19682:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 6764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19682:40:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6765, + "nodeType": "EmitStatement", + "src": "19677:45:27" + } + ] + }, + "documentation": { + "id": 6703, + "nodeType": "StructuredDocumentation", + "src": "19103:176:27", + "text": "@notice request a token to beneficiary by vendor\n @param _phone Phone number of beneficiary to whom token is requested\n @param _tokens Number of tokens to request" + }, + "functionSelector": "9ea69350", + "id": 6767, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 6710, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6705, + "src": "19362:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 6711, + "kind": "modifierInvocation", + "modifierName": { + "id": 6709, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "19348:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "19348:21:27" + }, + { + "id": 6713, + "kind": "modifierInvocation", + "modifierName": { + "id": 6712, + "name": "OnlyVendor", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5460, + "src": "19370:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "19370:10:27" + } + ], + "name": "createERC20Claim", + "nameLocation": "19291:16:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6708, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6705, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "19316:6:27", + "nodeType": "VariableDeclaration", + "scope": 6767, + "src": "19308:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19308:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6707, + "mutability": "mutable", + "name": "_tokens", + "nameLocation": "19332:7:27", + "nodeType": "VariableDeclaration", + "scope": 6767, + "src": "19324:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6706, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19324:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19307:33:27" + }, + "returnParameters": { + "id": 6714, + "nodeType": "ParameterList", + "parameters": [], + "src": "19381:0:27" + }, + "scope": 7837, + "src": "19282:445:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6835, + "nodeType": "Block", + "src": "20026:382:27", + "statements": [ + { + "assignments": [ + 6780 + ], + "declarations": [ + { + "constant": false, + "id": 6780, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "20042:6:27", + "nodeType": "VariableDeclaration", + "scope": 6835, + "src": "20034:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6779, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20034:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6784, + "initialValue": { + "arguments": [ + { + "id": 6782, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "20060:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6781, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "20051:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 6783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20051:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20034:33:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 6786, + "name": "erc1155Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "20080:14:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 6788, + "indexExpression": { + "id": 6787, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "20095:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20080:22:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6790, + "indexExpression": { + "id": 6789, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6774, + "src": "20103:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20080:32:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6791, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6772, + "src": "20116:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20080:43:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e74207265717565737465642069732067726561746572207468616e2062656e65666963696172792062616c616e63652e", + "id": 6793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20125:62:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + }, + "value": "RAHAT: Amount requested is greater than beneficiary balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + } + ], + "id": 6785, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "20072:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20072:116:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6795, + "nodeType": "ExpressionStatement", + "src": "20072:116:27" + }, + { + "assignments": [ + 6798 + ], + "declarations": [ + { + "constant": false, + "id": 6798, + "mutability": "mutable", + "name": "ac", + "nameLocation": "20207:2:27", + "nodeType": "VariableDeclaration", + "scope": 6835, + "src": "20193:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 6797, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6796, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "20193:5:27" + }, + "referencedDeclaration": 5320, + "src": "20193:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 6807, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 6799, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "20212:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 6802, + "indexExpression": { + "expression": { + "id": 6800, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "20232:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "20232:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20212:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 6804, + "indexExpression": { + "id": 6803, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6780, + "src": "20244:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20212:39:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 6806, + "indexExpression": { + "id": 6805, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6774, + "src": "20252:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20212:49:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20193:68:27" + }, + { + "expression": { + "id": 6812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6808, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6798, + "src": "20266:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "20266:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 6811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20282:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "20266:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6813, + "nodeType": "ExpressionStatement", + "src": "20266:21:27" + }, + { + "expression": { + "id": 6818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6814, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6798, + "src": "20292:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6816, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "20292:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 6817, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6772, + "src": "20304:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20292:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6819, + "nodeType": "ExpressionStatement", + "src": "20292:19:27" + }, + { + "expression": { + "id": 6825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6820, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6798, + "src": "20316:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6822, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "20316:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 6823, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "20326:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 6824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "20326:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "20316:25:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6826, + "nodeType": "ExpressionStatement", + "src": "20316:25:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 6828, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967270, + "src": "20366:2:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 6829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "20366:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6830, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6770, + "src": "20377:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6831, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6774, + "src": "20385:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6832, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6772, + "src": "20395:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6827, + "name": "ClaimedERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5146, + "src": "20351:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256)" + } + }, + "id": 6833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20351:52:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6834, + "nodeType": "EmitStatement", + "src": "20346:57:27" + } + ] + }, + "documentation": { + "id": 6768, + "nodeType": "StructuredDocumentation", + "src": "19733:193:27", + "text": "@dev claim tokens from the beneficiary by vendor\n@param _phone identity of the beneficiary\n@param _amount amaount of ERC1155 tokens to request\n@param _tokenId ERC1155 token id" + }, + "functionSelector": "747bb537", + "id": 6836, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6777, + "kind": "modifierInvocation", + "modifierName": { + "id": 6776, + "name": "OnlyVendor", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5460, + "src": "20015:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "20015:10:27" + } + ], + "name": "createERC1155Claim", + "nameLocation": "19938:18:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6770, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "19965:6:27", + "nodeType": "VariableDeclaration", + "scope": 6836, + "src": "19957:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6769, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19957:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6772, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "19981:7:27", + "nodeType": "VariableDeclaration", + "scope": 6836, + "src": "19973:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6771, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19973:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6774, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "19998:8:27", + "nodeType": "VariableDeclaration", + "scope": 6836, + "src": "19990:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6773, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19990:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19956:51:27" + }, + "returnParameters": { + "id": 6778, + "nodeType": "ParameterList", + "parameters": [], + "src": "20026:0:27" + }, + "scope": 7837, + "src": "19929:479:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 6935, + "nodeType": "Block", + "src": "20868:722:27", + "statements": [ + { + "assignments": [ + 6849 + ], + "declarations": [ + { + "constant": false, + "id": 6849, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "20884:5:27", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "20876:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6848, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "20876:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6865, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 6855, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "20927:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 6854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "20919:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6853, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20919:7:27", + "typeDescriptions": {} + } + }, + "id": 6856, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20919:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6857, + "name": "CREATE_CLAIM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5230, + "src": "20934:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 6858, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "20948:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6860, + "indexExpression": { + "id": 6859, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6839, + "src": "20955:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "20948:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6861, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6843, + "src": "20965:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6862, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6845, + "src": "20972:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6851, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "20902:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6852, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "20902:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20902:78:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6850, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "20892:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20892:89:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "20876:105:27" + }, + { + "assignments": [ + 6867 + ], + "declarations": [ + { + "constant": false, + "id": 6867, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "21077:15:27", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "21069:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6866, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21069:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6872, + "initialValue": { + "arguments": [ + { + "id": 6869, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6849, + "src": "21108:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6870, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6841, + "src": "21114:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6868, + "name": "verifyVendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6102, + "src": "21095:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) view returns (address)" + } + }, + "id": 6871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21095:30:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21069:56:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6874, + "name": "recoveredSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6867, + "src": "21144:15:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 6875, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6839, + "src": "21163:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "21144:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d6174636865642077697468207369676e6572", + "id": 6877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21171:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + }, + "value": "Signature did not matched with signer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + } + ], + "id": 6873, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "21136:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21136:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6879, + "nodeType": "ExpressionStatement", + "src": "21136:75:27" + }, + { + "expression": { + "id": 6883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "21222:17:27", + "subExpression": { + "baseExpression": { + "id": 6880, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "21222:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6882, + "indexExpression": { + "id": 6881, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6839, + "src": "21229:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "21222:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6884, + "nodeType": "ExpressionStatement", + "src": "21222:17:27" + }, + { + "assignments": [ + 6886 + ], + "declarations": [ + { + "constant": false, + "id": 6886, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "21256:6:27", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "21248:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6885, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "21248:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6890, + "initialValue": { + "arguments": [ + { + "id": 6888, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6843, + "src": "21274:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6887, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "21265:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 6889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21265:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21248:33:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 6892, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "21294:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6894, + "indexExpression": { + "id": 6893, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6843, + "src": "21307:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21294:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6895, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6845, + "src": "21318:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21294:31:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e74207265717565737465642069732067726561746572207468616e2062656e65666963696172792062616c616e63652e", + "id": 6897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21327:62:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + }, + "value": "RAHAT: Amount requested is greater than beneficiary balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + } + ], + "id": 6891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "21286:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21286:104:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6899, + "nodeType": "ExpressionStatement", + "src": "21286:104:27" + }, + { + "assignments": [ + 6902 + ], + "declarations": [ + { + "constant": false, + "id": 6902, + "mutability": "mutable", + "name": "ac", + "nameLocation": "21409:2:27", + "nodeType": "VariableDeclaration", + "scope": 6935, + "src": "21395:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 6901, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 6900, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "21395:5:27" + }, + "referencedDeclaration": 5320, + "src": "21395:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 6908, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 6903, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "21414:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 6905, + "indexExpression": { + "id": 6904, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6839, + "src": "21432:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21414:26:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 6907, + "indexExpression": { + "id": 6906, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6886, + "src": "21441:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "21414:34:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "21395:53:27" + }, + { + "expression": { + "id": 6913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6909, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6902, + "src": "21453:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6911, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "21453:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 6912, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21469:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "21453:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6914, + "nodeType": "ExpressionStatement", + "src": "21453:21:27" + }, + { + "expression": { + "id": 6919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6915, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6902, + "src": "21479:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6917, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "21479:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 6918, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6845, + "src": "21491:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21479:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6920, + "nodeType": "ExpressionStatement", + "src": "21479:19:27" + }, + { + "expression": { + "id": 6926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 6921, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6902, + "src": "21503:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 6923, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "21503:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 6924, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "21513:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 6925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "21513:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "21503:25:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6927, + "nodeType": "ExpressionStatement", + "src": "21503:25:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 6929, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967270, + "src": "21551:2:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 6930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "21551:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6931, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6843, + "src": "21562:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6932, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6845, + "src": "21570:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6928, + "name": "ClaimedERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "21538:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 6933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21538:40:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6934, + "nodeType": "EmitStatement", + "src": "21533:45:27" + } + ] + }, + "documentation": { + "id": 6837, + "nodeType": "StructuredDocumentation", + "src": "20414:336:27", + "text": "@dev delegate a createClaim transaction for ERC20\n@param _signer address of vendor/caller of createClaim\n @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\n @param _phone identity of benficiary\n @param _amount amount of token to be claimed" + }, + "functionSelector": "c8d9bb29", + "id": 6936, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "delegate_createERC20Claim", + "nameLocation": "20762:25:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6839, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "20796:7:27", + "nodeType": "VariableDeclaration", + "scope": 6936, + "src": "20788:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6838, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20788:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6841, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "20817:10:27", + "nodeType": "VariableDeclaration", + "scope": 6936, + "src": "20804:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6840, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "20804:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6843, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "20836:6:27", + "nodeType": "VariableDeclaration", + "scope": 6936, + "src": "20828:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6842, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20828:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6845, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "20852:7:27", + "nodeType": "VariableDeclaration", + "scope": 6936, + "src": "20844:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6844, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20844:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "20787:73:27" + }, + "returnParameters": { + "id": 6847, + "nodeType": "ParameterList", + "parameters": [], + "src": "20868:0:27" + }, + "scope": 7837, + "src": "20753:837:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7043, + "nodeType": "Block", + "src": "22110:767:27", + "statements": [ + { + "assignments": [ + 6951 + ], + "declarations": [ + { + "constant": false, + "id": 6951, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "22127:5:27", + "nodeType": "VariableDeclaration", + "scope": 7043, + "src": "22119:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6950, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22119:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6968, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 6957, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "22170:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 6956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "22162:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6955, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22162:7:27", + "typeDescriptions": {} + } + }, + "id": 6958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22162:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6959, + "name": "CREATE_CLAIM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5230, + "src": "22177:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 6960, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "22191:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6962, + "indexExpression": { + "id": 6961, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6939, + "src": "22198:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22191:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6963, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6943, + "src": "22208:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6964, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6945, + "src": "22215:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6965, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "22223:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 6953, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "22145:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "22145:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22145:87:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6952, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "22135:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 6967, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22135:98:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22119:114:27" + }, + { + "assignments": [ + 6970 + ], + "declarations": [ + { + "constant": false, + "id": 6970, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "22329:15:27", + "nodeType": "VariableDeclaration", + "scope": 7043, + "src": "22321:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6969, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22321:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6975, + "initialValue": { + "arguments": [ + { + "id": 6972, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6951, + "src": "22360:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 6973, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6941, + "src": "22366:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6971, + "name": "verifyVendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6102, + "src": "22347:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) view returns (address)" + } + }, + "id": 6974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22347:30:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22321:56:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6977, + "name": "recoveredSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6970, + "src": "22396:15:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 6978, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6939, + "src": "22415:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "22396:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d6174636865642077697468207369676e6572", + "id": 6980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22423:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + }, + "value": "Signature did not matched with signer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + } + ], + "id": 6976, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "22388:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22388:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6982, + "nodeType": "ExpressionStatement", + "src": "22388:75:27" + }, + { + "expression": { + "id": 6986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "22474:17:27", + "subExpression": { + "baseExpression": { + "id": 6983, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "22474:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 6985, + "indexExpression": { + "id": 6984, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6939, + "src": "22481:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "22474:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6987, + "nodeType": "ExpressionStatement", + "src": "22474:17:27" + }, + { + "assignments": [ + 6989 + ], + "declarations": [ + { + "constant": false, + "id": 6989, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "22515:6:27", + "nodeType": "VariableDeclaration", + "scope": 7043, + "src": "22507:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 6988, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "22507:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 6993, + "initialValue": { + "arguments": [ + { + "id": 6991, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6943, + "src": "22533:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6990, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "22524:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 6992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22524:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22507:33:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 6995, + "name": "erc1155Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "22553:14:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$", + "typeString": "mapping(uint256 => mapping(uint256 => uint256))" + } + }, + "id": 6997, + "indexExpression": { + "id": 6996, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6943, + "src": "22568:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22553:22:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 6999, + "indexExpression": { + "id": 6998, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "22576:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22553:32:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 7000, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6945, + "src": "22589:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22553:43:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20416d6f756e74207265717565737465642069732067726561746572207468616e2062656e65666963696172792062616c616e63652e", + "id": 7002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22598:62:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + }, + "value": "RAHAT: Amount requested is greater than beneficiary balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f17ebcf0d7c1ad043111c987d5cc1393a3243c8d803f69d3d65bf74d240e8fd4", + "typeString": "literal_string \"RAHAT: Amount requested is greater than beneficiary balance.\"" + } + ], + "id": 6994, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "22545:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22545:116:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7004, + "nodeType": "ExpressionStatement", + "src": "22545:116:27" + }, + { + "assignments": [ + 7007 + ], + "declarations": [ + { + "constant": false, + "id": 7007, + "mutability": "mutable", + "name": "ac", + "nameLocation": "22680:2:27", + "nodeType": "VariableDeclaration", + "scope": 7043, + "src": "22666:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7006, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7005, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "22666:5:27" + }, + "referencedDeclaration": 5320, + "src": "22666:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7015, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 7008, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "22685:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 7010, + "indexExpression": { + "id": 7009, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6939, + "src": "22705:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22685:28:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 7012, + "indexExpression": { + "id": 7011, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6989, + "src": "22714:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22685:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 7014, + "indexExpression": { + "id": 7013, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "22722:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "22685:46:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "22666:65:27" + }, + { + "expression": { + "id": 7020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7016, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7007, + "src": "22736:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7018, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "22736:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 7019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22752:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "22736:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7021, + "nodeType": "ExpressionStatement", + "src": "22736:21:27" + }, + { + "expression": { + "id": 7026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7022, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7007, + "src": "22762:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7024, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "22762:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7025, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6945, + "src": "22774:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22762:19:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7027, + "nodeType": "ExpressionStatement", + "src": "22762:19:27" + }, + { + "expression": { + "id": 7033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7028, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7007, + "src": "22786:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7030, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "22786:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 7031, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "22796:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "22796:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "22786:25:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7034, + "nodeType": "ExpressionStatement", + "src": "22786:25:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7036, + "name": "tx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967270, + "src": "22836:2:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_transaction", + "typeString": "tx" + } + }, + "id": 7037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "origin", + "nodeType": "MemberAccess", + "src": "22836:9:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7038, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6943, + "src": "22847:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7039, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "22854:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7040, + "name": "_amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6945, + "src": "22864:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7035, + "name": "ClaimedERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5146, + "src": "22821:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256)" + } + }, + "id": 7041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22821:51:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7042, + "nodeType": "EmitStatement", + "src": "22816:56:27" + } + ] + }, + "documentation": { + "id": 6937, + "nodeType": "StructuredDocumentation", + "src": "21598:374:27", + "text": "@dev delegate a createClaim transaction for ERC20\n@param _signer address of vendor/caller of createClaim\n @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\n @param _phone identity of benficiary\n @param _amount amount of token to be claimed\n @param _tokenId ERC1155 tokenId" + }, + "functionSelector": "6d8943e5", + "id": 7044, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "delegate_createERC1155Claim", + "nameLocation": "21984:27:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6948, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6939, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "22020:7:27", + "nodeType": "VariableDeclaration", + "scope": 7044, + "src": "22012:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6938, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22012:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6941, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "22041:10:27", + "nodeType": "VariableDeclaration", + "scope": 7044, + "src": "22028:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6940, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "22028:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6943, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "22060:6:27", + "nodeType": "VariableDeclaration", + "scope": 7044, + "src": "22052:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22052:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6945, + "mutability": "mutable", + "name": "_amount", + "nameLocation": "22076:7:27", + "nodeType": "VariableDeclaration", + "scope": 7044, + "src": "22068:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6944, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22068:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6947, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "22093:8:27", + "nodeType": "VariableDeclaration", + "scope": 7044, + "src": "22085:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6946, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "22085:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "22011:91:27" + }, + "returnParameters": { + "id": 6949, + "nodeType": "ParameterList", + "parameters": [], + "src": "22110:0:27" + }, + "scope": 7837, + "src": "21975:902:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7137, + "nodeType": "Block", + "src": "23407:560:27", + "statements": [ + { + "assignments": [ + 7062 + ], + "declarations": [ + { + "constant": false, + "id": 7062, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "23423:6:27", + "nodeType": "VariableDeclaration", + "scope": 7137, + "src": "23415:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7061, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23415:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7066, + "initialValue": { + "arguments": [ + { + "id": 7064, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "23441:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7063, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "23432:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 7065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23432:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23415:33:27" + }, + { + "assignments": [ + 7069 + ], + "declarations": [ + { + "constant": false, + "id": 7069, + "mutability": "mutable", + "name": "ac", + "nameLocation": "23467:2:27", + "nodeType": "VariableDeclaration", + "scope": 7137, + "src": "23453:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7068, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7067, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "23453:5:27" + }, + "referencedDeclaration": 5320, + "src": "23453:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7075, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 7070, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "23472:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 7072, + "indexExpression": { + "id": 7071, + "name": "_vendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "23490:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23472:26:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 7074, + "indexExpression": { + "id": 7073, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "23499:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "23472:34:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "23453:53:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7077, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23519:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7078, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "23519:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 7079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23530:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "23519:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e206372656174656420796574", + "id": 7081, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23533:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6db0b8d5b6124dfff7bc16f3229f74173cdfdd7d91661aa8ee91fd4cfab79c2", + "typeString": "literal_string \"RAHAT: Claim has not been created yet\"" + }, + "value": "RAHAT: Claim has not been created yet" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d6db0b8d5b6124dfff7bc16f3229f74173cdfdd7d91661aa8ee91fd4cfab79c2", + "typeString": "literal_string \"RAHAT: Claim has not been created yet\"" + } + ], + "id": 7076, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23511:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7082, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23511:62:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7083, + "nodeType": "ExpressionStatement", + "src": "23511:62:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7085, + "name": "_timeToLive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7053, + "src": "23586:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3836343030", + "id": 7086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23601:5:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "86400" + }, + "src": "23586:20:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a54696d6520546f204c6976652073686f756c64206265206c657373207468616e20323420686f757273", + "id": 7088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23608:49:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_494830ec479ab6e8b10f8d4bf9d46223a57a3e831547c9797d10ffe42993c26a", + "typeString": "literal_string \"RAHAT:Time To Live should be less than 24 hours\"" + }, + "value": "RAHAT:Time To Live should be less than 24 hours" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_494830ec479ab6e8b10f8d4bf9d46223a57a3e831547c9797d10ffe42993c26a", + "typeString": "literal_string \"RAHAT:Time To Live should be less than 24 hours\"" + } + ], + "id": 7084, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23578:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23578:80:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7090, + "nodeType": "ExpressionStatement", + "src": "23578:80:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7098, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7092, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "23671:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "23671:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7094, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23690:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7095, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "23690:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3836343030", + "id": 7096, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23700:5:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "86400" + }, + "src": "23690:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23671:34:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d206973206f6c646572207468616e20323420686f757273", + "id": 7099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23707:37:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c812789fe050dbd004401c78ffbd7bed35f2da7c07d9561fb6b59effd4d6049c", + "typeString": "literal_string \"RAHAT: Claim is older than 24 hours\"" + }, + "value": "RAHAT: Claim is older than 24 hours" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c812789fe050dbd004401c78ffbd7bed35f2da7c07d9561fb6b59effd4d6049c", + "typeString": "literal_string \"RAHAT: Claim is older than 24 hours\"" + } + ], + "id": 7091, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23663:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23663:82:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7101, + "nodeType": "ExpressionStatement", + "src": "23663:82:27" + }, + { + "expression": { + "arguments": [ + { + "id": 7105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "23758:14:27", + "subExpression": { + "expression": { + "id": 7103, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23759:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7104, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "23759:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c7265616479206265656e2072656c65617365642e", + "id": 7106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23774:41:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b055079e7b3a8550e9102f232cf5ed277c9056128c3f2966105d06854b21a0ef", + "typeString": "literal_string \"RAHAT: Claim has already been released.\"" + }, + "value": "RAHAT: Claim has already been released." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b055079e7b3a8550e9102f232cf5ed277c9056128c3f2966105d06854b21a0ef", + "typeString": "literal_string \"RAHAT: Claim has already been released.\"" + } + ], + "id": 7102, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "23750:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23750:66:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7108, + "nodeType": "ExpressionStatement", + "src": "23750:66:27" + }, + { + "expression": { + "id": 7113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7109, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23821:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7111, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "otpHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 5315, + "src": "23821:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7112, + "name": "_otpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7051, + "src": "23834:8:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "23821:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7114, + "nodeType": "ExpressionStatement", + "src": "23821:21:27" + }, + { + "expression": { + "id": 7119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7115, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23847:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7117, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "23847:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 7118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23863:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "23847:20:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7120, + "nodeType": "ExpressionStatement", + "src": "23847:20:27" + }, + { + "expression": { + "id": 7128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7121, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23872:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7123, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "23872:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7124, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "23882:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "23882:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 7126, + "name": "_timeToLive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7053, + "src": "23900:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23882:29:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "23872:39:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7129, + "nodeType": "ExpressionStatement", + "src": "23872:39:27" + }, + { + "eventCall": { + "arguments": [ + { + "id": 7131, + "name": "_vendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7047, + "src": "23935:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7132, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "23944:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 7133, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7069, + "src": "23952:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7134, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "23952:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7130, + "name": "ClaimApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5154, + "src": "23921:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 7135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23921:41:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7136, + "nodeType": "EmitStatement", + "src": "23916:46:27" + } + ] + }, + "documentation": { + "id": 7045, + "nodeType": "StructuredDocumentation", + "src": "22889:360:27", + "text": "@notice Approve the requested claim from serverside and set the otp hash\n @param _vendor Address of the vendor who requested the token from beneficiary\n @param _phone Phone number of the beneficiary, to whom token request was sent\n @param _otpHash Hash of OTP sent to beneficiary by server\n @param _timeToLive Validity of OTP in seconds" + }, + "functionSelector": "2d41d559", + "id": 7138, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 7056, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7049, + "src": "23388:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7057, + "kind": "modifierInvocation", + "modifierName": { + "id": 7055, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "23374:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "23374:21:27" + }, + { + "id": 7059, + "kind": "modifierInvocation", + "modifierName": { + "id": 7058, + "name": "OnlyServer", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5413, + "src": "23396:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "23396:10:27" + } + ], + "name": "approveERC20Claim", + "nameLocation": "23261:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7054, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7047, + "mutability": "mutable", + "name": "_vendor", + "nameLocation": "23291:7:27", + "nodeType": "VariableDeclaration", + "scope": 7138, + "src": "23283:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7046, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23283:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7049, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "23311:6:27", + "nodeType": "VariableDeclaration", + "scope": 7138, + "src": "23303:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7048, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23303:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7051, + "mutability": "mutable", + "name": "_otpHash", + "nameLocation": "23330:8:27", + "nodeType": "VariableDeclaration", + "scope": 7138, + "src": "23322:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7050, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "23322:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7053, + "mutability": "mutable", + "name": "_timeToLive", + "nameLocation": "23351:11:27", + "nodeType": "VariableDeclaration", + "scope": 7138, + "src": "23343:19:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7052, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "23343:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23278:88:27" + }, + "returnParameters": { + "id": 7060, + "nodeType": "ParameterList", + "parameters": [], + "src": "23407:0:27" + }, + "scope": 7837, + "src": "23252:715:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7232, + "nodeType": "Block", + "src": "24533:572:27", + "statements": [ + { + "assignments": [ + 7155 + ], + "declarations": [ + { + "constant": false, + "id": 7155, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "24549:6:27", + "nodeType": "VariableDeclaration", + "scope": 7232, + "src": "24541:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7154, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24541:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7159, + "initialValue": { + "arguments": [ + { + "id": 7157, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7143, + "src": "24567:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7156, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "24558:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 7158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24558:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24541:33:27" + }, + { + "assignments": [ + 7162 + ], + "declarations": [ + { + "constant": false, + "id": 7162, + "mutability": "mutable", + "name": "ac", + "nameLocation": "24593:2:27", + "nodeType": "VariableDeclaration", + "scope": 7232, + "src": "24579:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7161, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7160, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "24579:5:27" + }, + "referencedDeclaration": 5320, + "src": "24579:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7170, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 7163, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "24598:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 7165, + "indexExpression": { + "id": 7164, + "name": "_vendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7141, + "src": "24618:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24598:28:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 7167, + "indexExpression": { + "id": 7166, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7155, + "src": "24627:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24598:36:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 7169, + "indexExpression": { + "id": 7168, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7149, + "src": "24635:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "24598:46:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "24579:65:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7175, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7172, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "24657:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "24657:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 7174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24668:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "24657:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e206372656174656420796574", + "id": 7176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24671:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6db0b8d5b6124dfff7bc16f3229f74173cdfdd7d91661aa8ee91fd4cfab79c2", + "typeString": "literal_string \"RAHAT: Claim has not been created yet\"" + }, + "value": "RAHAT: Claim has not been created yet" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d6db0b8d5b6124dfff7bc16f3229f74173cdfdd7d91661aa8ee91fd4cfab79c2", + "typeString": "literal_string \"RAHAT: Claim has not been created yet\"" + } + ], + "id": 7171, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24649:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24649:62:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7178, + "nodeType": "ExpressionStatement", + "src": "24649:62:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7180, + "name": "_timeToLive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7147, + "src": "24724:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "3836343030", + "id": 7181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24739:5:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "86400" + }, + "src": "24724:20:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a54696d6520546f204c6976652073686f756c64206265206c657373207468616e20323420686f757273", + "id": 7183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24746:49:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_494830ec479ab6e8b10f8d4bf9d46223a57a3e831547c9797d10ffe42993c26a", + "typeString": "literal_string \"RAHAT:Time To Live should be less than 24 hours\"" + }, + "value": "RAHAT:Time To Live should be less than 24 hours" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_494830ec479ab6e8b10f8d4bf9d46223a57a3e831547c9797d10ffe42993c26a", + "typeString": "literal_string \"RAHAT:Time To Live should be less than 24 hours\"" + } + ], + "id": 7179, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24716:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24716:80:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7185, + "nodeType": "ExpressionStatement", + "src": "24716:80:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7187, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "24809:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7188, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "24809:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7189, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "24828:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7190, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "24828:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "3836343030", + "id": 7191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24838:5:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "86400" + }, + "src": "24828:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "24809:34:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d206973206f6c646572207468616e20323420686f757273", + "id": 7194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24845:37:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c812789fe050dbd004401c78ffbd7bed35f2da7c07d9561fb6b59effd4d6049c", + "typeString": "literal_string \"RAHAT: Claim is older than 24 hours\"" + }, + "value": "RAHAT: Claim is older than 24 hours" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c812789fe050dbd004401c78ffbd7bed35f2da7c07d9561fb6b59effd4d6049c", + "typeString": "literal_string \"RAHAT: Claim is older than 24 hours\"" + } + ], + "id": 7186, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24801:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24801:82:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7196, + "nodeType": "ExpressionStatement", + "src": "24801:82:27" + }, + { + "expression": { + "arguments": [ + { + "id": 7200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "24896:14:27", + "subExpression": { + "expression": { + "id": 7198, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "24897:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7199, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "24897:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c7265616479206265656e2072656c65617365642e", + "id": 7201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24912:41:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b055079e7b3a8550e9102f232cf5ed277c9056128c3f2966105d06854b21a0ef", + "typeString": "literal_string \"RAHAT: Claim has already been released.\"" + }, + "value": "RAHAT: Claim has already been released." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b055079e7b3a8550e9102f232cf5ed277c9056128c3f2966105d06854b21a0ef", + "typeString": "literal_string \"RAHAT: Claim has already been released.\"" + } + ], + "id": 7197, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "24888:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24888:66:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7203, + "nodeType": "ExpressionStatement", + "src": "24888:66:27" + }, + { + "expression": { + "id": 7208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7204, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "24959:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7206, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "otpHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 5315, + "src": "24959:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 7207, + "name": "_otpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7145, + "src": "24972:8:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "24959:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 7209, + "nodeType": "ExpressionStatement", + "src": "24959:21:27" + }, + { + "expression": { + "id": 7214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7210, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "24985:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7212, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "24985:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 7213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25001:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "24985:20:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7215, + "nodeType": "ExpressionStatement", + "src": "24985:20:27" + }, + { + "expression": { + "id": 7223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7216, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "25010:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7218, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "25010:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7219, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "25020:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "25020:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 7221, + "name": "_timeToLive", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7147, + "src": "25038:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25020:29:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25010:39:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7224, + "nodeType": "ExpressionStatement", + "src": "25010:39:27" + }, + { + "eventCall": { + "arguments": [ + { + "id": 7226, + "name": "_vendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7141, + "src": "25073:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7227, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7143, + "src": "25082:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 7228, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7162, + "src": "25090:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7229, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "25090:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7225, + "name": "ClaimApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5154, + "src": "25059:13:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 7230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25059:41:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7231, + "nodeType": "EmitStatement", + "src": "25054:46:27" + } + ] + }, + "documentation": { + "id": 7139, + "nodeType": "StructuredDocumentation", + "src": "23973:400:27", + "text": "@notice Approve the requested claim from serverside and set the otp hash\n @param _vendor Address of the vendor who requested the token from beneficiary\n @param _phone Phone number of the beneficiary, to whom token request was sent\n @param _otpHash Hash of OTP sent to beneficiary by server\n @param _timeToLive Validity of OTP in seconds\n @param _tokenId ERC1155 tokenId" + }, + "functionSelector": "83d385a4", + "id": 7233, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 7152, + "kind": "modifierInvocation", + "modifierName": { + "id": 7151, + "name": "OnlyServer", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5413, + "src": "24522:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "24522:10:27" + } + ], + "name": "approveERC1155Claim", + "nameLocation": "24385:19:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7141, + "mutability": "mutable", + "name": "_vendor", + "nameLocation": "24417:7:27", + "nodeType": "VariableDeclaration", + "scope": 7233, + "src": "24409:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7140, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24409:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7143, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "24437:6:27", + "nodeType": "VariableDeclaration", + "scope": 7233, + "src": "24429:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24429:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7145, + "mutability": "mutable", + "name": "_otpHash", + "nameLocation": "24456:8:27", + "nodeType": "VariableDeclaration", + "scope": 7233, + "src": "24448:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7144, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "24448:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7147, + "mutability": "mutable", + "name": "_timeToLive", + "nameLocation": "24477:11:27", + "nodeType": "VariableDeclaration", + "scope": 7233, + "src": "24469:19:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7146, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24469:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7149, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "24501:8:27", + "nodeType": "VariableDeclaration", + "scope": 7233, + "src": "24493:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7148, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "24493:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24404:109:27" + }, + "returnParameters": { + "id": 7153, + "nodeType": "ParameterList", + "parameters": [], + "src": "24533:0:27" + }, + "scope": 7837, + "src": "24376:729:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7340, + "nodeType": "Block", + "src": "25418:609:27", + "statements": [ + { + "assignments": [ + 7247 + ], + "declarations": [ + { + "constant": false, + "id": 7247, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "25434:6:27", + "nodeType": "VariableDeclaration", + "scope": 7340, + "src": "25426:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7246, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25426:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7251, + "initialValue": { + "arguments": [ + { + "id": 7249, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7236, + "src": "25452:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7248, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "25443:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 7250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25443:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25426:33:27" + }, + { + "assignments": [ + 7254 + ], + "declarations": [ + { + "constant": false, + "id": 7254, + "mutability": "mutable", + "name": "ac", + "nameLocation": "25478:2:27", + "nodeType": "VariableDeclaration", + "scope": 7340, + "src": "25464:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7253, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7252, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "25464:5:27" + }, + "referencedDeclaration": 5320, + "src": "25464:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7261, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 7255, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "25483:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 7258, + "indexExpression": { + "expression": { + "id": 7256, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "25501:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "25501:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25483:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 7260, + "indexExpression": { + "id": 7259, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7247, + "src": "25513:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25483:37:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25464:56:27" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7263, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25533:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7264, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "25533:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e2072656c65617365642e", + "id": 7265, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25548:37:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + }, + "value": "RAHAT: Claim has not been released." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + } + ], + "id": 7262, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "25525:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25525:61:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7267, + "nodeType": "ExpressionStatement", + "src": "25525:61:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7269, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25599:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7270, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "25599:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 7271, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "25610:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "25610:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "25599:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c726561647920657870697265642e", + "id": 7274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25627:35:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + }, + "value": "RAHAT: Claim has already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + } + ], + "id": 7268, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "25591:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25591:72:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7276, + "nodeType": "ExpressionStatement", + "src": "25591:72:27" + }, + { + "assignments": [ + 7278 + ], + "declarations": [ + { + "constant": false, + "id": 7278, + "mutability": "mutable", + "name": "otpHash", + "nameLocation": "25676:7:27", + "nodeType": "VariableDeclaration", + "scope": 7340, + "src": "25668:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7277, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "25668:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7282, + "initialValue": { + "arguments": [ + { + "id": 7280, + "name": "_otp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7238, + "src": "25695:4:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 7279, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "25686:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 7281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25686:14:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25668:32:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 7284, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "25713:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 7287, + "indexExpression": { + "expression": { + "id": 7285, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "25731:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "25731:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25713:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 7289, + "indexExpression": { + "id": 7288, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7247, + "src": "25743:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "25713:37:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "id": 7290, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "otpHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 5315, + "src": "25713:45:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 7291, + "name": "otpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7278, + "src": "25762:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "25713:56:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a204f545020646964206e6f74206d617463682e", + "id": 7293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25771:27:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + }, + "value": "RAHAT: OTP did not match." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + } + ], + "id": 7283, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "25705:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25705:94:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7295, + "nodeType": "ExpressionStatement", + "src": "25705:94:27" + }, + { + "expression": { + "arguments": [ + { + "id": 7297, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7236, + "src": "25822:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 7298, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25829:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7299, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "25829:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7296, + "name": "adjustTokenDeduct", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5937, + 5990 + ], + "referencedDeclaration": 5937, + "src": "25804:17:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 7300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25804:35:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7301, + "nodeType": "ExpressionStatement", + "src": "25804:35:27" + }, + { + "assignments": [ + 7303 + ], + "declarations": [ + { + "constant": false, + "id": 7303, + "mutability": "mutable", + "name": "amt", + "nameLocation": "25852:3:27", + "nodeType": "VariableDeclaration", + "scope": 7340, + "src": "25844:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7302, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25844:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7306, + "initialValue": { + "expression": { + "id": 7304, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25858:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7305, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "25858:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "25844:23:27" + }, + { + "expression": { + "id": 7311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7307, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25872:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7309, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "25872:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 7310, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25888:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "25872:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7312, + "nodeType": "ExpressionStatement", + "src": "25872:21:27" + }, + { + "expression": { + "id": 7317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7313, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25898:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7315, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "25898:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25910:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "25898:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7318, + "nodeType": "ExpressionStatement", + "src": "25898:13:27" + }, + { + "expression": { + "id": 7323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7319, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7254, + "src": "25916:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7321, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "25916:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7322, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25926:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "25916:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7324, + "nodeType": "ExpressionStatement", + "src": "25916:11:27" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7328, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "25950:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "25950:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7330, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7303, + "src": "25962:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7325, + "name": "erc20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "25935:5:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "id": 7327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2271, + "src": "25935:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 7331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25935:31:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7332, + "nodeType": "ExpressionStatement", + "src": "25935:31:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7334, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "25998:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "25998:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7336, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7236, + "src": "26009:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7337, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7303, + "src": "26016:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7333, + "name": "ClaimAcquiredERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5180, + "src": "25979:18:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 7338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25979:41:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7339, + "nodeType": "EmitStatement", + "src": "25974:46:27" + } + ] + }, + "documentation": { + "id": 7234, + "nodeType": "StructuredDocumentation", + "src": "25110:202:27", + "text": "@notice Retrieve tokens that was requested to beneficiary by entering OTP\n @param _phone Phone Number of the beneficiary, to whom token request was sent\n @param _otp OTP sent by the server" + }, + "functionSelector": "27fa7a20", + "id": 7341, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 7241, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7236, + "src": "25399:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7242, + "kind": "modifierInvocation", + "modifierName": { + "id": 7240, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "25385:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "25385:21:27" + }, + { + "id": 7244, + "kind": "modifierInvocation", + "modifierName": { + "id": 7243, + "name": "OnlyVendor", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5460, + "src": "25407:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "25407:10:27" + } + ], + "name": "getERC20FromClaim", + "nameLocation": "25324:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7239, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7236, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "25350:6:27", + "nodeType": "VariableDeclaration", + "scope": 7341, + "src": "25342:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7235, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "25342:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7238, + "mutability": "mutable", + "name": "_otp", + "nameLocation": "25372:4:27", + "nodeType": "VariableDeclaration", + "scope": 7341, + "src": "25358:18:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7237, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25358:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "25341:36:27" + }, + "returnParameters": { + "id": 7245, + "nodeType": "ParameterList", + "parameters": [], + "src": "25418:0:27" + }, + "scope": 7837, + "src": "25315:712:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7459, + "nodeType": "Block", + "src": "26376:681:27", + "statements": [ + { + "assignments": [ + 7354 + ], + "declarations": [ + { + "constant": false, + "id": 7354, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "26392:6:27", + "nodeType": "VariableDeclaration", + "scope": 7459, + "src": "26384:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7353, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "26384:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7358, + "initialValue": { + "arguments": [ + { + "id": 7356, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7344, + "src": "26410:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7355, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "26401:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 7357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26401:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26384:33:27" + }, + { + "assignments": [ + 7361 + ], + "declarations": [ + { + "constant": false, + "id": 7361, + "mutability": "mutable", + "name": "ac", + "nameLocation": "26436:2:27", + "nodeType": "VariableDeclaration", + "scope": 7459, + "src": "26422:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7360, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7359, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "26422:5:27" + }, + "referencedDeclaration": 5320, + "src": "26422:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7370, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 7362, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "26441:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 7365, + "indexExpression": { + "expression": { + "id": 7363, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "26461:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26461:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26441:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 7367, + "indexExpression": { + "id": 7366, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7354, + "src": "26473:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26441:39:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 7369, + "indexExpression": { + "id": 7368, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "26481:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26441:49:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26422:68:27" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7372, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26503:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7373, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "26503:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e2072656c65617365642e", + "id": 7374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26518:37:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + }, + "value": "RAHAT: Claim has not been released." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + } + ], + "id": 7371, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26495:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26495:61:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7376, + "nodeType": "ExpressionStatement", + "src": "26495:61:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7378, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26569:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7379, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "26569:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 7380, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "26580:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "26580:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "26569:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c726561647920657870697265642e", + "id": 7383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26597:35:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + }, + "value": "RAHAT: Claim has already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + } + ], + "id": 7377, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26561:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26561:72:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7385, + "nodeType": "ExpressionStatement", + "src": "26561:72:27" + }, + { + "assignments": [ + 7387 + ], + "declarations": [ + { + "constant": false, + "id": 7387, + "mutability": "mutable", + "name": "otpHash", + "nameLocation": "26646:7:27", + "nodeType": "VariableDeclaration", + "scope": 7459, + "src": "26638:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7386, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "26638:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7391, + "initialValue": { + "arguments": [ + { + "id": 7389, + "name": "_otp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7346, + "src": "26665:4:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 7388, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "26656:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 7390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26656:14:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26638:32:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 7393, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "26683:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 7396, + "indexExpression": { + "expression": { + "id": 7394, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "26703:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26703:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26683:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 7398, + "indexExpression": { + "id": 7397, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7354, + "src": "26715:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26683:39:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 7400, + "indexExpression": { + "id": 7399, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "26723:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "26683:49:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "id": 7401, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "otpHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 5315, + "src": "26683:57:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 7402, + "name": "otpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7387, + "src": "26744:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "26683:68:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a204f545020646964206e6f74206d617463682e", + "id": 7404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26753:27:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + }, + "value": "RAHAT: OTP did not match." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + } + ], + "id": 7392, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "26675:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26675:106:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7406, + "nodeType": "ExpressionStatement", + "src": "26675:106:27" + }, + { + "expression": { + "arguments": [ + { + "id": 7408, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7344, + "src": "26804:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 7409, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26811:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7410, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "26811:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7411, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "26821:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7407, + "name": "adjustTokenDeduct", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5937, + 5990 + ], + "referencedDeclaration": 5990, + "src": "26786:17:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 7412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26786:44:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7413, + "nodeType": "ExpressionStatement", + "src": "26786:44:27" + }, + { + "assignments": [ + 7415 + ], + "declarations": [ + { + "constant": false, + "id": 7415, + "mutability": "mutable", + "name": "amt", + "nameLocation": "26843:3:27", + "nodeType": "VariableDeclaration", + "scope": 7459, + "src": "26835:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7414, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26835:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7418, + "initialValue": { + "expression": { + "id": 7416, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26849:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7417, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "26849:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "26835:23:27" + }, + { + "expression": { + "id": 7423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7419, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26863:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7421, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "26863:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 7422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26879:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "26863:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7424, + "nodeType": "ExpressionStatement", + "src": "26863:21:27" + }, + { + "expression": { + "id": 7429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7425, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26889:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7427, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "26889:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26901:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "26889:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7430, + "nodeType": "ExpressionStatement", + "src": "26889:13:27" + }, + { + "expression": { + "id": 7435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7431, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "26907:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7433, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "26907:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7434, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26917:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "26907:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7436, + "nodeType": "ExpressionStatement", + "src": "26907:11:27" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 7442, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "26956:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 7441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "26948:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 7440, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26948:7:27", + "typeDescriptions": {} + } + }, + "id": 7443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26948:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 7444, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "26962:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "26962:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7446, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "26973:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7447, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7415, + "src": "26983:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 7448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26987:2:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 7437, + "name": "erc1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5245, + "src": "26923:7:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "id": 7439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 820, + "src": "26923:24:27", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external" + } + }, + "id": 7449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26923:67:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7450, + "nodeType": "ExpressionStatement", + "src": "26923:67:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7452, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "27021:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "27021:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7454, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7344, + "src": "27032:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7455, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7348, + "src": "27039:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7456, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7415, + "src": "27048:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7451, + "name": "ClaimAcquiredERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5190, + "src": "27000:20:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256)" + } + }, + "id": 7457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27000:52:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7458, + "nodeType": "EmitStatement", + "src": "26995:57:27" + } + ] + }, + "documentation": { + "id": 7342, + "nodeType": "StructuredDocumentation", + "src": "26033:240:27", + "text": "@notice Retrieve tokens that was requested to beneficiary by entering OTP\n @param _phone Phone Number of the beneficiary, to whom token request was sent\n @param _otp OTP sent by the server\n @param _tokenId ERC1155 tokenId" + }, + "functionSelector": "bfa68363", + "id": 7460, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 7351, + "kind": "modifierInvocation", + "modifierName": { + "id": 7350, + "name": "OnlyVendor", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5460, + "src": "26365:10:27" + }, + "nodeType": "ModifierInvocation", + "src": "26365:10:27" + } + ], + "name": "getERC1155FromClaim", + "nameLocation": "26285:19:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7349, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7344, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "26313:6:27", + "nodeType": "VariableDeclaration", + "scope": 7460, + "src": "26305:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7343, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26305:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7346, + "mutability": "mutable", + "name": "_otp", + "nameLocation": "26335:4:27", + "nodeType": "VariableDeclaration", + "scope": 7460, + "src": "26321:18:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7345, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "26321:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7348, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "26348:8:27", + "nodeType": "VariableDeclaration", + "scope": 7460, + "src": "26340:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7347, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "26340:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26304:53:27" + }, + "returnParameters": { + "id": 7352, + "nodeType": "ParameterList", + "parameters": [], + "src": "26376:0:27" + }, + "scope": 7837, + "src": "26276:781:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7607, + "nodeType": "Block", + "src": "27589:989:27", + "statements": [ + { + "assignments": [ + 7476 + ], + "declarations": [ + { + "constant": false, + "id": 7476, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "27612:5:27", + "nodeType": "VariableDeclaration", + "scope": 7607, + "src": "27604:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7475, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "27604:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7492, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 7482, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "27655:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 7481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "27647:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 7480, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27647:7:27", + "typeDescriptions": {} + } + }, + "id": 7483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27647:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7484, + "name": "CREATE_CLAIM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5230, + "src": "27662:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 7485, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "27676:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7487, + "indexExpression": { + "id": 7486, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7463, + "src": "27683:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "27676:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7488, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7467, + "src": "27693:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7489, + "name": "_otp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7469, + "src": "27700:4:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7478, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "27630:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "27630:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27630:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7477, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "27620:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27620:86:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27604:102:27" + }, + { + "assignments": [ + 7494 + ], + "declarations": [ + { + "constant": false, + "id": 7494, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "27802:15:27", + "nodeType": "VariableDeclaration", + "scope": 7607, + "src": "27794:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7493, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27794:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 7499, + "initialValue": { + "arguments": [ + { + "id": 7496, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7476, + "src": "27833:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 7497, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7465, + "src": "27839:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7495, + "name": "verifyVendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6102, + "src": "27820:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) view returns (address)" + } + }, + "id": 7498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27820:30:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27794:56:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7503, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7501, + "name": "recoveredSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7494, + "src": "27869:15:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 7502, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7463, + "src": "27888:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "27869:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d6174636865642077697468207369676e6572", + "id": 7504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27896:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + }, + "value": "Signature did not matched with signer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + } + ], + "id": 7500, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "27861:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27861:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7506, + "nodeType": "ExpressionStatement", + "src": "27861:75:27" + }, + { + "expression": { + "id": 7510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "27947:17:27", + "subExpression": { + "baseExpression": { + "id": 7507, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "27947:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7509, + "indexExpression": { + "id": 7508, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7463, + "src": "27954:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "27947:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7511, + "nodeType": "ExpressionStatement", + "src": "27947:17:27" + }, + { + "assignments": [ + 7513 + ], + "declarations": [ + { + "constant": false, + "id": 7513, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "27987:6:27", + "nodeType": "VariableDeclaration", + "scope": 7607, + "src": "27979:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7512, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "27979:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7517, + "initialValue": { + "arguments": [ + { + "id": 7515, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7467, + "src": "28005:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7514, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "27996:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 7516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27996:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "27979:33:27" + }, + { + "assignments": [ + 7520 + ], + "declarations": [ + { + "constant": false, + "id": 7520, + "mutability": "mutable", + "name": "ac", + "nameLocation": "28031:2:27", + "nodeType": "VariableDeclaration", + "scope": 7607, + "src": "28017:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7519, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7518, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "28017:5:27" + }, + "referencedDeclaration": 5320, + "src": "28017:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7527, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 7521, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "28036:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 7524, + "indexExpression": { + "expression": { + "id": 7522, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "28054:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28054:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28036:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 7526, + "indexExpression": { + "id": 7525, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7513, + "src": "28066:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28036:37:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28017:56:27" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7529, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28086:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7530, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "28086:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e2072656c65617365642e", + "id": 7531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28101:37:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + }, + "value": "RAHAT: Claim has not been released." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + } + ], + "id": 7528, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "28078:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28078:61:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7533, + "nodeType": "ExpressionStatement", + "src": "28078:61:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7535, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28152:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7536, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "28152:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 7537, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "28163:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "28163:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28152:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c726561647920657870697265642e", + "id": 7540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28180:35:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + }, + "value": "RAHAT: Claim has already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + } + ], + "id": 7534, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "28144:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28144:72:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7542, + "nodeType": "ExpressionStatement", + "src": "28144:72:27" + }, + { + "assignments": [ + 7544 + ], + "declarations": [ + { + "constant": false, + "id": 7544, + "mutability": "mutable", + "name": "otpHash", + "nameLocation": "28229:7:27", + "nodeType": "VariableDeclaration", + "scope": 7607, + "src": "28221:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7543, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "28221:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7548, + "initialValue": { + "arguments": [ + { + "id": 7546, + "name": "_otp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7469, + "src": "28248:4:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 7545, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "28239:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 7547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28239:14:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28221:32:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 7550, + "name": "recentERC20Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5328, + "src": "28266:17:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(address => mapping(bytes32 => struct Rahat.claim storage ref))" + } + }, + "id": 7553, + "indexExpression": { + "expression": { + "id": 7551, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "28284:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28284:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28266:29:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(bytes32 => struct Rahat.claim storage ref)" + } + }, + "id": 7555, + "indexExpression": { + "id": 7554, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7513, + "src": "28296:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "28266:37:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "id": 7556, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "otpHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 5315, + "src": "28266:45:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 7557, + "name": "otpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7544, + "src": "28315:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "28266:56:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a204f545020646964206e6f74206d617463682e", + "id": 7559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28324:27:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + }, + "value": "RAHAT: OTP did not match." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + } + ], + "id": 7549, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "28258:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7560, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28258:94:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7561, + "nodeType": "ExpressionStatement", + "src": "28258:94:27" + }, + { + "expression": { + "id": 7567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 7562, + "name": "erc20Balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5266, + "src": "28357:12:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 7564, + "indexExpression": { + "id": 7563, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7467, + "src": "28370:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "28357:20:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "expression": { + "id": 7565, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28381:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7566, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "28381:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "28357:33:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7568, + "nodeType": "ExpressionStatement", + "src": "28357:33:27" + }, + { + "assignments": [ + 7570 + ], + "declarations": [ + { + "constant": false, + "id": 7570, + "mutability": "mutable", + "name": "amt", + "nameLocation": "28403:3:27", + "nodeType": "VariableDeclaration", + "scope": 7607, + "src": "28395:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7569, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "28395:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7573, + "initialValue": { + "expression": { + "id": 7571, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28409:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7572, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "28409:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "28395:23:27" + }, + { + "expression": { + "id": 7578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7574, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28423:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7576, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "28423:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 7577, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28439:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "28423:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7579, + "nodeType": "ExpressionStatement", + "src": "28423:21:27" + }, + { + "expression": { + "id": 7584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7580, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28449:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7582, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "28449:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28461:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "28449:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7585, + "nodeType": "ExpressionStatement", + "src": "28449:13:27" + }, + { + "expression": { + "id": 7590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7586, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7520, + "src": "28467:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7588, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "28467:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28477:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "28467:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7591, + "nodeType": "ExpressionStatement", + "src": "28467:11:27" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7595, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "28501:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28501:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7597, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7570, + "src": "28513:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7592, + "name": "erc20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5242, + "src": "28486:5:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC20_$8969", + "typeString": "contract RahatERC20" + } + }, + "id": 7594, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2271, + "src": "28486:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) external returns (bool)" + } + }, + "id": 7598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28486:31:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7599, + "nodeType": "ExpressionStatement", + "src": "28486:31:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7601, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "28549:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "28549:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7603, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7467, + "src": "28560:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7604, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7570, + "src": "28567:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7600, + "name": "ClaimAcquiredERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5180, + "src": "28530:18:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 7605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28530:41:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7606, + "nodeType": "EmitStatement", + "src": "28525:46:27" + } + ] + }, + "documentation": { + "id": 7461, + "nodeType": "StructuredDocumentation", + "src": "27066:379:27", + "text": "@dev delegates getERC20FromClaim for vendors/callers\n@param _signer address of vendor/caller of getERC20FromClaim\n @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\n @param _phone Phone Number of the beneficiary, to whom token request was sent\n @param _otp OTP sent by the server" + }, + "functionSelector": "f94afcea", + "id": 7608, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 7472, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7467, + "src": "27581:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 7473, + "kind": "modifierInvocation", + "modifierName": { + "id": 7471, + "name": "IsBeneficiary", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5447, + "src": "27567:13:27" + }, + "nodeType": "ModifierInvocation", + "src": "27567:21:27" + } + ], + "name": "delegate_getERC20FromClaim", + "nameLocation": "27457:26:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7470, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7463, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "27492:7:27", + "nodeType": "VariableDeclaration", + "scope": 7608, + "src": "27484:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7462, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27484:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7465, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "27513:10:27", + "nodeType": "VariableDeclaration", + "scope": 7608, + "src": "27500:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7464, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "27500:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7467, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "27532:6:27", + "nodeType": "VariableDeclaration", + "scope": 7608, + "src": "27524:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7466, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "27524:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7469, + "mutability": "mutable", + "name": "_otp", + "nameLocation": "27554:4:27", + "nodeType": "VariableDeclaration", + "scope": 7608, + "src": "27540:18:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7468, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "27540:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "27483:76:27" + }, + "returnParameters": { + "id": 7474, + "nodeType": "ParameterList", + "parameters": [], + "src": "27589:0:27" + }, + "scope": 7837, + "src": "27448:1130:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7766, + "nodeType": "Block", + "src": "29143:1065:27", + "statements": [ + { + "assignments": [ + 7623 + ], + "declarations": [ + { + "constant": false, + "id": 7623, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "29159:5:27", + "nodeType": "VariableDeclaration", + "scope": 7766, + "src": "29151:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7622, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "29151:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7640, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 7629, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "29202:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 7628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "29194:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 7627, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29194:7:27", + "typeDescriptions": {} + } + }, + "id": 7630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29194:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7631, + "name": "CREATE_CLAIM", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5230, + "src": "29209:12:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "baseExpression": { + "id": 7632, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "29223:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7634, + "indexExpression": { + "id": 7633, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7611, + "src": "29230:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29223:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7635, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7615, + "src": "29240:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7636, + "name": "_otp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7617, + "src": "29247:4:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7637, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7619, + "src": "29252:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 7625, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "29177:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "29177:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29177:84:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7624, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "29167:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29167:95:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29151:111:27" + }, + { + "assignments": [ + 7642 + ], + "declarations": [ + { + "constant": false, + "id": 7642, + "mutability": "mutable", + "name": "recoveredSigner", + "nameLocation": "29358:15:27", + "nodeType": "VariableDeclaration", + "scope": 7766, + "src": "29350:23:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7641, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29350:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 7647, + "initialValue": { + "arguments": [ + { + "id": 7644, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7623, + "src": "29389:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 7645, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7613, + "src": "29395:10:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7643, + "name": "verifyVendor", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6102, + "src": "29376:12:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$", + "typeString": "function (bytes32,bytes memory) view returns (address)" + } + }, + "id": 7646, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29376:30:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29350:56:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 7651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7649, + "name": "recoveredSigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7642, + "src": "29425:15:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 7650, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7611, + "src": "29444:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "29425:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5369676e617475726520646964206e6f74206d6174636865642077697468207369676e6572", + "id": 7652, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29452:39:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + }, + "value": "Signature did not matched with signer" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_dce67bdf20e832f04bf640b5e49980a043701ebae81b37e19e6118f67f7e42cf", + "typeString": "literal_string \"Signature did not matched with signer\"" + } + ], + "id": 7648, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29417:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29417:75:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7654, + "nodeType": "ExpressionStatement", + "src": "29417:75:27" + }, + { + "expression": { + "id": 7658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "29503:17:27", + "subExpression": { + "baseExpression": { + "id": 7655, + "name": "nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5239, + "src": "29503:6:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 7657, + "indexExpression": { + "id": 7656, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7611, + "src": "29510:7:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "29503:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7659, + "nodeType": "ExpressionStatement", + "src": "29503:17:27" + }, + { + "assignments": [ + 7661 + ], + "declarations": [ + { + "constant": false, + "id": 7661, + "mutability": "mutable", + "name": "_benId", + "nameLocation": "29543:6:27", + "nodeType": "VariableDeclaration", + "scope": 7766, + "src": "29535:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7660, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "29535:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7665, + "initialValue": { + "arguments": [ + { + "id": 7663, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7615, + "src": "29561:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7662, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7801, + "src": "29552:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_bytes32_$", + "typeString": "function (uint256) pure returns (bytes32)" + } + }, + "id": 7664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29552:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29535:33:27" + }, + { + "assignments": [ + 7668 + ], + "declarations": [ + { + "constant": false, + "id": 7668, + "mutability": "mutable", + "name": "ac", + "nameLocation": "29587:2:27", + "nodeType": "VariableDeclaration", + "scope": 7766, + "src": "29573:16:27", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + }, + "typeName": { + "id": 7667, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 7666, + "name": "claim", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5320, + "src": "29573:5:27" + }, + "referencedDeclaration": 5320, + "src": "29573:5:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim" + } + }, + "visibility": "internal" + } + ], + "id": 7677, + "initialValue": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 7669, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "29592:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 7672, + "indexExpression": { + "expression": { + "id": 7670, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "29612:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "29612:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29592:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 7674, + "indexExpression": { + "id": 7673, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7661, + "src": "29624:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29592:39:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 7676, + "indexExpression": { + "id": 7675, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7619, + "src": "29632:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29592:49:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29573:68:27" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 7679, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "29654:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7680, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "29654:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d20686173206e6f74206265656e2072656c65617365642e", + "id": 7681, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29669:37:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + }, + "value": "RAHAT: Claim has not been released." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a8242852744830c4fd3351b4616cbd979b2fa830ef02dac11e97aae2add13165", + "typeString": "literal_string \"RAHAT: Claim has not been released.\"" + } + ], + "id": 7678, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29646:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29646:61:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7683, + "nodeType": "ExpressionStatement", + "src": "29646:61:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 7685, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "29720:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7686, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "29720:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "expression": { + "id": 7687, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967292, + "src": "29731:5:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 7688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "29731:15:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "29720:26:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a20436c61696d2068617320616c726561647920657870697265642e", + "id": 7690, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29748:35:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + }, + "value": "RAHAT: Claim has already expired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_df727d5bd5b8d16a81411aa297ead0276d7ca5c5321dc3239031db77eb763238", + "typeString": "literal_string \"RAHAT: Claim has already expired.\"" + } + ], + "id": 7684, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29712:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29712:72:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7692, + "nodeType": "ExpressionStatement", + "src": "29712:72:27" + }, + { + "assignments": [ + 7694 + ], + "declarations": [ + { + "constant": false, + "id": 7694, + "mutability": "mutable", + "name": "otpHash", + "nameLocation": "29797:7:27", + "nodeType": "VariableDeclaration", + "scope": 7766, + "src": "29789:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7693, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "29789:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 7698, + "initialValue": { + "arguments": [ + { + "id": 7696, + "name": "_otp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7617, + "src": "29816:4:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 7695, + "name": "findHash", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 7783, + 7801 + ], + "referencedDeclaration": 7783, + "src": "29807:8:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (string memory) pure returns (bytes32)" + } + }, + "id": 7697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29807:14:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29789:32:27" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 7710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "baseExpression": { + "baseExpression": { + "id": 7700, + "name": "recentERC1155Claims", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "29834:19:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$_$", + "typeString": "mapping(address => mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref)))" + } + }, + "id": 7703, + "indexExpression": { + "expression": { + "id": 7701, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "29854:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "29854:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29834:31:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$_$", + "typeString": "mapping(bytes32 => mapping(uint256 => struct Rahat.claim storage ref))" + } + }, + "id": 7705, + "indexExpression": { + "id": 7704, + "name": "_benId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7661, + "src": "29866:6:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29834:39:27", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_claim_$5320_storage_$", + "typeString": "mapping(uint256 => struct Rahat.claim storage ref)" + } + }, + "id": 7707, + "indexExpression": { + "id": 7706, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7619, + "src": "29874:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "29834:49:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage", + "typeString": "struct Rahat.claim storage ref" + } + }, + "id": 7708, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "otpHash", + "nodeType": "MemberAccess", + "referencedDeclaration": 5315, + "src": "29834:57:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 7709, + "name": "otpHash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7694, + "src": "29895:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "29834:68:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "52414841543a204f545020646964206e6f74206d617463682e", + "id": 7711, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29904:27:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + }, + "value": "RAHAT: OTP did not match." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ccf92eeb97a78b5befd016fbde8d19b2f5e3f3a7ce03dd7b9d0080e18b87749b", + "typeString": "literal_string \"RAHAT: OTP did not match.\"" + } + ], + "id": 7699, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "29826:7:27", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 7712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29826:106:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7713, + "nodeType": "ExpressionStatement", + "src": "29826:106:27" + }, + { + "expression": { + "arguments": [ + { + "id": 7715, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7615, + "src": "29955:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 7716, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "29962:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7717, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "29962:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7718, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7619, + "src": "29972:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7714, + "name": "adjustTokenDeduct", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 5937, + 5990 + ], + "referencedDeclaration": 5990, + "src": "29937:17:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256,uint256)" + } + }, + "id": 7719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29937:44:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7720, + "nodeType": "ExpressionStatement", + "src": "29937:44:27" + }, + { + "assignments": [ + 7722 + ], + "declarations": [ + { + "constant": false, + "id": 7722, + "mutability": "mutable", + "name": "amt", + "nameLocation": "29994:3:27", + "nodeType": "VariableDeclaration", + "scope": 7766, + "src": "29986:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7721, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29986:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7725, + "initialValue": { + "expression": { + "id": 7723, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "30000:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7724, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "30000:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "29986:23:27" + }, + { + "expression": { + "id": 7730, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7726, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "30014:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7728, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "isReleased", + "nodeType": "MemberAccess", + "referencedDeclaration": 5317, + "src": "30014:13:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 7729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30030:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "30014:21:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7731, + "nodeType": "ExpressionStatement", + "src": "30014:21:27" + }, + { + "expression": { + "id": 7736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7732, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "30040:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7734, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "amount", + "nodeType": "MemberAccess", + "referencedDeclaration": 5313, + "src": "30040:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7735, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30052:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "30040:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7737, + "nodeType": "ExpressionStatement", + "src": "30040:13:27" + }, + { + "expression": { + "id": 7742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 7738, + "name": "ac", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7668, + "src": "30058:2:27", + "typeDescriptions": { + "typeIdentifier": "t_struct$_claim_$5320_storage_ptr", + "typeString": "struct Rahat.claim storage pointer" + } + }, + "id": 7740, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "date", + "nodeType": "MemberAccess", + "referencedDeclaration": 5319, + "src": "30058:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30068:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "30058:11:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7743, + "nodeType": "ExpressionStatement", + "src": "30058:11:27" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 7749, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "30107:4:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Rahat_$7837", + "typeString": "contract Rahat" + } + ], + "id": 7748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "30099:7:27", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 7747, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30099:7:27", + "typeDescriptions": {} + } + }, + "id": 7750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30099:13:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 7751, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "30113:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "30113:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7753, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7619, + "src": "30124:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7754, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7722, + "src": "30134:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 7755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30138:2:27", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 7744, + "name": "erc1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5245, + "src": "30074:7:27", + "typeDescriptions": { + "typeIdentifier": "t_contract$_RahatERC1155_$8866", + "typeString": "contract RahatERC1155" + } + }, + "id": 7746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 820, + "src": "30074:24:27", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,bytes memory) external" + } + }, + "id": 7756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30074:67:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7757, + "nodeType": "ExpressionStatement", + "src": "30074:67:27" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 7759, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967281, + "src": "30172:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 7760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "30172:10:27", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7761, + "name": "_phone", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7615, + "src": "30183:6:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7762, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7619, + "src": "30190:8:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7763, + "name": "amt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7722, + "src": "30199:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 7758, + "name": "ClaimAcquiredERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5190, + "src": "30151:20:27", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256,uint256)" + } + }, + "id": 7764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30151:52:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7765, + "nodeType": "EmitStatement", + "src": "30146:57:27" + } + ] + }, + "documentation": { + "id": 7609, + "nodeType": "StructuredDocumentation", + "src": "28584:419:27", + "text": "@dev delegates getERC20FromClaim for vendors/callers\n@param _signer address of vendor/caller of getERC1155FromClaim\n @param _signature Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet\n @param _phone Phone Number of the beneficiary, to whom token request was sent\n @param _otp OTP sent by the server\n @param _tokenId ERC1155 tokenId" + }, + "functionSelector": "8eda3247", + "id": 7767, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "delegate_getTokensFromClaim", + "nameLocation": "29015:27:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7611, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "29051:7:27", + "nodeType": "VariableDeclaration", + "scope": 7767, + "src": "29043:15:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7610, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29043:7:27", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7613, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "29072:10:27", + "nodeType": "VariableDeclaration", + "scope": 7767, + "src": "29059:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 7612, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "29059:5:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7615, + "mutability": "mutable", + "name": "_phone", + "nameLocation": "29091:6:27", + "nodeType": "VariableDeclaration", + "scope": 7767, + "src": "29083:14:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7614, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29083:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7617, + "mutability": "mutable", + "name": "_otp", + "nameLocation": "29113:4:27", + "nodeType": "VariableDeclaration", + "scope": 7767, + "src": "29099:18:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7616, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29099:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7619, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "29126:8:27", + "nodeType": "VariableDeclaration", + "scope": 7767, + "src": "29118:16:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7618, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "29118:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "29042:93:27" + }, + "returnParameters": { + "id": 7621, + "nodeType": "ParameterList", + "parameters": [], + "src": "29143:0:27" + }, + "scope": 7837, + "src": "29006:1202:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7782, + "nodeType": "Block", + "src": "30394:51:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 7778, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7770, + "src": "30433:5:27", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7776, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "30416:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7777, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "30416:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30416:23:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7775, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "30406:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30406:34:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 7774, + "id": 7781, + "nodeType": "Return", + "src": "30399:41:27" + } + ] + }, + "documentation": { + "id": 7768, + "nodeType": "StructuredDocumentation", + "src": "30213:109:27", + "text": "@notice generates the hash of the given string\n @param _data String of which hash is to be generated" + }, + "functionSelector": "70c75107", + "id": 7783, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "findHash", + "nameLocation": "30334:8:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7771, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7770, + "mutability": "mutable", + "name": "_data", + "nameLocation": "30357:5:27", + "nodeType": "VariableDeclaration", + "scope": 7783, + "src": "30343:19:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7769, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30343:6:27", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "30342:21:27" + }, + "returnParameters": { + "id": 7774, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7773, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7783, + "src": "30385:7:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7772, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "30385:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "30384:9:27" + }, + "scope": 7837, + "src": "30325:120:27", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7800, + "nodeType": "Block", + "src": "30626:69:27", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 7794, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7786, + "src": "30672:5:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 3753, + "src": "30672:14:27", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 7796, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30672:16:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 7792, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967295, + "src": "30655:3:27", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "30655:16:27", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 7797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30655:34:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7791, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967288, + "src": "30645:9:27", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 7798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30645:45:27", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 7790, + "id": 7799, + "nodeType": "Return", + "src": "30638:52:27" + } + ] + }, + "documentation": { + "id": 7784, + "nodeType": "StructuredDocumentation", + "src": "30451:109:27", + "text": "@notice generates the hash of the given string\n @param _data String of which hash is to be generated" + }, + "functionSelector": "494101ff", + "id": 7801, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "findHash", + "nameLocation": "30572:8:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7786, + "mutability": "mutable", + "name": "_data", + "nameLocation": "30589:5:27", + "nodeType": "VariableDeclaration", + "scope": 7801, + "src": "30581:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30581:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "30580:15:27" + }, + "returnParameters": { + "id": 7790, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7789, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 7801, + "src": "30617:7:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 7788, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "30617:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "30616:9:27" + }, + "scope": 7837, + "src": "30563:132:27", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 7835, + "nodeType": "Block", + "src": "30875:108:27", + "statements": [ + { + "expression": { + "id": 7812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7810, + "name": "sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7808, + "src": "30880:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 7811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30886:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "30880:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7813, + "nodeType": "ExpressionStatement", + "src": "30880:7:27" + }, + { + "body": { + "id": 7831, + "nodeType": "Block", + "src": "30936:28:27", + "statements": [ + { + "expression": { + "id": 7829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 7825, + "name": "sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7808, + "src": "30942:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "baseExpression": { + "id": 7826, + "name": "_array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7805, + "src": "30949:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 7828, + "indexExpression": { + "id": 7827, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7815, + "src": "30956:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "30949:9:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "30942:16:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7830, + "nodeType": "ExpressionStatement", + "src": "30942:16:27" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 7821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 7818, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7815, + "src": "30912:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "expression": { + "id": 7819, + "name": "_array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7805, + "src": "30916:6:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 7820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "30916:13:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "30912:17:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 7832, + "initializationExpression": { + "assignments": [ + 7815 + ], + "declarations": [ + { + "constant": false, + "id": 7815, + "mutability": "mutable", + "name": "i", + "nameLocation": "30905:1:27", + "nodeType": "VariableDeclaration", + "scope": 7832, + "src": "30897:9:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7814, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30897:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 7817, + "initialValue": { + "hexValue": "30", + "id": 7816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30909:1:27", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "30897:13:27" + }, + "loopExpression": { + "expression": { + "id": 7823, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "30931:3:27", + "subExpression": { + "id": 7822, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7815, + "src": "30931:1:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7824, + "nodeType": "ExpressionStatement", + "src": "30931:3:27" + }, + "nodeType": "ForStatement", + "src": "30892:72:27" + }, + { + "expression": { + "id": 7833, + "name": "sum", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7808, + "src": "30975:3:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 7809, + "id": 7834, + "nodeType": "Return", + "src": "30968:10:27" + } + ] + }, + "documentation": { + "id": 7802, + "nodeType": "StructuredDocumentation", + "src": "30700:92:27", + "text": "@notice Generates the sum of all the integers in array\n @param _array Array of uint" + }, + "functionSelector": "3098b74b", + "id": 7836, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getArraySum", + "nameLocation": "30804:11:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7805, + "mutability": "mutable", + "name": "_array", + "nameLocation": "30833:6:27", + "nodeType": "VariableDeclaration", + "scope": 7836, + "src": "30816:23:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 7803, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30816:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 7804, + "nodeType": "ArrayTypeName", + "src": "30816:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "30815:25:27" + }, + "returnParameters": { + "id": 7809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7808, + "mutability": "mutable", + "name": "sum", + "nameLocation": "30870:3:27", + "nodeType": "VariableDeclaration", + "scope": 7836, + "src": "30862:11:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7807, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "30862:7:27", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "30861:13:27" + }, + "scope": 7837, + "src": "30795:188:27", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 7838, + "src": "331:30655:27", + "usedErrors": [] + } + ], + "src": "41:30947:27" + }, + "compiler": { + "name": "solc", + "version": "0.8.7+commit.e28d00a7.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.4.3", + "updatedAt": "2021-11-21T18:44:25.582Z", + "devdoc": { + "kind": "dev", + "methods": { + "addAdmin(address)": { + "params": { + "_account": "address of the new admin" + } + }, + "addMobilizer(address,string)": { + "params": { + "_account": "address of the new vendor" + } + }, + "addProject(bytes32,uint256)": { + "params": { + "_projectCapital": "amount of budget to be assigned to project", + "_projectId": "Id of the project to assign budget" + } + }, + "addServer(address)": { + "params": { + "_account": "address of the new server account" + } + }, + "addVendor(address)": { + "params": { + "_account": "address of the new vendor" + } + }, + "approveERC1155Claim(address,uint256,bytes32,uint256,uint256)": { + "params": { + "_otpHash": "Hash of OTP sent to beneficiary by server", + "_phone": "Phone number of the beneficiary, to whom token request was sent", + "_timeToLive": "Validity of OTP in seconds", + "_tokenId": "ERC1155 tokenId", + "_vendor": "Address of the vendor who requested the token from beneficiary" + } + }, + "approveERC20Claim(address,uint256,bytes32,uint256)": { + "params": { + "_otpHash": "Hash of OTP sent to beneficiary by server", + "_phone": "Phone number of the beneficiary, to whom token request was sent", + "_timeToLive": "Validity of OTP in seconds", + "_vendor": "Address of the vendor who requested the token from beneficiary" + } + }, + "createERC1155Claim(uint256,uint256,uint256)": { + "details": "claim tokens from the beneficiary by vendor", + "params": { + "_amount": "amaount of ERC1155 tokens to request", + "_phone": "identity of the beneficiary", + "_tokenId": "ERC1155 token id" + } + }, + "createERC20Claim(uint256,uint256)": { + "params": { + "_phone": "Phone number of beneficiary to whom token is requested", + "_tokens": "Number of tokens to request" + } + }, + "delegate_createERC1155Claim(address,bytes,uint256,uint256,uint256)": { + "details": "delegate a createClaim transaction for ERC20", + "params": { + "_amount": "amount of token to be claimed", + "_phone": "identity of benficiary", + "_signature": "Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet", + "_signer": "address of vendor/caller of createClaim", + "_tokenId": "ERC1155 tokenId" + } + }, + "delegate_createERC20Claim(address,bytes,uint256,uint256)": { + "details": "delegate a createClaim transaction for ERC20", + "params": { + "_amount": "amount of token to be claimed", + "_phone": "identity of benficiary", + "_signature": "Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet", + "_signer": "address of vendor/caller of createClaim" + } + }, + "delegate_getERC20FromClaim(address,bytes,uint256,string)": { + "details": "delegates getERC20FromClaim for vendors/callers", + "params": { + "_otp": "OTP sent by the server", + "_phone": "Phone Number of the beneficiary, to whom token request was sent", + "_signature": "Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet", + "_signer": "address of vendor/caller of getERC20FromClaim" + } + }, + "delegate_getTokensFromClaim(address,bytes,uint256,string,uint256)": { + "details": "delegates getERC20FromClaim for vendors/callers", + "params": { + "_otp": "OTP sent by the server", + "_phone": "Phone Number of the beneficiary, to whom token request was sent", + "_signature": "Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through vendor/caller wallet", + "_signer": "address of vendor/caller of getERC1155FromClaim", + "_tokenId": "ERC1155 tokenId" + } + }, + "delegate_issueERC1155ToBeneficiary(address,bytes,string,uint256,uint256,uint256)": { + "params": { + "_amount": "Amount of token to be assigned to beneficiary", + "_phone": "phone number of the beneficiary", + "_projectId": "Id of the project beneficiary is involved in", + "_signature": "Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through mobilizer/caller wallet", + "_signer": "Address of the mobilizer/caller who is issuing tokens", + "_tokenId": "ERC1155 TokenId" + } + }, + "delegate_issueERC20ToBeneficiary(address,bytes,string,uint256,uint256)": { + "params": { + "_amount": "Amount of token to be assigned to beneficiary", + "_phone": "phone number of the beneficiary", + "_projectId": "Id of the project beneficiary is involved in", + "_signature": "Signature generated by signing {to,functionSig,nonce,projectId,phone,amount} through mobilizer/caller wallet", + "_signer": "Address of the mobilizer/caller who is issuing tokens" + } + }, + "findHash(string)": { + "params": { + "_data": "String of which hash is to be generated" + } + }, + "findHash(uint256)": { + "params": { + "_data": "String of which hash is to be generated" + } + }, + "getArraySum(uint256[])": { + "params": { + "_array": "Array of uint" + } + }, + "getERC1155FromClaim(uint256,string,uint256)": { + "params": { + "_otp": "OTP sent by the server", + "_phone": "Phone Number of the beneficiary, to whom token request was sent", + "_tokenId": "ERC1155 tokenId" + } + }, + "getERC20FromClaim(uint256,string)": { + "params": { + "_otp": "OTP sent by the server", + "_phone": "Phone Number of the beneficiary, to whom token request was sent" + } + }, + "getRoleAdmin(bytes32)": { + "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." + }, + "grantRole(bytes32,address)": { + "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role." + }, + "hasRole(bytes32,address)": { + "details": "Returns `true` if `account` has been granted `role`." + }, + "issueBulkERC1155(string,uint256[],uint256[],uint256)": { + "params": { + "_amount": "array of Amount of token to be assigned to beneficiary", + "_phone": "array of phone number of the beneficiary", + "_projectId": "Id of the project beneficiary is involved in" + } + }, + "issueBulkERC20(string,uint256[],uint256[])": { + "params": { + "_amount": "array of Amount of token to be assigned to beneficiary", + "_phone": "array of phone number of the beneficiary", + "_projectId": "Id of the project beneficiary is involved in" + } + }, + "issueERC1155ToBeneficiary(string,uint256,uint256[],uint256[])": { + "params": { + "_amount": "Amount of token to be assigned to beneficiary", + "_phone": "phone number of the beneficiary", + "_projectId": "Id of the project beneficiary is involved in", + "_tokenId": "ERC1155 TokenId" + } + }, + "issueERC20ToBeneficiary(string,uint256,uint256)": { + "params": { + "_amount": "Amount of token to be assigned to beneficiary", + "_phone": "phone number of the beneficiary", + "_projectId": "Id of the project beneficiary is involved in" + } + }, + "renounceRole(bytes32,address)": { + "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`." + }, + "revokeRole(bytes32,address)": { + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role." + }, + "suspendBeneficiary(uint256,bytes32)": { + "params": { + "_phone": "phone number of the Beneficiary", + "_projectId": "projectId of the beneficiary" + } + }, + "updateProjectBudget(bytes32,uint256)": { + "params": { + "_projectCapital": "amount of budget to be added to project", + "_projectId": "Id of the project to assign budget" + } + }, + "updateProjectBudget(bytes32,uint256,uint256)": { + "params": { + "_projectCapital": "amount of budget to be added to project", + "_projectId": "Id of the project to assign budget", + "tokenId": "ERC1155 token id" + } + } + }, + "stateVariables": { + "recentERC20Claims": { + "details": "vendorAddress => phone => claim" + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "addAdmin(address)": { + "notice": "add admin of the this contract" + }, + "addMobilizer(address,string)": { + "notice": "add vendors" + }, + "addProject(bytes32,uint256)": { + "notice": "creates a project.called by rahatdmin contract" + }, + "addServer(address)": { + "notice": "add server account for this contract" + }, + "addVendor(address)": { + "notice": "add vendors" + }, + "adjustTokenAdd(uint256,uint256)": { + "notice": "adds the token from beneficiary" + }, + "adjustTokenAdd(uint256,uint256,uint256)": { + "notice": "adds the token from beneficiary" + }, + "adjustTokenDeduct(uint256,uint256)": { + "notice": "deducts the token from beneficiary" + }, + "adjustTokenDeduct(uint256,uint256,uint256)": { + "notice": "deducts the token from beneficiary" + }, + "approveERC1155Claim(address,uint256,bytes32,uint256,uint256)": { + "notice": "Approve the requested claim from serverside and set the otp hash" + }, + "approveERC20Claim(address,uint256,bytes32,uint256)": { + "notice": "Approve the requested claim from serverside and set the otp hash" + }, + "createERC20Claim(uint256,uint256)": { + "notice": "request a token to beneficiary by vendor" + }, + "delegate_issueERC1155ToBeneficiary(address,bytes,string,uint256,uint256,uint256)": { + "notice": "Issue ERC1155 tokens to beneficiary" + }, + "delegate_issueERC20ToBeneficiary(address,bytes,string,uint256,uint256)": { + "notice": "Issue ERC20 to beneficiary" + }, + "erc20Balance(uint256)": { + "notice": "track balances of each beneficiary phone" + }, + "erc20Issued(uint256)": { + "notice": "track total issued tokens of each benefiicary phone" + }, + "findHash(string)": { + "notice": "generates the hash of the given string" + }, + "findHash(uint256)": { + "notice": "generates the hash of the given string" + }, + "getArraySum(uint256[])": { + "notice": "Generates the sum of all the integers in array" + }, + "getERC1155FromClaim(uint256,string,uint256)": { + "notice": "Retrieve tokens that was requested to beneficiary by entering OTP" + }, + "getERC20FromClaim(uint256,string)": { + "notice": "Retrieve tokens that was requested to beneficiary by entering OTP" + }, + "getProjectBalance(bytes32)": { + "notice": "get the current balance of project" + }, + "getProjectBalance(bytes32,uint256)": { + "notice": "get the current balance of project" + }, + "issueBulkERC1155(string,uint256[],uint256[],uint256)": { + "notice": "Issue tokens to beneficiary in bulk" + }, + "issueBulkERC20(string,uint256[],uint256[])": { + "notice": "Issue tokens to beneficiary in bulk" + }, + "issueERC1155ToBeneficiary(string,uint256,uint256[],uint256[])": { + "notice": "Issue ERC20 tokens to beneficiary" + }, + "issueERC20ToBeneficiary(string,uint256,uint256)": { + "notice": "Issue tokens to beneficiary" + }, + "suspendBeneficiary(uint256,bytes32)": { + "notice": "suspend the benficiary by deducting all the balance beneficiary owns" + }, + "updateProjectBudget(bytes32,uint256)": { + "notice": "update a project balance.called by rahatdmin contract" + }, + "updateProjectBudget(bytes32,uint256,uint256)": { + "notice": "update a project balance.called by rahatdmin contract" + } + }, + "version": 1 + } +} \ No newline at end of file