From 56d74e7d2f65306a48f863b9762648dcc1d2dd5a Mon Sep 17 00:00:00 2001 From: lza_menace Date: Fri, 18 Nov 2022 01:41:28 -0800 Subject: [PATCH] updating ux --- src/Contracts.svelte | 15 +- src/lib/sendit.json | 2423 +++++++++++++++++++++++++++++------------- 2 files changed, 1684 insertions(+), 754 deletions(-) diff --git a/src/Contracts.svelte b/src/Contracts.svelte index d1d454f..b00ae39 100644 --- a/src/Contracts.svelte +++ b/src/Contracts.svelte @@ -5,7 +5,7 @@ import IERC1155 from '@openzeppelin/contracts/build/contracts/IERC1155.json'; import SendIt from './lib/sendit.json'; - const sendit = '0x0165878A594ca255338adfa4d48449f69242Eb8F'; + const sendit = '0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0'; let errorMessage = ''; let successMessage = ''; let contractAddress = ''; @@ -119,7 +119,8 @@ async function estimateCBT(recipients, tokens) { si_gasLimit = 0; - await $contracts.sendit.methods.contractBulkTransfer(contractAddress, tokens, recipients, false).estimateGas({from: $selectedAccount}, function(err, gas){ + let fee = await $contracts.sendit.methods.usageFee().call(); + await $contracts.sendit.methods.contractBulkTransfer(contractAddress, tokens, recipients, false).estimateGas({from: $selectedAccount, value: fee * recipients.length}, function(err, gas){ si_gasLimit += gas; }); } @@ -137,10 +138,14 @@ if (recipients.length != tokens.length) { errorMessage = 'Invalid recipient/token IDs provided; please review'; return; } await estimateCBT(recipients, tokens); await estimateSTF(recipients, tokens); - let gasPrice = await $web3.eth.getGasPrice(); + // let gasPrice = await $web3.eth.getGasPrice(); + let gasPrice = 20000000000; let gasCostEth = await $web3.utils.fromWei((gasPrice * gasLimit).toString()); - let si_gasCostEth = await $web3.utils.fromWei((gasPrice * si_gasLimit).toString()); - gasCalculation = `Transferring each token individual would require ${gasLimit} gas (${gasCostEth} Ξ). SendIt can do it for ${si_gasLimit} gas (${si_gasCostEth} Ξ).`; + let feeWei = await $contracts.sendit.methods.usageFee().call(); + let totalFeeWei = feeWei * recipients.length; + let si_gasCostWei = gasPrice * si_gasLimit + totalFeeWei; + let si_gasCostEth = await $web3.utils.fromWei(si_gasCostWei.toString()); + gasCalculation = `Transferring each token individual would require ${gasLimit} gas (${gasCostEth} Ξ). SendIt can do it for ${si_gasLimit} gas + a fee (${si_gasCostEth} Ξ).`; } diff --git a/src/lib/sendit.json b/src/lib/sendit.json index 6af92c6..4af29cd 100644 --- a/src/lib/sendit.json +++ b/src/lib/sendit.json @@ -1,5 +1,24 @@ { "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -75,6 +94,26 @@ ], "name": "contractBulkTransfer", "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], "stateMutability": "nonpayable", "type": "function" }, @@ -82,26 +121,24 @@ "inputs": [ { "internalType": "address", - "name": "contractAddress", + "name": "newOwner", "type": "address" - }, + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ { "internalType": "uint256", - "name": "tokenIndex", + "name": "amount", "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bool", - "name": "isERC1155", - "type": "bool" } ], - "name": "contractTransfer", + "name": "updateFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -118,25 +155,50 @@ "outputs": [], "stateMutability": "nonpayable", "type": "function" + }, + { + "inputs": [], + "name": "usageFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" } ], "bytecode": { - "object": "0x608060405234801561001057600080fd5b506108b0806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632ab8c1f414610051578063785da64414610096578063c3c77c63146100ab578063e7563f3f146100be575b600080fd5b61007a61005f366004610559565b6000602081905290815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100a96100a436600461058b565b6100fb565b005b6100a96100b936600461062a565b610482565b6100a96100cc366004610559565b33600090815260208190526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b801561029957604051627eeac760e11b8152336004820152602481018490526000906001600160a01b0386169062fdd58e90604401602060405180830381865afa15801561014d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017191906106bf565b116101975760405162461bcd60e51b815260040161018e906106d8565b60405180910390fd5b60405163e985e9c560e01b81523360048201523060248201526001600160a01b0385169063e985e9c590604401602060405180830381865afa1580156101e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102059190610735565b6102215760405162461bcd60e51b815260040161018e90610752565b60408051602081018252600081529051637921219560e11b81526001600160a01b0386169163f242432a9161026291339187918991600191906004016107a8565b600060405180830381600087803b15801561027c57600080fd5b505af1158015610290573d6000803e3d6000fd5b50505050610425565b6040516331a9108f60e11b8152600481018490526001600160a01b03851690636352211e90602401602060405180830381865afa1580156102de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103029190610820565b6001600160a01b0316336001600160a01b0316146103325760405162461bcd60e51b815260040161018e906106d8565b60405163e985e9c560e01b81523360048201523060248201526001600160a01b0385169063e985e9c590604401602060405180830381865afa15801561037c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a09190610735565b6103bc5760405162461bcd60e51b815260040161018e90610752565b604051632142170760e11b81523360048201526001600160a01b038381166024830152604482018590528516906342842e0e90606401600060405180830381600087803b15801561040c57600080fd5b505af1158015610420573d6000803e3d6000fd5b505050505b816001600160a01b0316336001600160a01b0316856001600160a01b03167fa8b0736f82b72321cb76a3db6dfd7187786bb37ac0964124f784ec881c56ab758660405161047491815260200190565b60405180910390a450505050565b8382146104d15760405162461bcd60e51b815260206004820152601960248201527f4172726179206c656e67746873206d757374206d617463682e00000000000000604482015260640161018e565b60005b8481101561053857610526878787848181106104f2576104f261083d565b9050602002013586868581811061050b5761050b61083d565b90506020020160208101906105209190610559565b856100fb565b8061053081610853565b9150506104d4565b50505050505050565b6001600160a01b038116811461055657600080fd5b50565b60006020828403121561056b57600080fd5b813561057681610541565b9392505050565b801515811461055657600080fd5b600080600080608085870312156105a157600080fd5b84356105ac81610541565b93506020850135925060408501356105c381610541565b915060608501356105d38161057d565b939692955090935050565b60008083601f8401126105f057600080fd5b50813567ffffffffffffffff81111561060857600080fd5b6020830191508360208260051b850101111561062357600080fd5b9250929050565b6000806000806000806080878903121561064357600080fd5b863561064e81610541565b9550602087013567ffffffffffffffff8082111561066b57600080fd5b6106778a838b016105de565b9097509550604089013591508082111561069057600080fd5b5061069d89828a016105de565b90945092505060608701356106b18161057d565b809150509295509295509295565b6000602082840312156106d157600080fd5b5051919050565b6020808252603c908201527f53656e646572206973206e6f742074686520746f6b656e206f776e65722c206360408201527f616e6e6f742070726f636565642077697468207472616e736665722e00000000606082015260800190565b60006020828403121561074757600080fd5b81516105768161057d565b60208082526036908201527f436f6e7472616374206e6f7420617070726f76656420746f2073656e6420746f60408201527535b2b7399037b71029b2b73232b9103132b430b6331760511b606082015260800190565b600060018060a01b03808816835260208188168185015286604085015285606085015260a06080850152845191508160a085015260005b828110156107fb5785810182015185820160c0015281016107df565b5050600060c0828501015260c0601f19601f8301168401019150509695505050505050565b60006020828403121561083257600080fd5b815161057681610541565b634e487b7160e01b600052603260045260246000fd5b60006001820161087357634e487b7160e01b600052601160045260246000fd5b506001019056fea264697066735822122093c2c95343af195c80725dd00c625744da7664bea0a92e5ce264de98394570e064736f6c63430008110033", - "sourceMap": "139:2320:19:-:0;;;;;;;;;;;;;;;;;;;", + "object": "0x6080604052655af3107a400060025534801561001a57600080fd5b5061002433610029565b610079565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610b5d806100886000396000f3fe6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012e5780639012c4a81461014c578063c3c77c631461016c578063e7563f3f1461017f578063f2fde38b146101c957600080fd5b80632ab8c1f41461008b57806334aef4c8146100de5780633ccfd60b14610102578063715018a614610119575b600080fd5b34801561009757600080fd5b506100c16100a636600461081b565b6001602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ea57600080fd5b506100f460025481565b6040519081526020016100d5565b34801561010e57600080fd5b506101176101e9565b005b34801561012557600080fd5b50610117610224565b34801561013a57600080fd5b506000546001600160a01b03166100c1565b34801561015857600080fd5b5061011761016736600461083f565b610238565b61011761017a3660046108b2565b610245565b34801561018b57600080fd5b5061011761019a36600461081b565b33600090815260016020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b3480156101d557600080fd5b506101176101e436600461081b565b610365565b6101f16103de565b6040514790339082156108fc029083906000818181858888f19350505050158015610220573d6000803e3d6000fd5b5050565b61022c6103de565b6102366000610438565b565b6102406103de565b600255565b8382146102995760405162461bcd60e51b815260206004820152601960248201527f4172726179206c656e67746873206d757374206d617463682e0000000000000060448201526064015b60405180910390fd5b6002546102a6908561095d565b3410156102f55760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964207573616765206665652073656e742e0000000000000000006044820152606401610290565b60005b8481101561035c5761034a878787848181106103165761031661097a565b9050602002013586868581811061032f5761032f61097a565b9050602002016020810190610344919061081b565b85610488565b8061035481610990565b9150506102f8565b50505050505050565b61036d6103de565b6001600160a01b0381166103d25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610290565b6103db81610438565b50565b6000546001600160a01b031633146102365760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610290565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b801561061d57604051627eeac760e11b8152336004820152602481018490526000906001600160a01b0386169062fdd58e90604401602060405180830381865afa1580156104da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fe91906109a9565b1161051b5760405162461bcd60e51b8152600401610290906109c2565b60405163e985e9c560e01b81523360048201523060248201526001600160a01b0385169063e985e9c590604401602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190610a1f565b6105a55760405162461bcd60e51b815260040161029090610a3c565b60408051602081018252600081529051637921219560e11b81526001600160a01b0386169163f242432a916105e69133918791899160019190600401610a92565b600060405180830381600087803b15801561060057600080fd5b505af1158015610614573d6000803e3d6000fd5b505050506107a9565b6040516331a9108f60e11b8152600481018490526001600160a01b03851690636352211e90602401602060405180830381865afa158015610662573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106869190610b0a565b6001600160a01b0316336001600160a01b0316146106b65760405162461bcd60e51b8152600401610290906109c2565b60405163e985e9c560e01b81523360048201523060248201526001600160a01b0385169063e985e9c590604401602060405180830381865afa158015610700573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107249190610a1f565b6107405760405162461bcd60e51b815260040161029090610a3c565b604051632142170760e11b81523360048201526001600160a01b038381166024830152604482018590528516906342842e0e90606401600060405180830381600087803b15801561079057600080fd5b505af11580156107a4573d6000803e3d6000fd5b505050505b816001600160a01b0316336001600160a01b0316856001600160a01b03167fa8b0736f82b72321cb76a3db6dfd7187786bb37ac0964124f784ec881c56ab75866040516107f891815260200190565b60405180910390a450505050565b6001600160a01b03811681146103db57600080fd5b60006020828403121561082d57600080fd5b813561083881610806565b9392505050565b60006020828403121561085157600080fd5b5035919050565b60008083601f84011261086a57600080fd5b50813567ffffffffffffffff81111561088257600080fd5b6020830191508360208260051b850101111561089d57600080fd5b9250929050565b80151581146103db57600080fd5b600080600080600080608087890312156108cb57600080fd5b86356108d681610806565b9550602087013567ffffffffffffffff808211156108f357600080fd5b6108ff8a838b01610858565b9097509550604089013591508082111561091857600080fd5b5061092589828a01610858565b9094509250506060870135610939816108a4565b809150509295509295509295565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761097457610974610947565b92915050565b634e487b7160e01b600052603260045260246000fd5b6000600182016109a2576109a2610947565b5060010190565b6000602082840312156109bb57600080fd5b5051919050565b6020808252603c908201527f53656e646572206973206e6f742074686520746f6b656e206f776e65722c206360408201527f616e6e6f742070726f636565642077697468207472616e736665722e00000000606082015260800190565b600060208284031215610a3157600080fd5b8151610838816108a4565b60208082526036908201527f436f6e7472616374206e6f7420617070726f76656420746f2073656e6420746f60408201527535b2b7399037b71029b2b73232b9103132b430b6331760511b606082015260800190565b600060018060a01b03808816835260208188168185015286604085015285606085015260a06080850152845191508160a085015260005b82811015610ae55785810182015185820160c001528101610ac9565b5050600060c0828501015260c0601f19601f8301168401019150509695505050505050565b600060208284031215610b1c57600080fd5b81516108388161080656fea264697066735822122031683dc6e4f8202cc7e0c85f9457090f1e1227f9b8f42325b5dc2c9f5c9b178764736f6c63430008110033", + "sourceMap": "278:2983:30:-:0;;;448:11;422:37;;278:2983;;;;;;;;;-1:-1:-1;936:32:13;719:10:23;936:18:13;:32::i;:::-;278:2983:30;;2433:187:13;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:13;;;-1:-1:-1;;;;;;2541:17:13;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;278:2983:30:-;;;;;;;", "linkReferences": {} }, "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80632ab8c1f414610051578063785da64414610096578063c3c77c63146100ab578063e7563f3f146100be575b600080fd5b61007a61005f366004610559565b6000602081905290815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100a96100a436600461058b565b6100fb565b005b6100a96100b936600461062a565b610482565b6100a96100cc366004610559565b33600090815260208190526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b801561029957604051627eeac760e11b8152336004820152602481018490526000906001600160a01b0386169062fdd58e90604401602060405180830381865afa15801561014d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017191906106bf565b116101975760405162461bcd60e51b815260040161018e906106d8565b60405180910390fd5b60405163e985e9c560e01b81523360048201523060248201526001600160a01b0385169063e985e9c590604401602060405180830381865afa1580156101e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102059190610735565b6102215760405162461bcd60e51b815260040161018e90610752565b60408051602081018252600081529051637921219560e11b81526001600160a01b0386169163f242432a9161026291339187918991600191906004016107a8565b600060405180830381600087803b15801561027c57600080fd5b505af1158015610290573d6000803e3d6000fd5b50505050610425565b6040516331a9108f60e11b8152600481018490526001600160a01b03851690636352211e90602401602060405180830381865afa1580156102de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103029190610820565b6001600160a01b0316336001600160a01b0316146103325760405162461bcd60e51b815260040161018e906106d8565b60405163e985e9c560e01b81523360048201523060248201526001600160a01b0385169063e985e9c590604401602060405180830381865afa15801561037c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a09190610735565b6103bc5760405162461bcd60e51b815260040161018e90610752565b604051632142170760e11b81523360048201526001600160a01b038381166024830152604482018590528516906342842e0e90606401600060405180830381600087803b15801561040c57600080fd5b505af1158015610420573d6000803e3d6000fd5b505050505b816001600160a01b0316336001600160a01b0316856001600160a01b03167fa8b0736f82b72321cb76a3db6dfd7187786bb37ac0964124f784ec881c56ab758660405161047491815260200190565b60405180910390a450505050565b8382146104d15760405162461bcd60e51b815260206004820152601960248201527f4172726179206c656e67746873206d757374206d617463682e00000000000000604482015260640161018e565b60005b8481101561053857610526878787848181106104f2576104f261083d565b9050602002013586868581811061050b5761050b61083d565b90506020020160208101906105209190610559565b856100fb565b8061053081610853565b9150506104d4565b50505050505050565b6001600160a01b038116811461055657600080fd5b50565b60006020828403121561056b57600080fd5b813561057681610541565b9392505050565b801515811461055657600080fd5b600080600080608085870312156105a157600080fd5b84356105ac81610541565b93506020850135925060408501356105c381610541565b915060608501356105d38161057d565b939692955090935050565b60008083601f8401126105f057600080fd5b50813567ffffffffffffffff81111561060857600080fd5b6020830191508360208260051b850101111561062357600080fd5b9250929050565b6000806000806000806080878903121561064357600080fd5b863561064e81610541565b9550602087013567ffffffffffffffff8082111561066b57600080fd5b6106778a838b016105de565b9097509550604089013591508082111561069057600080fd5b5061069d89828a016105de565b90945092505060608701356106b18161057d565b809150509295509295509295565b6000602082840312156106d157600080fd5b5051919050565b6020808252603c908201527f53656e646572206973206e6f742074686520746f6b656e206f776e65722c206360408201527f616e6e6f742070726f636565642077697468207472616e736665722e00000000606082015260800190565b60006020828403121561074757600080fd5b81516105768161057d565b60208082526036908201527f436f6e7472616374206e6f7420617070726f76656420746f2073656e6420746f60408201527535b2b7399037b71029b2b73232b9103132b430b6331760511b606082015260800190565b600060018060a01b03808816835260208188168185015286604085015285606085015260a06080850152845191508160a085015260005b828110156107fb5785810182015185820160c0015281016107df565b5050600060c0828501015260c0601f19601f8301168401019150509695505050505050565b60006020828403121561083257600080fd5b815161057681610541565b634e487b7160e01b600052603260045260246000fd5b60006001820161087357634e487b7160e01b600052601160045260246000fd5b506001019056fea264697066735822122093c2c95343af195c80725dd00c625744da7664bea0a92e5ce264de98394570e064736f6c63430008110033", - "sourceMap": "139:2320:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;162:47;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;162:47:19;;;;;;-1:-1:-1;;;;;566:32:21;;;548:51;;536:2;521:18;162:47:19;;;;;;;945:1073;;;;;;:::i;:::-;;:::i;:::-;;2024:432;;;;;;:::i;:::-;;:::i;831:108::-;;;;;;:::i;:::-;906:10;893:12;:24;;;;;;;;;;:39;;-1:-1:-1;;;;;;893:39:19;-1:-1:-1;;;;;893:39:19;;;;;;;;;;831:108;945:1073;1110:9;1106:826;;;1143:58;;-1:-1:-1;;;1143:58:19;;1178:10;1143:58;;;2925:51:21;2992:18;;;2985:34;;;1204:1:19;;-1:-1:-1;;;;;1143:34:19;;;;;2898:18:21;;1143:58:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:62;1135:135;;;;-1:-1:-1;;;1135:135:19;;;;;;;:::i;:::-;;;;;;;;;1292:68;;-1:-1:-1;;;1292:68:19;;1334:10;1292:68;;;3860:34:21;1354:4:19;3910:18:21;;;3903:43;-1:-1:-1;;;;;1292:41:19;;;;;3795:18:21;;1292:68:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1284:135;;;;-1:-1:-1;;;1284:135:19;;;;;;;:::i;:::-;1513:9;;;;;;;;-1:-1:-1;1513:9:19;;1433:90;;-1:-1:-1;;;1433:90:19;;-1:-1:-1;;;;;1433:41:19;;;;;:90;;1475:10;;1487:9;;1498:10;;1510:1;;1513:9;1433:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1106:826;;;1576:43;;-1:-1:-1;;;1576:43:19;;;;;5681:25:21;;;-1:-1:-1;;;;;1576:31:19;;;;;5654:18:21;;1576:43:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1562:57:19;:10;-1:-1:-1;;;;;1562:57:19;;1554:130;;;;-1:-1:-1;;;1554:130:19;;;;;;;:::i;:::-;1706:67;;-1:-1:-1;;;1706:67:19;;1747:10;1706:67;;;3860:34:21;1767:4:19;3910:18:21;;;3903:43;-1:-1:-1;;;;;1706:40:19;;;;;3795:18:21;;1706:67:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1698:134;;;;-1:-1:-1;;;1698:134:19;;;;;;;:::i;:::-;1846:75;;-1:-1:-1;;;1846:75:19;;1887:10;1846:75;;;6213:34:21;-1:-1:-1;;;;;6283:15:21;;;6263:18;;;6256:43;6315:18;;;6308:34;;;1846:40:19;;;;;6148:18:21;;1846:75:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1106:826;2001:9;-1:-1:-1;;;;;1946:65:19;1989:10;-1:-1:-1;;;;;1946:65:19;1960:15;-1:-1:-1;;;;;1946:65:19;;1977:10;1946:65;;;;5681:25:21;;5669:2;5654:18;;5535:177;1946:65:19;;;;;;;;945:1073;;;;:::o;2024:432::-;2224:40;;;2216:78;;;;-1:-1:-1;;;2216:78:19;;6555:2:21;2216:78:19;;;6537:21:21;6594:2;6574:18;;;6567:30;6633:27;6613:18;;;6606:55;6678:18;;2216:78:19;6353:349:21;2216:78:19;2308:9;2304:146;2319:23;;;2304:146;;;2363:76;2380:15;2397:12;;2410:1;2397:15;;;;;;;:::i;:::-;;;;;;;2414:10;;2425:1;2414:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;2429:9;2363:16;:76::i;:::-;2344:3;;;;:::i;:::-;;;;2304:146;;;;2024:432;;;;;;:::o;14:131:21:-;-1:-1:-1;;;;;89:31:21;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:247::-;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;:::-;386:5;150:247;-1:-1:-1;;;150:247:21:o;610:118::-;696:5;689:13;682:21;675:5;672:32;662:60;;718:1;715;708:12;733:592;816:6;824;832;840;893:3;881:9;872:7;868:23;864:33;861:53;;;910:1;907;900:12;861:53;949:9;936:23;968:31;993:5;968:31;:::i;:::-;1018:5;-1:-1:-1;1070:2:21;1055:18;;1042:32;;-1:-1:-1;1126:2:21;1111:18;;1098:32;1139:33;1098:32;1139:33;:::i;:::-;1191:7;-1:-1:-1;1250:2:21;1235:18;;1222:32;1263:30;1222:32;1263:30;:::i;:::-;733:592;;;;-1:-1:-1;733:592:21;;-1:-1:-1;;733:592:21:o;1330:367::-;1393:8;1403:6;1457:3;1450:4;1442:6;1438:17;1434:27;1424:55;;1475:1;1472;1465:12;1424:55;-1:-1:-1;1498:20:21;;1541:18;1530:30;;1527:50;;;1573:1;1570;1563:12;1527:50;1610:4;1602:6;1598:17;1586:29;;1670:3;1663:4;1653:6;1650:1;1646:14;1638:6;1634:27;1630:38;1627:47;1624:67;;;1687:1;1684;1677:12;1624:67;1330:367;;;;;:::o;1702:1044::-;1839:6;1847;1855;1863;1871;1879;1932:3;1920:9;1911:7;1907:23;1903:33;1900:53;;;1949:1;1946;1939:12;1900:53;1988:9;1975:23;2007:31;2032:5;2007:31;:::i;:::-;2057:5;-1:-1:-1;2113:2:21;2098:18;;2085:32;2136:18;2166:14;;;2163:34;;;2193:1;2190;2183:12;2163:34;2232:70;2294:7;2285:6;2274:9;2270:22;2232:70;:::i;:::-;2321:8;;-1:-1:-1;2206:96:21;-1:-1:-1;2409:2:21;2394:18;;2381:32;;-1:-1:-1;2425:16:21;;;2422:36;;;2454:1;2451;2444:12;2422:36;;2493:72;2557:7;2546:8;2535:9;2531:24;2493:72;:::i;:::-;2584:8;;-1:-1:-1;2467:98:21;-1:-1:-1;;2671:2:21;2656:18;;2643:32;2684:30;2643:32;2684:30;:::i;:::-;2733:7;2723:17;;;1702:1044;;;;;;;;:::o;3030:184::-;3100:6;3153:2;3141:9;3132:7;3128:23;3124:32;3121:52;;;3169:1;3166;3159:12;3121:52;-1:-1:-1;3192:16:21;;3030:184;-1:-1:-1;3030:184:21:o;3219:424::-;3421:2;3403:21;;;3460:2;3440:18;;;3433:30;3499:34;3494:2;3479:18;;3472:62;3570:30;3565:2;3550:18;;3543:58;3633:3;3618:19;;3219:424::o;3957:245::-;4024:6;4077:2;4065:9;4056:7;4052:23;4048:32;4045:52;;;4093:1;4090;4083:12;4045:52;4125:9;4119:16;4144:28;4166:5;4144:28;:::i;4207:418::-;4409:2;4391:21;;;4448:2;4428:18;;;4421:30;4487:34;4482:2;4467:18;;4460:62;-1:-1:-1;;;4553:2:21;4538:18;;4531:52;4615:3;4600:19;;4207:418::o;4630:900::-;4860:4;4906:1;4902;4897:3;4893:11;4889:19;4947:2;4939:6;4935:15;4924:9;4917:34;4970:2;5020;5012:6;5008:15;5003:2;4992:9;4988:18;4981:43;5060:6;5055:2;5044:9;5040:18;5033:34;5103:6;5098:2;5087:9;5083:18;5076:34;5147:3;5141;5130:9;5126:19;5119:32;5180:6;5174:13;5160:27;;5224:6;5218:3;5207:9;5203:19;5196:35;5249:1;5259:141;5273:6;5270:1;5267:13;5259:141;;;5369:14;;;5365:23;;5359:30;5334:17;;;5353:3;5330:27;5323:67;5288:10;;5259:141;;;5263:3;;5450:1;5444:3;5435:6;5424:9;5420:22;5416:32;5409:43;5520:3;5513:2;5509:7;5504:2;5496:6;5492:15;5488:29;5477:9;5473:45;5469:55;5461:63;;;4630:900;;;;;;;;:::o;5717:251::-;5787:6;5840:2;5828:9;5819:7;5815:23;5811:32;5808:52;;;5856:1;5853;5846:12;5808:52;5888:9;5882:16;5907:31;5932:5;5907:31;:::i;6707:127::-;6768:10;6763:3;6759:20;6756:1;6749:31;6799:4;6796:1;6789:15;6823:4;6820:1;6813:15;6839:232;6878:3;6899:17;;;6896:140;;6958:10;6953:3;6949:20;6946:1;6939:31;6993:4;6990:1;6983:15;7021:4;7018:1;7011:15;6896:140;-1:-1:-1;7063:1:21;7052:13;;6839:232::o", + "object": "0x6080604052600436106100865760003560e01c80638da5cb5b116100595780638da5cb5b1461012e5780639012c4a81461014c578063c3c77c631461016c578063e7563f3f1461017f578063f2fde38b146101c957600080fd5b80632ab8c1f41461008b57806334aef4c8146100de5780633ccfd60b14610102578063715018a614610119575b600080fd5b34801561009757600080fd5b506100c16100a636600461081b565b6001602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100ea57600080fd5b506100f460025481565b6040519081526020016100d5565b34801561010e57600080fd5b506101176101e9565b005b34801561012557600080fd5b50610117610224565b34801561013a57600080fd5b506000546001600160a01b03166100c1565b34801561015857600080fd5b5061011761016736600461083f565b610238565b61011761017a3660046108b2565b610245565b34801561018b57600080fd5b5061011761019a36600461081b565b33600090815260016020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b3480156101d557600080fd5b506101176101e436600461081b565b610365565b6101f16103de565b6040514790339082156108fc029083906000818181858888f19350505050158015610220573d6000803e3d6000fd5b5050565b61022c6103de565b6102366000610438565b565b6102406103de565b600255565b8382146102995760405162461bcd60e51b815260206004820152601960248201527f4172726179206c656e67746873206d757374206d617463682e0000000000000060448201526064015b60405180910390fd5b6002546102a6908561095d565b3410156102f55760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964207573616765206665652073656e742e0000000000000000006044820152606401610290565b60005b8481101561035c5761034a878787848181106103165761031661097a565b9050602002013586868581811061032f5761032f61097a565b9050602002016020810190610344919061081b565b85610488565b8061035481610990565b9150506102f8565b50505050505050565b61036d6103de565b6001600160a01b0381166103d25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610290565b6103db81610438565b50565b6000546001600160a01b031633146102365760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610290565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b801561061d57604051627eeac760e11b8152336004820152602481018490526000906001600160a01b0386169062fdd58e90604401602060405180830381865afa1580156104da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fe91906109a9565b1161051b5760405162461bcd60e51b8152600401610290906109c2565b60405163e985e9c560e01b81523360048201523060248201526001600160a01b0385169063e985e9c590604401602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190610a1f565b6105a55760405162461bcd60e51b815260040161029090610a3c565b60408051602081018252600081529051637921219560e11b81526001600160a01b0386169163f242432a916105e69133918791899160019190600401610a92565b600060405180830381600087803b15801561060057600080fd5b505af1158015610614573d6000803e3d6000fd5b505050506107a9565b6040516331a9108f60e11b8152600481018490526001600160a01b03851690636352211e90602401602060405180830381865afa158015610662573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106869190610b0a565b6001600160a01b0316336001600160a01b0316146106b65760405162461bcd60e51b8152600401610290906109c2565b60405163e985e9c560e01b81523360048201523060248201526001600160a01b0385169063e985e9c590604401602060405180830381865afa158015610700573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107249190610a1f565b6107405760405162461bcd60e51b815260040161029090610a3c565b604051632142170760e11b81523360048201526001600160a01b038381166024830152604482018590528516906342842e0e90606401600060405180830381600087803b15801561079057600080fd5b505af11580156107a4573d6000803e3d6000fd5b505050505b816001600160a01b0316336001600160a01b0316856001600160a01b03167fa8b0736f82b72321cb76a3db6dfd7187786bb37ac0964124f784ec881c56ab75866040516107f891815260200190565b60405180910390a450505050565b6001600160a01b03811681146103db57600080fd5b60006020828403121561082d57600080fd5b813561083881610806565b9392505050565b60006020828403121561085157600080fd5b5035919050565b60008083601f84011261086a57600080fd5b50813567ffffffffffffffff81111561088257600080fd5b6020830191508360208260051b850101111561089d57600080fd5b9250929050565b80151581146103db57600080fd5b600080600080600080608087890312156108cb57600080fd5b86356108d681610806565b9550602087013567ffffffffffffffff808211156108f357600080fd5b6108ff8a838b01610858565b9097509550604089013591508082111561091857600080fd5b5061092589828a01610858565b9094509250506060870135610939816108a4565b809150509295509295509295565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761097457610974610947565b92915050565b634e487b7160e01b600052603260045260246000fd5b6000600182016109a2576109a2610947565b5060010190565b6000602082840312156109bb57600080fd5b5051919050565b6020808252603c908201527f53656e646572206973206e6f742074686520746f6b656e206f776e65722c206360408201527f616e6e6f742070726f636565642077697468207472616e736665722e00000000606082015260800190565b600060208284031215610a3157600080fd5b8151610838816108a4565b60208082526036908201527f436f6e7472616374206e6f7420617070726f76656420746f2073656e6420746f60408201527535b2b7399037b71029b2b73232b9103132b430b6331760511b606082015260800190565b600060018060a01b03808816835260208188168185015286604085015285606085015260a06080850152845191508160a085015260005b82811015610ae55785810182015185820160c001528101610ac9565b5050600060c0828501015260c0601f19601f8301168401019150509695505050505050565b600060208284031215610b1c57600080fd5b81516108388161080656fea264697066735822122031683dc6e4f8202cc7e0c85f9457090f1e1227f9b8f42325b5dc2c9f5c9b178764736f6c63430008110033", + "sourceMap": "278:2983:30:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;312:47;;;;;;;;;;-1:-1:-1;312:47:30;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;312:47:30;;;;;;-1:-1:-1;;;;;566:32:34;;;548:51;;536:2;521:18;312:47:30;;;;;;;;422:37;;;;;;;;;;;;;;;;;;;756:25:34;;;744:2;729:18;422:37:30;610:177:34;1314:142:30;;;;;;;;;;;;;:::i;:::-;;1831:101:13;;;;;;;;;;;;;:::i;1201:85::-;;;;;;;;;;-1:-1:-1;1247:7:13;1273:6;-1:-1:-1;;;;;1273:6:13;1201:85;;1220:88:30;;;;;;;;;;-1:-1:-1;1220:88:30;;;;;:::i;:::-;;:::i;2729:529::-;;;;;;:::i;:::-;;:::i;1535:108::-;;;;;;;;;;-1:-1:-1;1535:108:30;;;;;:::i;:::-;1610:10;1597:24;;;;:12;:24;;;;;:39;;-1:-1:-1;;;;;;1597:39:30;-1:-1:-1;;;;;1597:39:30;;;;;;;;;;1535:108;2081:198:13;;;;;;;;;;-1:-1:-1;2081:198:13;;;;;:::i;:::-;;:::i;1314:142:30:-;1094:13:13;:11;:13::i;:::-;1412:37:30::1;::::0;1381:21:::1;::::0;1420:10:::1;::::0;1412:37;::::1;;;::::0;1381:21;;1363:15:::1;1412:37:::0;1363:15;1412:37;1381:21;1420:10;1412:37;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;1353:103;1314:142::o:0;1831:101:13:-;1094:13;:11;:13::i;:::-;1895:30:::1;1922:1;1895:18;:30::i;:::-;1831:101::o:0;1220:88:30:-;1094:13:13;:11;:13::i;:::-;1284:8:30::1;:17:::0;1220:88::o;2729:529::-;2937:40;;;2929:78;;;;-1:-1:-1;;;2929:78:30;;2723:2:34;2929:78:30;;;2705:21:34;2762:2;2742:18;;;2735:30;2801:27;2781:18;;;2774:55;2846:18;;2929:78:30;;;;;;;;;3060:8;;3038:30;;:12;:30;:::i;:::-;3025:9;:43;;3017:79;;;;-1:-1:-1;;;3017:79:30;;3382:2:34;3017:79:30;;;3364:21:34;3421:2;3401:18;;;3394:30;3460:25;3440:18;;;3433:53;3503:18;;3017:79:30;3180:347:34;3017:79:30;3110:9;3106:146;3121:23;;;3106:146;;;3165:76;3182:15;3199:12;;3212:1;3199:15;;;;;;;:::i;:::-;;;;;;;3216:10;;3227:1;3216:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;3231:9;3165:16;:76::i;:::-;3146:3;;;;:::i;:::-;;;;3106:146;;;;2729:529;;;;;;:::o;2081:198:13:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2169:22:13;::::1;2161:73;;;::::0;-1:-1:-1;;;2161:73:13;;4006:2:34;2161:73:13::1;::::0;::::1;3988:21:34::0;4045:2;4025:18;;;4018:30;4084:34;4064:18;;;4057:62;-1:-1:-1;;;4135:18:34;;;4128:36;4181:19;;2161:73:13::1;3804:402:34::0;2161:73:13::1;2244:28;2263:8;2244:18;:28::i;:::-;2081:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:13;719:10:23;1422:23:13;1414:68;;;;-1:-1:-1;;;1414:68:13;;4413:2:34;1414:68:13;;;4395:21:34;;;4432:18;;;4425:30;4491:34;4471:18;;;4464:62;4543:18;;1414:68:13;4211:356:34;2433:187:13;2506:16;2525:6;;-1:-1:-1;;;;;2541:17:13;;;-1:-1:-1;;;;;;2541:17:13;;;;;;2573:40;;2525:6;;;;;;;2573:40;;2506:16;2573:40;2496:124;2433:187;:::o;1649:1074:30:-;1815:9;1811:826;;;1848:58;;-1:-1:-1;;;1848:58:30;;1883:10;1848:58;;;4746:51:34;4813:18;;;4806:34;;;1909:1:30;;-1:-1:-1;;;;;1848:34:30;;;;;4719:18:34;;1848:58:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:62;1840:135;;;;-1:-1:-1;;;1840:135:30;;;;;;;:::i;:::-;1997:68;;-1:-1:-1;;;1997:68:30;;2039:10;1997:68;;;5681:34:34;2059:4:30;5731:18:34;;;5724:43;-1:-1:-1;;;;;1997:41:30;;;;;5616:18:34;;1997:68:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1989:135;;;;-1:-1:-1;;;1989:135:30;;;;;;;:::i;:::-;2218:9;;;;;;;;-1:-1:-1;2218:9:30;;2138:90;;-1:-1:-1;;;2138:90:30;;-1:-1:-1;;;;;2138:41:30;;;;;:90;;2180:10;;2192:9;;2203:10;;2215:1;;2218:9;2138:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1811:826;;;2281:43;;-1:-1:-1;;;2281:43:30;;;;;756:25:34;;;-1:-1:-1;;;;;2281:31:30;;;;;729:18:34;;2281:43:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2267:57:30;:10;-1:-1:-1;;;;;2267:57:30;;2259:130;;;;-1:-1:-1;;;2259:130:30;;;;;;;:::i;:::-;2411:67;;-1:-1:-1;;;2411:67:30;;2452:10;2411:67;;;5681:34:34;2472:4:30;5731:18:34;;;5724:43;-1:-1:-1;;;;;2411:40:30;;;;;5616:18:34;;2411:67:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2403:134;;;;-1:-1:-1;;;2403:134:30;;;;;;;:::i;:::-;2551:75;;-1:-1:-1;;;2551:75:30;;2592:10;2551:75;;;7852:34:34;-1:-1:-1;;;;;7922:15:34;;;7902:18;;;7895:43;7954:18;;;7947:34;;;2551:40:30;;;;;7787:18:34;;2551:75:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1811:826;2706:9;-1:-1:-1;;;;;2651:65:30;2694:10;-1:-1:-1;;;;;2651:65:30;2665:15;-1:-1:-1;;;;;2651:65:30;;2682:10;2651:65;;;;756:25:34;;744:2;729:18;;610:177;2651:65:30;;;;;;;;1649:1074;;;;:::o;14:131:34:-;-1:-1:-1;;;;;89:31:34;;79:42;;69:70;;135:1;132;125:12;150:247;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;:::-;386:5;150:247;-1:-1:-1;;;150:247:34:o;792:180::-;851:6;904:2;892:9;883:7;879:23;875:32;872:52;;;920:1;917;910:12;872:52;-1:-1:-1;943:23:34;;792:180;-1:-1:-1;792:180:34:o;977:367::-;1040:8;1050:6;1104:3;1097:4;1089:6;1085:17;1081:27;1071:55;;1122:1;1119;1112:12;1071:55;-1:-1:-1;1145:20:34;;1188:18;1177:30;;1174:50;;;1220:1;1217;1210:12;1174:50;1257:4;1249:6;1245:17;1233:29;;1317:3;1310:4;1300:6;1297:1;1293:14;1285:6;1281:27;1277:38;1274:47;1271:67;;;1334:1;1331;1324:12;1271:67;977:367;;;;;:::o;1349:118::-;1435:5;1428:13;1421:21;1414:5;1411:32;1401:60;;1457:1;1454;1447:12;1472:1044;1609:6;1617;1625;1633;1641;1649;1702:3;1690:9;1681:7;1677:23;1673:33;1670:53;;;1719:1;1716;1709:12;1670:53;1758:9;1745:23;1777:31;1802:5;1777:31;:::i;:::-;1827:5;-1:-1:-1;1883:2:34;1868:18;;1855:32;1906:18;1936:14;;;1933:34;;;1963:1;1960;1953:12;1933:34;2002:70;2064:7;2055:6;2044:9;2040:22;2002:70;:::i;:::-;2091:8;;-1:-1:-1;1976:96:34;-1:-1:-1;2179:2:34;2164:18;;2151:32;;-1:-1:-1;2195:16:34;;;2192:36;;;2224:1;2221;2214:12;2192:36;;2263:72;2327:7;2316:8;2305:9;2301:24;2263:72;:::i;:::-;2354:8;;-1:-1:-1;2237:98:34;-1:-1:-1;;2441:2:34;2426:18;;2413:32;2454:30;2413:32;2454:30;:::i;:::-;2503:7;2493:17;;;1472:1044;;;;;;;;:::o;2875:127::-;2936:10;2931:3;2927:20;2924:1;2917:31;2967:4;2964:1;2957:15;2991:4;2988:1;2981:15;3007:168;3080:9;;;3111;;3128:15;;;3122:22;;3108:37;3098:71;;3149:18;;:::i;:::-;3007:168;;;;:::o;3532:127::-;3593:10;3588:3;3584:20;3581:1;3574:31;3624:4;3621:1;3614:15;3648:4;3645:1;3638:15;3664:135;3703:3;3724:17;;;3721:43;;3744:18;;:::i;:::-;-1:-1:-1;3791:1:34;3780:13;;3664:135::o;4851:184::-;4921:6;4974:2;4962:9;4953:7;4949:23;4945:32;4942:52;;;4990:1;4987;4980:12;4942:52;-1:-1:-1;5013:16:34;;4851:184;-1:-1:-1;4851:184:34:o;5040:424::-;5242:2;5224:21;;;5281:2;5261:18;;;5254:30;5320:34;5315:2;5300:18;;5293:62;5391:30;5386:2;5371:18;;5364:58;5454:3;5439:19;;5040:424::o;5778:245::-;5845:6;5898:2;5886:9;5877:7;5873:23;5869:32;5866:52;;;5914:1;5911;5904:12;5866:52;5946:9;5940:16;5965:28;5987:5;5965:28;:::i;6028:418::-;6230:2;6212:21;;;6269:2;6249:18;;;6242:30;6308:34;6303:2;6288:18;;6281:62;-1:-1:-1;;;6374:2:34;6359:18;;6352:52;6436:3;6421:19;;6028:418::o;6451:900::-;6681:4;6727:1;6723;6718:3;6714:11;6710:19;6768:2;6760:6;6756:15;6745:9;6738:34;6791:2;6841;6833:6;6829:15;6824:2;6813:9;6809:18;6802:43;6881:6;6876:2;6865:9;6861:18;6854:34;6924:6;6919:2;6908:9;6904:18;6897:34;6968:3;6962;6951:9;6947:19;6940:32;7001:6;6995:13;6981:27;;7045:6;7039:3;7028:9;7024:19;7017:35;7070:1;7080:141;7094:6;7091:1;7088:13;7080:141;;;7190:14;;;7186:23;;7180:30;7155:17;;;7174:3;7151:27;7144:67;7109:10;;7080:141;;;7084:3;;7271:1;7265:3;7256:6;7245:9;7241:22;7237:32;7230:43;7341:3;7334:2;7330:7;7325:2;7317:6;7313:15;7309:29;7298:9;7294:45;7290:55;7282:63;;;6451:900;;;;;;;;:::o;7356:251::-;7426:6;7479:2;7467:9;7458:7;7454:23;7450:32;7447:52;;;7495:1;7492;7485:12;7447:52;7527:9;7521:16;7546:31;7571:5;7546:31;:::i", "linkReferences": {} }, "methodIdentifiers": { "addressVault(address)": "2ab8c1f4", "contractBulkTransfer(address,uint256[],address[],bool)": "c3c77c63", - "contractTransfer(address,uint256,address,bool)": "785da644", - "updateVault(address)": "e7563f3f" + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b", + "updateFee(uint256)": "9012c4a8", + "updateVault(address)": "e7563f3f", + "usageFee()": "34aef4c8", + "withdraw()": "3ccfd60b" }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenIndex\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"TokenTransfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addressVault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"tokenIndexes\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"recipients\",\"type\":\"address[]\"},{\"internalType\":\"bool\",\"name\":\"isERC1155\",\"type\":\"bool\"}],\"name\":\"contractBulkTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenIndex\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"isERC1155\",\"type\":\"bool\"}],\"name\":\"contractTransfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultAddress\",\"type\":\"address\"}],\"name\":\"updateVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/SendIt.sol\":\"SendIt\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/solmate/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/solmate/src/tokens/ERC1155.sol\":{\"keccak256\":\"0x00502c7d7671d9dce495858572943999633ac298f20dbb70476280a93720d412\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://62c6b793ba478e87398fa891a36f936ece0df7f9d4b0d0e1e3a853b8b707c181\",\"dweb:/ipfs/QmeRJVA9f1txCw7JRW31JszJH3a1abQjxJszfF5acsh8sk\"]},\"lib/solmate/src/tokens/ERC721.sol\":{\"keccak256\":\"0x04af19f16f00ba65ae168d6d10da5210dc18da6bcec6974dccf984ba388aa22d\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://098e69f22b67da6927e03203c12ebfda5b0490518f6d9cce7853001ac5ad8403\",\"dweb:/ipfs/QmYyzfurQe88PsVjRNfutV3gS7Vi68f7zgtVZVtLfd4ViK\"]},\"src/SendIt.sol\":{\"keccak256\":\"0x3485d35718216dd005888f7f6f5cdb9d717b39824c7b93dbd95266fe9a1d233b\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://286af732afdbe476177b2d2f0bc0aa4c1265689efb11fc0b92f7483e07042a75\",\"dweb:/ipfs/QmafSHpaqQoAix4uoghqfwmzqS2u1bKCedybb9nH8CbKF6\"]}},\"version\":1}", + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenIndex\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"TokenTransfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addressVault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"tokenIndexes\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"recipients\",\"type\":\"address[]\"},{\"internalType\":\"bool\",\"name\":\"isERC1155\",\"type\":\"bool\"}],\"name\":\"contractBulkTransfer\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"updateFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultAddress\",\"type\":\"address\"}],\"name\":\"updateVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"usageFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/SendIt.sol\":\"SendIt\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/solmate/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2\",\"dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0xd917747dc87f189c6779b894f367a028f9dca4be930283cccec8f312966af820\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a5e5b99830cf233f77aa3b1bd1f57561faee103beeee88e6a6f86d044817bbb\",\"dweb:/ipfs/QmREYidSDpHPig3AhxzsMHg3w2ZtMeGfRhcokXxEZyj6fC\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x6392f2cfe3a5ee802227fe7a2dfd47096d881aec89bddd214b35c5b46d3cd941\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd9c47a375639888e726a99da718890ba16d17d7ad9eacb0ccc892d46d1b3ee0\",\"dweb:/ipfs/Qmb41W5RUjy2sWg49A2rMnxekSeEk6SvGyJL5tyCCSr7un\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0xa66d18b9a85458d28fc3304717964502ae36f7f8a2ff35bc83f6f85d74b03574\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e46c80ea068989111d6103e5521223f9ef337e93de76deed8b03f75c6f7b2797\",\"dweb:/ipfs/QmNoSE6knNfFncdDDLTb3fGR6oSQty1srG96Vsx3E9wQdw\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c\",\"dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56\",\"dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x68404b57d114b893554b0e54334b32f578f5d1abf61830025c83fb71dc1944ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3d0a94b3c8afd92c2a9f03f3325e9ac22cec56e995b94ff212670ff3653f0d3\",\"dweb:/ipfs/QmPqKWUysbo8QqKcqH5Lp7SQiL1LfjeoGCSa7iFWmAP8Mw\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x50d8442df21e003cffe241feead16ae1f817afb016e9caab96235d7017816fd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d079afcda8d243ca111f3471d5bb351b90d64806eb5e9704c414a2808ff02d44\",\"dweb:/ipfs/QmeUcosk8rKGvV9yghc58fd2Te66D943JFBS5jD4mbUZaC\"]},\"src/SendIt.sol\":{\"keccak256\":\"0x21a46b2fcd66a1ef52f21d739157efbf09047dd5e53eece918c2f8ac5a5b565f\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://45aed425c67e37edfa7140733c83ba452c6e8acbfbfe3e78edf378f63d3ef2d9\",\"dweb:/ipfs/QmStU4Ew5yikiwuSyfgSh82MR2iy3JcdiBtJepyB3AE3o1\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.17+commit.8df45f5f" @@ -144,6 +206,25 @@ "language": "Solidity", "output": { "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "previousOwner", + "type": "address", + "indexed": true + }, + { + "internalType": "address", + "name": "newOwner", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "OwnershipTransferred", + "anonymous": false + }, { "inputs": [ { @@ -217,36 +298,52 @@ "type": "bool" } ], - "stateMutability": "nonpayable", + "stateMutability": "payable", "type": "function", "name": "contractBulkTransfer" }, { - "inputs": [ + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "owner", + "outputs": [ { "internalType": "address", - "name": "contractAddress", + "name": "", "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenIndex", - "type": "uint256" - }, + } + ] + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "renounceOwnership" + }, + { + "inputs": [ { "internalType": "address", - "name": "recipient", + "name": "newOwner", "type": "address" - }, + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferOwnership" + }, + { + "inputs": [ { - "internalType": "bool", - "name": "isERC1155", - "type": "bool" + "internalType": "uint256", + "name": "amount", + "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", - "name": "contractTransfer" + "name": "updateFee" }, { "inputs": [ @@ -259,11 +356,40 @@ "stateMutability": "nonpayable", "type": "function", "name": "updateVault" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "usageFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ] + }, + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "function", + "name": "withdraw" } ], "devdoc": { "kind": "dev", - "methods": {}, + "methods": { + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + } + }, "version": 1 }, "userdoc": { @@ -293,27 +419,131 @@ "libraries": {} }, "sources": { - "lib/solmate/src/tokens/ERC1155.sol": { - "keccak256": "0x00502c7d7671d9dce495858572943999633ac298f20dbb70476280a93720d412", + "lib/openzeppelin-contracts/contracts/access/Ownable.sol": { + "keccak256": "0xa94b34880e3c1b0b931662cb1c09e5dfa6662f31cba80e07c5ee71cd135c9673", + "urls": [ + "bzz-raw://40fb1b5102468f783961d0af743f91b9980cf66b50d1d12009f6bb1869cea4d2", + "dweb:/ipfs/QmYqEbJML4jB1GHbzD4cUZDtJg5wVwNm3vDJq1GbyDus8y" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol": { + "keccak256": "0xd917747dc87f189c6779b894f367a028f9dca4be930283cccec8f312966af820", + "urls": [ + "bzz-raw://7a5e5b99830cf233f77aa3b1bd1f57561faee103beeee88e6a6f86d044817bbb", + "dweb:/ipfs/QmREYidSDpHPig3AhxzsMHg3w2ZtMeGfRhcokXxEZyj6fC" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol": { + "keccak256": "0x6392f2cfe3a5ee802227fe7a2dfd47096d881aec89bddd214b35c5b46d3cd941", + "urls": [ + "bzz-raw://bd9c47a375639888e726a99da718890ba16d17d7ad9eacb0ccc892d46d1b3ee0", + "dweb:/ipfs/Qmb41W5RUjy2sWg49A2rMnxekSeEk6SvGyJL5tyCCSr7un" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol": { + "keccak256": "0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b", + "urls": [ + "bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec", + "dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol": { + "keccak256": "0xa66d18b9a85458d28fc3304717964502ae36f7f8a2ff35bc83f6f85d74b03574", "urls": [ - "bzz-raw://62c6b793ba478e87398fa891a36f936ece0df7f9d4b0d0e1e3a853b8b707c181", - "dweb:/ipfs/QmeRJVA9f1txCw7JRW31JszJH3a1abQjxJszfF5acsh8sk" + "bzz-raw://e46c80ea068989111d6103e5521223f9ef337e93de76deed8b03f75c6f7b2797", + "dweb:/ipfs/QmNoSE6knNfFncdDDLTb3fGR6oSQty1srG96Vsx3E9wQdw" ], - "license": "AGPL-3.0-only" + "license": "MIT" }, - "lib/solmate/src/tokens/ERC721.sol": { - "keccak256": "0x04af19f16f00ba65ae168d6d10da5210dc18da6bcec6974dccf984ba388aa22d", + "lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol": { + "keccak256": "0xd89f3585b211fc9e3408384a4c4efdc3a93b2f877a3821046fa01c219d35be1b", "urls": [ - "bzz-raw://098e69f22b67da6927e03203c12ebfda5b0490518f6d9cce7853001ac5ad8403", - "dweb:/ipfs/QmYyzfurQe88PsVjRNfutV3gS7Vi68f7zgtVZVtLfd4ViK" + "bzz-raw://5ea15ef7c8980240ccd46df13809d163f749bc0a01d8bced1875660d4872da1c", + "dweb:/ipfs/QmbDfAT9VeCSG4cnPd6tjDMp8ED85dLHbWyMyv7wbmL4CH" ], - "license": "AGPL-3.0-only" + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol": { + "keccak256": "0xab28a56179c1db258c9bf5235b382698cb650debecb51b23d12be9e241374b68", + "urls": [ + "bzz-raw://daae589a9d6fa7e55f99f86c0a16796ca490f243fb3693632c3711c0646c1d56", + "dweb:/ipfs/QmR3zpd7wNw3rcUdekwiv6FYHJqksuTCXLVioTxu6Fbxk3" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol": { + "keccak256": "0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da", + "urls": [ + "bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708", + "dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol": { + "keccak256": "0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9", + "urls": [ + "bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146", + "dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Address.sol": { + "keccak256": "0x68404b57d114b893554b0e54334b32f578f5d1abf61830025c83fb71dc1944ce", + "urls": [ + "bzz-raw://d3d0a94b3c8afd92c2a9f03f3325e9ac22cec56e995b94ff212670ff3653f0d3", + "dweb:/ipfs/QmPqKWUysbo8QqKcqH5Lp7SQiL1LfjeoGCSa7iFWmAP8Mw" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Context.sol": { + "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", + "urls": [ + "bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", + "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { + "keccak256": "0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a", + "urls": [ + "bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634", + "dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol": { + "keccak256": "0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b", + "urls": [ + "bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d", + "dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1", + "urls": [ + "bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f", + "dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy" + ], + "license": "MIT" + }, + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { + "keccak256": "0x50d8442df21e003cffe241feead16ae1f817afb016e9caab96235d7017816fd8", + "urls": [ + "bzz-raw://d079afcda8d243ca111f3471d5bb351b90d64806eb5e9704c414a2808ff02d44", + "dweb:/ipfs/QmeUcosk8rKGvV9yghc58fd2Te66D943JFBS5jD4mbUZaC" + ], + "license": "MIT" }, "src/SendIt.sol": { - "keccak256": "0x3485d35718216dd005888f7f6f5cdb9d717b39824c7b93dbd95266fe9a1d233b", + "keccak256": "0x21a46b2fcd66a1ef52f21d739157efbf09047dd5e53eece918c2f8ac5a5b565f", "urls": [ - "bzz-raw://286af732afdbe476177b2d2f0bc0aa4c1265689efb11fc0b92f7483e07042a75", - "dweb:/ipfs/QmafSHpaqQoAix4uoghqfwmzqS2u1bKCedybb9nH8CbKF6" + "bzz-raw://45aed425c67e37edfa7140733c83ba452c6e8acbfbfe3e78edf378f63d3ef2d9", + "dweb:/ipfs/QmStU4Ew5yikiwuSyfgSh82MR2iy3JcdiBtJepyB3AE3o1" ], "license": "UNLICENSED" } @@ -322,31 +552,28 @@ }, "ast": { "absolutePath": "src/SendIt.sol", - "id": 27214, + "id": 29049, "exportedSymbols": { "ERC1155": [ - 26321 - ], - "ERC1155TokenReceiver": [ - 26365 + 24195 ], "ERC721": [ - 26909 + 25318 ], - "ERC721TokenReceiver": [ - 26929 + "Ownable": [ + 22972 ], "SendIt": [ - 27213 + 29048 ] }, "nodeType": "SourceUnit", - "src": "39:2421:19", + "src": "39:3223:30", "nodes": [ { - "id": 26990, + "id": 28770, "nodeType": "PragmaDirective", - "src": "39:24:19", + "src": "39:24:30", "nodes": [], "literals": [ "solidity", @@ -356,47 +583,99 @@ ] }, { - "id": 26991, + "id": 28772, "nodeType": "ImportDirective", - "src": "65:35:19", + "src": "65:70:30", "nodes": [], - "absolutePath": "lib/solmate/src/tokens/ERC721.sol", - "file": "solmate/tokens/ERC721.sol", + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol", + "file": "openzeppelin-contracts/token/ERC721/ERC721.sol", "nameLocation": "-1:-1:-1", - "scope": 27214, - "sourceUnit": 26930, - "symbolAliases": [], + "scope": 29049, + "sourceUnit": 25319, + "symbolAliases": [ + { + "foreign": { + "id": 28771, + "name": "ERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25318, + "src": "73:6:30", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], "unitAlias": "" }, { - "id": 26992, + "id": 28774, "nodeType": "ImportDirective", - "src": "101:36:19", + "src": "136:73:30", "nodes": [], - "absolutePath": "lib/solmate/src/tokens/ERC1155.sol", - "file": "solmate/tokens/ERC1155.sol", + "absolutePath": "lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol", + "file": "openzeppelin-contracts/token/ERC1155/ERC1155.sol", "nameLocation": "-1:-1:-1", - "scope": 27214, - "sourceUnit": 26366, - "symbolAliases": [], + "scope": 29049, + "sourceUnit": 24196, + "symbolAliases": [ + { + "foreign": { + "id": 28773, + "name": "ERC1155", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24195, + "src": "144:7:30", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 28776, + "nodeType": "ImportDirective", + "src": "210:66:30", + "nodes": [], + "absolutePath": "lib/openzeppelin-contracts/contracts/access/Ownable.sol", + "file": "openzeppelin-contracts/access/Ownable.sol", + "nameLocation": "-1:-1:-1", + "scope": 29049, + "sourceUnit": 22973, + "symbolAliases": [ + { + "foreign": { + "id": 28775, + "name": "Ownable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 22972, + "src": "218:7:30", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], "unitAlias": "" }, { - "id": 27213, + "id": 29048, "nodeType": "ContractDefinition", - "src": "139:2320:19", + "src": "278:2983:30", "nodes": [ { - "id": 26996, + "id": 28782, "nodeType": "VariableDeclaration", - "src": "162:47:19", + "src": "312:47:30", "nodes": [], "constant": false, "functionSelector": "2ab8c1f4", "mutability": "mutable", "name": "addressVault", - "nameLocation": "197:12:19", - "scope": 27213, + "nameLocation": "347:12:30", + "scope": 29048, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -404,28 +683,28 @@ "typeString": "mapping(address => address)" }, "typeName": { - "id": 26995, + "id": 28781, "keyType": { - "id": 26993, + "id": 28779, "name": "address", "nodeType": "ElementaryTypeName", - "src": "170:7:19", + "src": "320:7:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "162:27:19", + "src": "312:27:30", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" }, "valueType": { - "id": 26994, + "id": 28780, "name": "address", "nodeType": "ElementaryTypeName", - "src": "181:7:19", + "src": "331:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -436,28 +715,74 @@ "visibility": "public" }, { - "id": 27006, + "id": 28785, + "nodeType": "VariableDeclaration", + "src": "422:37:30", + "nodes": [], + "constant": false, + "functionSelector": "34aef4c8", + "mutability": "mutable", + "name": "usageFee", + "nameLocation": "437:8:30", + "scope": 29048, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28783, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "422:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "2e30303031", + "id": 28784, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "448:11:30", + "subdenomination": "ether", + "typeDescriptions": { + "typeIdentifier": "t_rational_100000000000000_by_1", + "typeString": "int_const 100000000000000" + }, + "value": ".0001" + }, + "visibility": "public" + }, + { + "id": 28795, "nodeType": "EventDefinition", - "src": "216:115:19", + "src": "531:115:30", "nodes": [], "anonymous": false, "eventSelector": "a8b0736f82b72321cb76a3db6dfd7187786bb37ac0964124f784ec881c56ab75", "name": "TokenTransfer", - "nameLocation": "222:13:19", + "nameLocation": "537:13:30", "parameters": { - "id": 27005, + "id": 28794, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 26998, + "id": 28787, "indexed": true, "mutability": "mutable", "name": "contractAddress", - "nameLocation": "252:15:19", + "nameLocation": "567:15:30", "nodeType": "VariableDeclaration", - "scope": 27006, - "src": "236:31:19", + "scope": 28795, + "src": "551:31:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -465,10 +790,10 @@ "typeString": "address" }, "typeName": { - "id": 26997, + "id": 28786, "name": "address", "nodeType": "ElementaryTypeName", - "src": "236:7:19", + "src": "551:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -479,14 +804,14 @@ }, { "constant": false, - "id": 27000, + "id": 28789, "indexed": false, "mutability": "mutable", "name": "tokenIndex", - "nameLocation": "277:10:19", + "nameLocation": "592:10:30", "nodeType": "VariableDeclaration", - "scope": 27006, - "src": "269:18:19", + "scope": 28795, + "src": "584:18:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -494,10 +819,10 @@ "typeString": "uint256" }, "typeName": { - "id": 26999, + "id": 28788, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "269:7:19", + "src": "584:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -507,14 +832,14 @@ }, { "constant": false, - "id": 27002, + "id": 28791, "indexed": true, "mutability": "mutable", "name": "from", - "nameLocation": "305:4:19", + "nameLocation": "620:4:30", "nodeType": "VariableDeclaration", - "scope": 27006, - "src": "289:20:19", + "scope": 28795, + "src": "604:20:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -522,10 +847,10 @@ "typeString": "address" }, "typeName": { - "id": 27001, + "id": 28790, "name": "address", "nodeType": "ElementaryTypeName", - "src": "289:7:19", + "src": "604:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -536,14 +861,14 @@ }, { "constant": false, - "id": 27004, + "id": 28793, "indexed": true, "mutability": "mutable", "name": "to", - "nameLocation": "327:2:19", + "nameLocation": "642:2:30", "nodeType": "VariableDeclaration", - "scope": 27006, - "src": "311:18:19", + "scope": 28795, + "src": "626:18:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -551,10 +876,10 @@ "typeString": "address" }, "typeName": { - "id": 27003, + "id": 28792, "name": "address", "nodeType": "ElementaryTypeName", - "src": "311:7:19", + "src": "626:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -564,37 +889,37 @@ "visibility": "internal" } ], - "src": "235:95:19" + "src": "550:95:30" } }, { - "id": 27047, + "id": 28836, "nodeType": "ModifierDefinition", - "src": "419:406:19", + "src": "734:406:30", "nodes": [], "body": { - "id": 27046, + "id": 28835, "nodeType": "Block", - "src": "536:289:19", + "src": "851:289:30", "nodes": [], "statements": [ { "condition": { - "id": 27014, + "id": 28803, "name": "isERC1155", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27012, - "src": "550:9:19", + "referencedDeclaration": 28801, + "src": "865:9:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 27043, + "id": 28832, "nodeType": "Block", - "src": "690:118:19", + "src": "1005:118:30", "statements": [ { "expression": { @@ -604,33 +929,33 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 27039, + "id": 28828, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 27031, + "id": 28820, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "712:3:19", + "src": "1027:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 27032, + "id": 28821, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "716:6:19", + "memberLocation": "1031:6:30", "memberName": "sender", "nodeType": "MemberAccess", - "src": "712:10:19", + "src": "1027:10:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -641,12 +966,12 @@ "rightExpression": { "arguments": [ { - "id": 27037, + "id": 28826, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27010, - "src": "758:10:19", + "referencedDeclaration": 28799, + "src": "1073:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -663,12 +988,12 @@ "expression": { "arguments": [ { - "id": 27034, + "id": 28823, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27008, - "src": "733:15:19", + "referencedDeclaration": 28797, + "src": "1048:15:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -682,18 +1007,18 @@ "typeString": "address" } ], - "id": 27033, + "id": 28822, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26909, - "src": "726:6:19", + "referencedDeclaration": 25318, + "src": "1041:6:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$26909_$", + "typeIdentifier": "t_type$_t_contract$_ERC721_$25318_$", "typeString": "type(contract ERC721)" } }, - "id": 27035, + "id": 28824, "isConstant": false, "isLValue": false, "isPure": false, @@ -702,29 +1027,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "726:23:19", + "src": "1041:23:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$26909", + "typeIdentifier": "t_contract$_ERC721_$25318", "typeString": "contract ERC721" } }, - "id": 27036, + "id": 28825, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "750:7:19", + "memberLocation": "1065:7:30", "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 26434, - "src": "726:31:19", + "referencedDeclaration": 24519, + "src": "1041:31:30", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view external returns (address)" } }, - "id": 27038, + "id": 28827, "isConstant": false, "isLValue": false, "isPure": false, @@ -733,14 +1058,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "726:43:19", + "src": "1041:43:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "712:57:19", + "src": "1027:57:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -748,14 +1073,14 @@ }, { "hexValue": "596f75206d757374206f776e2074686520746f6b656e2e", - "id": 27040, + "id": 28829, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "771:25:19", + "src": "1086:25:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d31599eb0fbd49993937bd1d29a43fee7483feee72489f5acd1739c2fdde9e5b", "typeString": "literal_string \"You must own the token.\"" @@ -774,7 +1099,7 @@ "typeString": "literal_string \"You must own the token.\"" } ], - "id": 27030, + "id": 28819, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -782,13 +1107,13 @@ -18 ], "referencedDeclaration": -18, - "src": "704:7:19", + "src": "1019:7:30", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 27041, + "id": 28830, "isConstant": false, "isLValue": false, "isPure": false, @@ -797,26 +1122,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "704:93:19", + "src": "1019:93:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27042, + "id": 28831, "nodeType": "ExpressionStatement", - "src": "704:93:19" + "src": "1019:93:30" } ] }, - "id": 27044, + "id": 28833, "nodeType": "IfStatement", - "src": "546:262:19", + "src": "861:262:30", "trueBody": { - "id": 27029, + "id": 28818, "nodeType": "Block", - "src": "561:123:19", + "src": "876:123:30", "statements": [ { "expression": { @@ -826,7 +1151,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 27025, + "id": 28814, "isConstant": false, "isLValue": false, "isPure": false, @@ -835,38 +1160,38 @@ "arguments": [ { "expression": { - "id": 27020, + "id": 28809, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "618:3:19", + "src": "933:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 27021, + "id": 28810, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "622:6:19", + "memberLocation": "937:6:30", "memberName": "sender", "nodeType": "MemberAccess", - "src": "618:10:19", + "src": "933:10:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27022, + "id": 28811, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27010, - "src": "630:10:19", + "referencedDeclaration": 28799, + "src": "945:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -887,12 +1212,12 @@ "expression": { "arguments": [ { - "id": 27017, + "id": 28806, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27008, - "src": "591:15:19", + "referencedDeclaration": 28797, + "src": "906:15:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -906,18 +1231,18 @@ "typeString": "address" } ], - "id": 27016, + "id": 28805, "name": "ERC1155", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26321, - "src": "583:7:19", + "referencedDeclaration": 24195, + "src": "898:7:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155_$26321_$", + "typeIdentifier": "t_type$_t_contract$_ERC1155_$24195_$", "typeString": "type(contract ERC1155)" } }, - "id": 27018, + "id": 28807, "isConstant": false, "isLValue": false, "isPure": false, @@ -926,29 +1251,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "583:24:19", + "src": "898:24:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155_$26321", + "typeIdentifier": "t_contract$_ERC1155_$24195", "typeString": "contract ERC1155" } }, - "id": 27019, + "id": 28808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "608:9:19", + "memberLocation": "923:9:30", "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 25735, - "src": "583:34:19", + "referencedDeclaration": 23088, + "src": "898:34:30", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256) view external returns (uint256)" } }, - "id": 27023, + "id": 28812, "isConstant": false, "isLValue": false, "isPure": false, @@ -957,7 +1282,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "583:58:19", + "src": "898:58:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -968,21 +1293,21 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 27024, + "id": 28813, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "644:1:19", + "src": "959:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "583:62:19", + "src": "898:62:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -990,14 +1315,14 @@ }, { "hexValue": "596f75206d757374206f776e2074686520746f6b656e2e", - "id": 27026, + "id": 28815, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "647:25:19", + "src": "962:25:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d31599eb0fbd49993937bd1d29a43fee7483feee72489f5acd1739c2fdde9e5b", "typeString": "literal_string \"You must own the token.\"" @@ -1016,7 +1341,7 @@ "typeString": "literal_string \"You must own the token.\"" } ], - "id": 27015, + "id": 28804, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1024,190 +1349,606 @@ -18 ], "referencedDeclaration": -18, - "src": "575:7:19", + "src": "890:7:30", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 28816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "890:98:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28817, + "nodeType": "ExpressionStatement", + "src": "890:98:30" + } + ] + } + }, + { + "id": 28834, + "nodeType": "PlaceholderStatement", + "src": "1132:1:30" + } + ] + }, + "name": "onlyIfTokenOwner", + "nameLocation": "743:16:30", + "parameters": { + "id": 28802, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28797, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "777:15:30", + "nodeType": "VariableDeclaration", + "scope": 28836, + "src": "769:23:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28796, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "769:7:30", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28799, + "mutability": "mutable", + "name": "tokenIndex", + "nameLocation": "810:10:30", + "nodeType": "VariableDeclaration", + "scope": 28836, + "src": "802:18:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28798, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "802:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 28801, + "mutability": "mutable", + "name": "isERC1155", + "nameLocation": "835:9:30", + "nodeType": "VariableDeclaration", + "scope": 28836, + "src": "830:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 28800, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "830:4:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "759:91:30" + }, + "virtual": false, + "visibility": "internal" + }, + { + "id": 28848, + "nodeType": "FunctionDefinition", + "src": "1220:88:30", + "nodes": [], + "body": { + "id": 28847, + "nodeType": "Block", + "src": "1274:34:30", + "nodes": [], + "statements": [ + { + "expression": { + "id": 28845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 28843, + "name": "usageFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28785, + "src": "1284:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 28844, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28838, + "src": "1295:6:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1284:17:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 28846, + "nodeType": "ExpressionStatement", + "src": "1284:17:30" + } + ] + }, + "functionSelector": "9012c4a8", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28841, + "kind": "modifierInvocation", + "modifierName": { + "id": 28840, + "name": "onlyOwner", + "nameLocations": [ + "1264:9:30" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 22891, + "src": "1264:9:30" + }, + "nodeType": "ModifierInvocation", + "src": "1264:9:30" + } + ], + "name": "updateFee", + "nameLocation": "1229:9:30", + "parameters": { + "id": 28839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28838, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1247:6:30", + "nodeType": "VariableDeclaration", + "scope": 28848, + "src": "1239:14:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28837, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1239:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1238:16:30" + }, + "returnParameters": { + "id": 28842, + "nodeType": "ParameterList", + "parameters": [], + "src": "1274:0:30" + }, + "scope": 29048, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 28871, + "nodeType": "FunctionDefinition", + "src": "1314:142:30", + "nodes": [], + "body": { + "id": 28870, + "nodeType": "Block", + "src": "1353:103:30", + "nodes": [], + "statements": [ + { + "assignments": [ + 28854 + ], + "declarations": [ + { + "constant": false, + "id": 28854, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1371:7:30", + "nodeType": "VariableDeclaration", + "scope": 28870, + "src": "1363:15:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 28853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1363:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 28860, + "initialValue": { + "expression": { + "arguments": [ + { + "id": 28857, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1389:4:30", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SendIt_$29048", + "typeString": "contract SendIt" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SendIt_$29048", + "typeString": "contract SendIt" + } + ], + "id": 28856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1381:7:30", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 28855, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1381:7:30", + "typeDescriptions": {} + } + }, + "id": 28858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1381:13:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 28859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1395:7:30", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "1381:21:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1363:39:30" + }, + { + "expression": { + "arguments": [ + { + "id": 28867, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28854, + "src": "1441:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "expression": { + "id": 28863, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1420:3:30", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 28864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1424:6:30", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1420:10:30", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "id": 27027, + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 28862, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "functionCall", + "isPure": true, "lValueRequested": false, - "nameLocations": [], - "names": [], - "nodeType": "FunctionCall", - "src": "575:98:19", - "tryCall": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1412:8:30", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 28861, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1412:8:30", + "stateMutability": "payable", + "typeDescriptions": {} } }, - "id": 27028, - "nodeType": "ExpressionStatement", - "src": "575:98:19" + "id": 28865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1412:19:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 28866, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1432:8:30", + "memberName": "transfer", + "nodeType": "MemberAccess", + "src": "1412:28:30", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" } - ] - } - }, - { - "id": 27045, - "nodeType": "PlaceholderStatement", - "src": "817:1:19" + }, + "id": 28868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1412:37:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 28869, + "nodeType": "ExpressionStatement", + "src": "1412:37:30" } ] }, - "name": "onlyIfTokenOwner", - "nameLocation": "428:16:19", + "functionSelector": "3ccfd60b", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 28851, + "kind": "modifierInvocation", + "modifierName": { + "id": 28850, + "name": "onlyOwner", + "nameLocations": [ + "1343:9:30" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 22891, + "src": "1343:9:30" + }, + "nodeType": "ModifierInvocation", + "src": "1343:9:30" + } + ], + "name": "withdraw", + "nameLocation": "1323:8:30", "parameters": { - "id": 27013, + "id": 28849, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27008, - "mutability": "mutable", - "name": "contractAddress", - "nameLocation": "462:15:19", - "nodeType": "VariableDeclaration", - "scope": 27047, - "src": "454:23:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "454:7:19", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27010, - "mutability": "mutable", - "name": "tokenIndex", - "nameLocation": "495:10:19", - "nodeType": "VariableDeclaration", - "scope": 27047, - "src": "487:18:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27009, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "487:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27012, - "mutability": "mutable", - "name": "isERC1155", - "nameLocation": "520:9:19", - "nodeType": "VariableDeclaration", - "scope": 27047, - "src": "515:14:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 27011, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "515:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "444:91:19" + "parameters": [], + "src": "1331:2:30" + }, + "returnParameters": { + "id": 28852, + "nodeType": "ParameterList", + "parameters": [], + "src": "1353:0:30" }, + "scope": 29048, + "stateMutability": "nonpayable", "virtual": false, - "visibility": "internal" + "visibility": "external" }, { - "id": 27060, + "id": 28884, "nodeType": "FunctionDefinition", - "src": "831:108:19", + "src": "1535:108:30", "nodes": [], "body": { - "id": 27059, + "id": 28883, "nodeType": "Block", - "src": "883:56:19", + "src": "1587:56:30", "nodes": [], "statements": [ { "expression": { - "id": 27057, + "id": 28881, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 27052, + "id": 28876, "name": "addressVault", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26996, - "src": "893:12:19", + "referencedDeclaration": 28782, + "src": "1597:12:30", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_address_$", "typeString": "mapping(address => address)" } }, - "id": 27055, + "id": 28879, "indexExpression": { "expression": { - "id": 27053, + "id": 28877, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "906:3:19", + "src": "1610:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 27054, + "id": 28878, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "910:6:19", + "memberLocation": "1614:6:30", "memberName": "sender", "nodeType": "MemberAccess", - "src": "906:10:19", + "src": "1610:10:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1218,7 +1959,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "893:24:19", + "src": "1597:24:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1227,26 +1968,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 27056, + "id": 28880, "name": "vaultAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27049, - "src": "920:12:19", + "referencedDeclaration": 28873, + "src": "1624:12:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "893:39:19", + "src": "1597:39:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 27058, + "id": 28882, "nodeType": "ExpressionStatement", - "src": "893:39:19" + "src": "1597:39:30" } ] }, @@ -1255,20 +1996,20 @@ "kind": "function", "modifiers": [], "name": "updateVault", - "nameLocation": "840:11:19", + "nameLocation": "1544:11:30", "parameters": { - "id": 27050, + "id": 28874, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27049, + "id": 28873, "mutability": "mutable", "name": "vaultAddress", - "nameLocation": "860:12:19", + "nameLocation": "1564:12:30", "nodeType": "VariableDeclaration", - "scope": 27060, - "src": "852:20:19", + "scope": 28884, + "src": "1556:20:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1276,10 +2017,10 @@ "typeString": "address" }, "typeName": { - "id": 27048, + "id": 28872, "name": "address", "nodeType": "ElementaryTypeName", - "src": "852:7:19", + "src": "1556:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1289,47 +2030,47 @@ "visibility": "internal" } ], - "src": "851:22:19" + "src": "1555:22:30" }, "returnParameters": { - "id": 27051, + "id": 28875, "nodeType": "ParameterList", "parameters": [], - "src": "883:0:19" + "src": "1587:0:30" }, - "scope": 27213, + "scope": 29048, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { - "id": 27166, + "id": 28990, "nodeType": "FunctionDefinition", - "src": "945:1073:19", + "src": "1649:1074:30", "nodes": [], "body": { - "id": 27165, + "id": 28989, "nodeType": "Block", - "src": "1096:922:19", + "src": "1801:922:30", "nodes": [], "statements": [ { "condition": { - "id": 27071, + "id": 28895, "name": "isERC1155", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27068, - "src": "1110:9:19", + "referencedDeclaration": 28892, + "src": "1815:9:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 27155, + "id": 28979, "nodeType": "Block", - "src": "1540:392:19", + "src": "2245:392:30", "statements": [ { "expression": { @@ -1339,33 +2080,33 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 27126, + "id": 28950, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 27118, + "id": 28942, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1562:3:19", + "src": "2267:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 27119, + "id": 28943, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1566:6:19", + "memberLocation": "2271:6:30", "memberName": "sender", "nodeType": "MemberAccess", - "src": "1562:10:19", + "src": "2267:10:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1376,12 +2117,12 @@ "rightExpression": { "arguments": [ { - "id": 27124, + "id": 28948, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27064, - "src": "1608:10:19", + "referencedDeclaration": 28888, + "src": "2313:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1398,12 +2139,12 @@ "expression": { "arguments": [ { - "id": 27121, + "id": 28945, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27062, - "src": "1583:15:19", + "referencedDeclaration": 28886, + "src": "2288:15:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1417,18 +2158,18 @@ "typeString": "address" } ], - "id": 27120, + "id": 28944, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26909, - "src": "1576:6:19", + "referencedDeclaration": 25318, + "src": "2281:6:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$26909_$", + "typeIdentifier": "t_type$_t_contract$_ERC721_$25318_$", "typeString": "type(contract ERC721)" } }, - "id": 27122, + "id": 28946, "isConstant": false, "isLValue": false, "isPure": false, @@ -1437,29 +2178,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1576:23:19", + "src": "2281:23:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$26909", + "typeIdentifier": "t_contract$_ERC721_$25318", "typeString": "contract ERC721" } }, - "id": 27123, + "id": 28947, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1600:7:19", + "memberLocation": "2305:7:30", "memberName": "ownerOf", "nodeType": "MemberAccess", - "referencedDeclaration": 26434, - "src": "1576:31:19", + "referencedDeclaration": 24519, + "src": "2281:31:30", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view external returns (address)" } }, - "id": 27125, + "id": 28949, "isConstant": false, "isLValue": false, "isPure": false, @@ -1468,14 +2209,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1576:43:19", + "src": "2281:43:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1562:57:19", + "src": "2267:57:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1483,14 +2224,14 @@ }, { "hexValue": "53656e646572206973206e6f742074686520746f6b656e206f776e65722c2063616e6e6f742070726f636565642077697468207472616e736665722e", - "id": 27127, + "id": 28951, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1621:62:19", + "src": "2326:62:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bb763f88f946c87a05ef8693394dbce4ea486c888648953a642721b2425f79bc", "typeString": "literal_string \"Sender is not the token owner, cannot proceed with transfer.\"" @@ -1509,7 +2250,7 @@ "typeString": "literal_string \"Sender is not the token owner, cannot proceed with transfer.\"" } ], - "id": 27117, + "id": 28941, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1517,13 +2258,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1554:7:19", + "src": "2259:7:30", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 27128, + "id": 28952, "isConstant": false, "isLValue": false, "isPure": false, @@ -1532,16 +2273,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1554:130:19", + "src": "2259:130:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27129, + "id": 28953, "nodeType": "ExpressionStatement", - "src": "1554:130:19" + "src": "2259:130:30" }, { "expression": { @@ -1550,26 +2291,26 @@ "arguments": [ { "expression": { - "id": 27135, + "id": 28959, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1747:3:19", + "src": "2452:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 27136, + "id": 28960, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1751:6:19", + "memberLocation": "2456:6:30", "memberName": "sender", "nodeType": "MemberAccess", - "src": "1747:10:19", + "src": "2452:10:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1578,14 +2319,14 @@ { "arguments": [ { - "id": 27139, + "id": 28963, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "1767:4:19", + "src": "2472:4:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_SendIt_$27213", + "typeIdentifier": "t_contract$_SendIt_$29048", "typeString": "contract SendIt" } } @@ -1593,30 +2334,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SendIt_$27213", + "typeIdentifier": "t_contract$_SendIt_$29048", "typeString": "contract SendIt" } ], - "id": 27138, + "id": 28962, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1759:7:19", + "src": "2464:7:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 27137, + "id": 28961, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1759:7:19", + "src": "2464:7:30", "typeDescriptions": {} } }, - "id": 27140, + "id": 28964, "isConstant": false, "isLValue": false, "isPure": false, @@ -1625,7 +2366,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1759:13:19", + "src": "2464:13:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -1647,12 +2388,12 @@ "expression": { "arguments": [ { - "id": 27132, + "id": 28956, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27062, - "src": "1713:15:19", + "referencedDeclaration": 28886, + "src": "2418:15:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1666,18 +2407,18 @@ "typeString": "address" } ], - "id": 27131, + "id": 28955, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26909, - "src": "1706:6:19", + "referencedDeclaration": 25318, + "src": "2411:6:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$26909_$", + "typeIdentifier": "t_type$_t_contract$_ERC721_$25318_$", "typeString": "type(contract ERC721)" } }, - "id": 27133, + "id": 28957, "isConstant": false, "isLValue": false, "isPure": false, @@ -1686,29 +2427,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1706:23:19", + "src": "2411:23:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$26909", + "typeIdentifier": "t_contract$_ERC721_$25318", "typeString": "contract ERC721" } }, - "id": 27134, + "id": 28958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1730:16:19", + "memberLocation": "2435:16:30", "memberName": "isApprovedForAll", "nodeType": "MemberAccess", - "referencedDeclaration": 26466, - "src": "1706:40:19", + "referencedDeclaration": 24683, + "src": "2411:40:30", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", "typeString": "function (address,address) view external returns (bool)" } }, - "id": 27141, + "id": 28965, "isConstant": false, "isLValue": false, "isPure": false, @@ -1717,7 +2458,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1706:67:19", + "src": "2411:67:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1726,14 +2467,14 @@ }, { "hexValue": "436f6e7472616374206e6f7420617070726f76656420746f2073656e6420746f6b656e73206f6e2053656e64657220626568616c662e", - "id": 27142, + "id": 28966, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1775:56:19", + "src": "2480:56:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_74c615216bd7cedc5a8f0a4ad8a963eeb060b1d9879a472090fd7ba5247f7c69", "typeString": "literal_string \"Contract not approved to send tokens on Sender behalf.\"" @@ -1752,7 +2493,7 @@ "typeString": "literal_string \"Contract not approved to send tokens on Sender behalf.\"" } ], - "id": 27130, + "id": 28954, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1760,13 +2501,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1698:7:19", + "src": "2403:7:30", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 27143, + "id": 28967, "isConstant": false, "isLValue": false, "isPure": false, @@ -1775,66 +2516,66 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1698:134:19", + "src": "2403:134:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27144, + "id": 28968, "nodeType": "ExpressionStatement", - "src": "1698:134:19" + "src": "2403:134:30" }, { "expression": { "arguments": [ { "expression": { - "id": 27149, + "id": 28973, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1887:3:19", + "src": "2592:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 27150, + "id": 28974, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1891:6:19", + "memberLocation": "2596:6:30", "memberName": "sender", "nodeType": "MemberAccess", - "src": "1887:10:19", + "src": "2592:10:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27151, + "id": 28975, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27066, - "src": "1899:9:19", + "referencedDeclaration": 28890, + "src": "2604:9:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27152, + "id": 28976, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27064, - "src": "1910:10:19", + "referencedDeclaration": 28888, + "src": "2615:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1859,12 +2600,12 @@ "expression": { "arguments": [ { - "id": 27146, + "id": 28970, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27062, - "src": "1853:15:19", + "referencedDeclaration": 28886, + "src": "2558:15:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1878,18 +2619,18 @@ "typeString": "address" } ], - "id": 27145, + "id": 28969, "name": "ERC721", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26909, - "src": "1846:6:19", + "referencedDeclaration": 25318, + "src": "2551:6:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$26909_$", + "typeIdentifier": "t_type$_t_contract$_ERC721_$25318_$", "typeString": "type(contract ERC721)" } }, - "id": 27147, + "id": 28971, "isConstant": false, "isLValue": false, "isPure": false, @@ -1898,29 +2639,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1846:23:19", + "src": "2551:23:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$26909", + "typeIdentifier": "t_contract$_ERC721_$25318", "typeString": "contract ERC721" } }, - "id": 27148, + "id": 28972, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1870:16:19", + "memberLocation": "2575:16:30", "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 26666, - "src": "1846:40:19", + "referencedDeclaration": 24729, + "src": "2551:40:30", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256) external" } }, - "id": 27153, + "id": 28977, "isConstant": false, "isLValue": false, "isPure": false, @@ -1929,26 +2670,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1846:75:19", + "src": "2551:75:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27154, + "id": 28978, "nodeType": "ExpressionStatement", - "src": "1846:75:19" + "src": "2551:75:30" } ] }, - "id": 27156, + "id": 28980, "nodeType": "IfStatement", - "src": "1106:826:19", + "src": "1811:826:30", "trueBody": { - "id": 27116, + "id": 28940, "nodeType": "Block", - "src": "1121:413:19", + "src": "1826:413:30", "statements": [ { "expression": { @@ -1958,7 +2699,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 27082, + "id": 28906, "isConstant": false, "isLValue": false, "isPure": false, @@ -1967,38 +2708,38 @@ "arguments": [ { "expression": { - "id": 27077, + "id": 28901, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1178:3:19", + "src": "1883:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 27078, + "id": 28902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1182:6:19", + "memberLocation": "1887:6:30", "memberName": "sender", "nodeType": "MemberAccess", - "src": "1178:10:19", + "src": "1883:10:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27079, + "id": 28903, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27064, - "src": "1190:10:19", + "referencedDeclaration": 28888, + "src": "1895:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2019,12 +2760,12 @@ "expression": { "arguments": [ { - "id": 27074, + "id": 28898, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27062, - "src": "1151:15:19", + "referencedDeclaration": 28886, + "src": "1856:15:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2038,18 +2779,18 @@ "typeString": "address" } ], - "id": 27073, + "id": 28897, "name": "ERC1155", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26321, - "src": "1143:7:19", + "referencedDeclaration": 24195, + "src": "1848:7:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155_$26321_$", + "typeIdentifier": "t_type$_t_contract$_ERC1155_$24195_$", "typeString": "type(contract ERC1155)" } }, - "id": 27075, + "id": 28899, "isConstant": false, "isLValue": false, "isPure": false, @@ -2058,29 +2799,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1143:24:19", + "src": "1848:24:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155_$26321", + "typeIdentifier": "t_contract$_ERC1155_$24195", "typeString": "contract ERC1155" } }, - "id": 27076, + "id": 28900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1168:9:19", + "memberLocation": "1873:9:30", "memberName": "balanceOf", "nodeType": "MemberAccess", - "referencedDeclaration": 25735, - "src": "1143:34:19", + "referencedDeclaration": 23088, + "src": "1848:34:30", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256) view external returns (uint256)" } }, - "id": 27080, + "id": 28904, "isConstant": false, "isLValue": false, "isPure": false, @@ -2089,7 +2830,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1143:58:19", + "src": "1848:58:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -2100,21 +2841,21 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 27081, + "id": 28905, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1204:1:19", + "src": "1909:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1143:62:19", + "src": "1848:62:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2122,14 +2863,14 @@ }, { "hexValue": "53656e646572206973206e6f742074686520746f6b656e206f776e65722c2063616e6e6f742070726f636565642077697468207472616e736665722e", - "id": 27083, + "id": 28907, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1207:62:19", + "src": "1912:62:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_bb763f88f946c87a05ef8693394dbce4ea486c888648953a642721b2425f79bc", "typeString": "literal_string \"Sender is not the token owner, cannot proceed with transfer.\"" @@ -2148,7 +2889,7 @@ "typeString": "literal_string \"Sender is not the token owner, cannot proceed with transfer.\"" } ], - "id": 27072, + "id": 28896, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2156,13 +2897,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1135:7:19", + "src": "1840:7:30", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 27084, + "id": 28908, "isConstant": false, "isLValue": false, "isPure": false, @@ -2171,16 +2912,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1135:135:19", + "src": "1840:135:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27085, + "id": 28909, "nodeType": "ExpressionStatement", - "src": "1135:135:19" + "src": "1840:135:30" }, { "expression": { @@ -2189,26 +2930,26 @@ "arguments": [ { "expression": { - "id": 27091, + "id": 28915, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1334:3:19", + "src": "2039:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 27092, + "id": 28916, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1338:6:19", + "memberLocation": "2043:6:30", "memberName": "sender", "nodeType": "MemberAccess", - "src": "1334:10:19", + "src": "2039:10:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2217,14 +2958,14 @@ { "arguments": [ { - "id": 27095, + "id": 28919, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "1354:4:19", + "src": "2059:4:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_SendIt_$27213", + "typeIdentifier": "t_contract$_SendIt_$29048", "typeString": "contract SendIt" } } @@ -2232,30 +2973,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_SendIt_$27213", + "typeIdentifier": "t_contract$_SendIt_$29048", "typeString": "contract SendIt" } ], - "id": 27094, + "id": 28918, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1346:7:19", + "src": "2051:7:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 27093, + "id": 28917, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1346:7:19", + "src": "2051:7:30", "typeDescriptions": {} } }, - "id": 27096, + "id": 28920, "isConstant": false, "isLValue": false, "isPure": false, @@ -2264,7 +3005,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1346:13:19", + "src": "2051:13:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -2286,12 +3027,12 @@ "expression": { "arguments": [ { - "id": 27088, + "id": 28912, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27062, - "src": "1300:15:19", + "referencedDeclaration": 28886, + "src": "2005:15:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2305,18 +3046,18 @@ "typeString": "address" } ], - "id": 27087, + "id": 28911, "name": "ERC1155", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26321, - "src": "1292:7:19", + "referencedDeclaration": 24195, + "src": "1997:7:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155_$26321_$", + "typeIdentifier": "t_type$_t_contract$_ERC1155_$24195_$", "typeString": "type(contract ERC1155)" } }, - "id": 27089, + "id": 28913, "isConstant": false, "isLValue": false, "isPure": false, @@ -2325,29 +3066,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1292:24:19", + "src": "1997:24:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155_$26321", + "typeIdentifier": "t_contract$_ERC1155_$24195", "typeString": "contract ERC1155" } }, - "id": 27090, + "id": 28914, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1317:16:19", + "memberLocation": "2022:16:30", "memberName": "isApprovedForAll", "nodeType": "MemberAccess", - "referencedDeclaration": 25741, - "src": "1292:41:19", + "referencedDeclaration": 23187, + "src": "1997:41:30", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_bool_$", "typeString": "function (address,address) view external returns (bool)" } }, - "id": 27097, + "id": 28921, "isConstant": false, "isLValue": false, "isPure": false, @@ -2356,7 +3097,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1292:68:19", + "src": "1997:68:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -2365,14 +3106,14 @@ }, { "hexValue": "436f6e7472616374206e6f7420617070726f76656420746f2073656e6420746f6b656e73206f6e2053656e64657220626568616c662e", - "id": 27098, + "id": 28922, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1362:56:19", + "src": "2067:56:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_74c615216bd7cedc5a8f0a4ad8a963eeb060b1d9879a472090fd7ba5247f7c69", "typeString": "literal_string \"Contract not approved to send tokens on Sender behalf.\"" @@ -2391,7 +3132,7 @@ "typeString": "literal_string \"Contract not approved to send tokens on Sender behalf.\"" } ], - "id": 27086, + "id": 28910, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -2399,13 +3140,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1284:7:19", + "src": "1989:7:30", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 27099, + "id": 28923, "isConstant": false, "isLValue": false, "isPure": false, @@ -2414,66 +3155,66 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1284:135:19", + "src": "1989:135:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27100, + "id": 28924, "nodeType": "ExpressionStatement", - "src": "1284:135:19" + "src": "1989:135:30" }, { "expression": { "arguments": [ { "expression": { - "id": 27105, + "id": 28929, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1475:3:19", + "src": "2180:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 27106, + "id": 28930, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1479:6:19", + "memberLocation": "2184:6:30", "memberName": "sender", "nodeType": "MemberAccess", - "src": "1475:10:19", + "src": "2180:10:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27107, + "id": 28931, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27066, - "src": "1487:9:19", + "referencedDeclaration": 28890, + "src": "2192:9:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27108, + "id": 28932, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27064, - "src": "1498:10:19", + "referencedDeclaration": 28888, + "src": "2203:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2481,14 +3222,14 @@ }, { "hexValue": "31", - "id": 27109, + "id": 28933, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1510:1:19", + "src": "2215:1:30", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -2499,14 +3240,14 @@ "arguments": [ { "hexValue": "", - "id": 27112, + "id": 28936, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1519:2:19", + "src": "2224:2:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "typeString": "literal_string \"\"" @@ -2521,26 +3262,26 @@ "typeString": "literal_string \"\"" } ], - "id": 27111, + "id": 28935, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1513:5:19", + "src": "2218:5:30", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 27110, + "id": 28934, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1513:5:19", + "src": "2218:5:30", "typeDescriptions": {} } }, - "id": 27113, + "id": 28937, "isConstant": false, "isLValue": false, "isPure": true, @@ -2549,7 +3290,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1513:9:19", + "src": "2218:9:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -2583,12 +3324,12 @@ "expression": { "arguments": [ { - "id": 27102, + "id": 28926, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27062, - "src": "1441:15:19", + "referencedDeclaration": 28886, + "src": "2146:15:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2602,18 +3343,18 @@ "typeString": "address" } ], - "id": 27101, + "id": 28925, "name": "ERC1155", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26321, - "src": "1433:7:19", + "referencedDeclaration": 24195, + "src": "2138:7:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155_$26321_$", + "typeIdentifier": "t_type$_t_contract$_ERC1155_$24195_$", "typeString": "type(contract ERC1155)" } }, - "id": 27103, + "id": 28927, "isConstant": false, "isLValue": false, "isPure": false, @@ -2622,29 +3363,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1433:24:19", + "src": "2138:24:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155_$26321", + "typeIdentifier": "t_contract$_ERC1155_$24195", "typeString": "contract ERC1155" } }, - "id": 27104, + "id": 28928, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1458:16:19", + "memberLocation": "2163:16:30", "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 25857, - "src": "1433:41:19", + "referencedDeclaration": 23225, + "src": "2138:41:30", "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": 27114, + "id": 28938, "isConstant": false, "isLValue": false, "isPure": false, @@ -2653,16 +3394,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1433:90:19", + "src": "2138:90:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27115, + "id": 28939, "nodeType": "ExpressionStatement", - "src": "1433:90:19" + "src": "2138:90:30" } ] } @@ -2671,24 +3412,24 @@ "eventCall": { "arguments": [ { - "id": 27158, + "id": 28982, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27062, - "src": "1960:15:19", + "referencedDeclaration": 28886, + "src": "2665:15:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27159, + "id": 28983, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27064, - "src": "1977:10:19", + "referencedDeclaration": 28888, + "src": "2682:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2696,38 +3437,38 @@ }, { "expression": { - "id": 27160, + "id": 28984, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1989:3:19", + "src": "2694:3:30", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 27161, + "id": 28985, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1993:6:19", + "memberLocation": "2698:6:30", "memberName": "sender", "nodeType": "MemberAccess", - "src": "1989:10:19", + "src": "2694:10:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27162, + "id": 28986, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27066, - "src": "2001:9:19", + "referencedDeclaration": 28890, + "src": "2706:9:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2753,18 +3494,18 @@ "typeString": "address" } ], - "id": 27157, + "id": 28981, "name": "TokenTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27006, - "src": "1946:13:19", + "referencedDeclaration": 28795, + "src": "2651:13:30", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_address_$returns$__$", "typeString": "function (address,uint256,address,address)" } }, - "id": 27163, + "id": 28987, "isConstant": false, "isLValue": false, "isPure": false, @@ -2773,38 +3514,37 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1946:65:19", + "src": "2651:65:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27164, + "id": 28988, "nodeType": "EmitStatement", - "src": "1941:70:19" + "src": "2646:70:30" } ] }, - "functionSelector": "785da644", "implemented": true, "kind": "function", "modifiers": [], "name": "contractTransfer", - "nameLocation": "954:16:19", + "nameLocation": "1658:16:30", "parameters": { - "id": 27069, + "id": 28893, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27062, + "id": 28886, "mutability": "mutable", "name": "contractAddress", - "nameLocation": "988:15:19", + "nameLocation": "1692:15:30", "nodeType": "VariableDeclaration", - "scope": 27166, - "src": "980:23:19", + "scope": 28990, + "src": "1684:23:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2812,10 +3552,10 @@ "typeString": "address" }, "typeName": { - "id": 27061, + "id": 28885, "name": "address", "nodeType": "ElementaryTypeName", - "src": "980:7:19", + "src": "1684:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2826,13 +3566,13 @@ }, { "constant": false, - "id": 27064, + "id": 28888, "mutability": "mutable", "name": "tokenIndex", - "nameLocation": "1021:10:19", + "nameLocation": "1725:10:30", "nodeType": "VariableDeclaration", - "scope": 27166, - "src": "1013:18:19", + "scope": 28990, + "src": "1717:18:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2840,10 +3580,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27063, + "id": 28887, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1013:7:19", + "src": "1717:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2853,13 +3593,13 @@ }, { "constant": false, - "id": 27066, + "id": 28890, "mutability": "mutable", "name": "recipient", - "nameLocation": "1049:9:19", + "nameLocation": "1753:9:30", "nodeType": "VariableDeclaration", - "scope": 27166, - "src": "1041:17:19", + "scope": 28990, + "src": "1745:17:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2867,10 +3607,10 @@ "typeString": "address" }, "typeName": { - "id": 27065, + "id": 28889, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1041:7:19", + "src": "1745:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2881,13 +3621,13 @@ }, { "constant": false, - "id": 27068, + "id": 28892, "mutability": "mutable", "name": "isERC1155", - "nameLocation": "1073:9:19", + "nameLocation": "1777:9:30", "nodeType": "VariableDeclaration", - "scope": 27166, - "src": "1068:14:19", + "scope": 28990, + "src": "1772:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2895,10 +3635,10 @@ "typeString": "bool" }, "typeName": { - "id": 27067, + "id": 28891, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1068:4:19", + "src": "1772:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2907,28 +3647,28 @@ "visibility": "internal" } ], - "src": "970:118:19" + "src": "1674:118:30" }, "returnParameters": { - "id": 27070, + "id": 28894, "nodeType": "ParameterList", "parameters": [], - "src": "1096:0:19" + "src": "1801:0:30" }, - "scope": 27213, + "scope": 29048, "stateMutability": "nonpayable", "virtual": false, - "visibility": "public" + "visibility": "private" }, { - "id": 27212, + "id": 29047, "nodeType": "FunctionDefinition", - "src": "2024:432:19", + "src": "2729:529:30", "nodes": [], "body": { - "id": 27211, + "id": 29046, "nodeType": "Block", - "src": "2206:250:19", + "src": "2919:339:30", "nodes": [], "statements": [ { @@ -2939,33 +3679,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 27184, + "id": 29008, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 27180, + "id": 29004, "name": "tokenIndexes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27171, - "src": "2224:12:19", + "referencedDeclaration": 28995, + "src": "2937:12:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 27181, + "id": 29005, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2237:6:19", + "memberLocation": "2950:6:30", "memberName": "length", "nodeType": "MemberAccess", - "src": "2224:19:19", + "src": "2937:19:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2975,32 +3715,32 @@ "operator": "==", "rightExpression": { "expression": { - "id": 27182, + "id": 29006, "name": "recipients", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27174, - "src": "2247:10:19", + "referencedDeclaration": 28998, + "src": "2960:10:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 27183, + "id": 29007, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2258:6:19", + "memberLocation": "2971:6:30", "memberName": "length", "nodeType": "MemberAccess", - "src": "2247:17:19", + "src": "2960:17:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2224:40:19", + "src": "2937:40:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3008,14 +3748,14 @@ }, { "hexValue": "4172726179206c656e67746873206d757374206d617463682e", - "id": 27185, + "id": 29009, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2266:27:19", + "src": "2979:27:30", "typeDescriptions": { "typeIdentifier": "t_stringliteral_81b143823f29469d45d12678174c48d3931683b850446a67e3a08af68e3a1a63", "typeString": "literal_string \"Array lengths must match.\"" @@ -3034,7 +3774,174 @@ "typeString": "literal_string \"Array lengths must match.\"" } ], - "id": 27179, + "id": 29003, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2929:7:30", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 29010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2929:78:30", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 29011, + "nodeType": "ExpressionStatement", + "src": "2929:78:30" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 29013, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3025:3:30", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3029:5:30", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "3025:9:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 29018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 29015, + "name": "tokenIndexes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28995, + "src": "3038:12:30", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", + "typeString": "uint256[] calldata" + } + }, + "id": 29016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3051:6:30", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3038:19:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 29017, + "name": "usageFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 28785, + "src": "3060:8:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3038:30:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3025:43:30", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c6964207573616765206665652073656e742e", + "id": 29020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3070:25:30", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0a6186ff05b8ad5792be99284ff75365af00226bdc07815a42f4c9f0db166d1a", + "typeString": "literal_string \"Invalid usage fee sent.\"" + }, + "value": "Invalid usage fee sent." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0a6186ff05b8ad5792be99284ff75365af00226bdc07815a42f4c9f0db166d1a", + "typeString": "literal_string \"Invalid usage fee sent.\"" + } + ], + "id": 29012, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3042,13 +3949,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2216:7:19", + "src": "3017:7:30", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 27186, + "id": 29021, "isConstant": false, "isLValue": false, "isPure": false, @@ -3057,33 +3964,33 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2216:78:19", + "src": "3017:79:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27187, + "id": 29022, "nodeType": "ExpressionStatement", - "src": "2216:78:19" + "src": "3017:79:30" }, { "body": { - "id": 27209, + "id": 29044, "nodeType": "Block", - "src": "2349:101:19", + "src": "3151:101:30", "statements": [ { "expression": { "arguments": [ { - "id": 27199, + "id": 29034, "name": "contractAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27168, - "src": "2380:15:19", + "referencedDeclaration": 28992, + "src": "3182:15:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3091,25 +3998,25 @@ }, { "baseExpression": { - "id": 27200, + "id": 29035, "name": "tokenIndexes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27171, - "src": "2397:12:19", + "referencedDeclaration": 28995, + "src": "3199:12:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 27202, + "id": 29037, "indexExpression": { - "id": 27201, + "id": 29036, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27189, - "src": "2410:1:19", + "referencedDeclaration": 29024, + "src": "3212:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3120,7 +4027,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2397:15:19", + "src": "3199:15:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3128,25 +4035,25 @@ }, { "baseExpression": { - "id": 27203, + "id": 29038, "name": "recipients", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27174, - "src": "2414:10:19", + "referencedDeclaration": 28998, + "src": "3216:10:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, - "id": 27205, + "id": 29040, "indexExpression": { - "id": 27204, + "id": 29039, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27189, - "src": "2425:1:19", + "referencedDeclaration": 29024, + "src": "3227:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3157,19 +4064,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2414:13:19", + "src": "3216:13:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27206, + "id": 29041, "name": "isERC1155", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27176, - "src": "2429:9:19", + "referencedDeclaration": 29000, + "src": "3231:9:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3195,18 +4102,18 @@ "typeString": "bool" } ], - "id": 27198, + "id": 29033, "name": "contractTransfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27166, - "src": "2363:16:19", + "referencedDeclaration": 28990, + "src": "3165:16:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_bool_$returns$__$", "typeString": "function (address,uint256,address,bool)" } }, - "id": 27207, + "id": 29042, "isConstant": false, "isLValue": false, "isPure": false, @@ -3215,16 +4122,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2363:76:19", + "src": "3165:76:30", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27208, + "id": 29043, "nodeType": "ExpressionStatement", - "src": "2363:76:19" + "src": "3165:76:30" } ] }, @@ -3233,18 +4140,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 27194, + "id": 29029, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 27191, + "id": 29026, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27189, - "src": "2319:1:19", + "referencedDeclaration": 29024, + "src": "3121:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3254,52 +4161,52 @@ "operator": "<", "rightExpression": { "expression": { - "id": 27192, + "id": 29027, "name": "tokenIndexes", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27171, - "src": "2323:12:19", + "referencedDeclaration": 28995, + "src": "3125:12:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 27193, + "id": 29028, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2336:6:19", + "memberLocation": "3138:6:30", "memberName": "length", "nodeType": "MemberAccess", - "src": "2323:19:19", + "src": "3125:19:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2319:23:19", + "src": "3121:23:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 27210, + "id": 29045, "initializationExpression": { "assignments": [ - 27189 + 29024 ], "declarations": [ { "constant": false, - "id": 27189, + "id": 29024, "mutability": "mutable", "name": "i", - "nameLocation": "2316:1:19", + "nameLocation": "3118:1:30", "nodeType": "VariableDeclaration", - "scope": 27210, - "src": "2308:9:19", + "scope": 29045, + "src": "3110:9:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3307,10 +4214,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27188, + "id": 29023, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2308:7:19", + "src": "3110:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3319,13 +4226,13 @@ "visibility": "internal" } ], - "id": 27190, + "id": 29025, "nodeType": "VariableDeclarationStatement", - "src": "2308:9:19" + "src": "3110:9:30" }, "loopExpression": { "expression": { - "id": 27196, + "id": 29031, "isConstant": false, "isLValue": false, "isPure": false, @@ -3333,14 +4240,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2344:3:19", + "src": "3146:3:30", "subExpression": { - "id": 27195, + "id": 29030, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27189, - "src": "2344:1:19", + "referencedDeclaration": 29024, + "src": "3146:1:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3351,12 +4258,12 @@ "typeString": "uint256" } }, - "id": 27197, + "id": 29032, "nodeType": "ExpressionStatement", - "src": "2344:3:19" + "src": "3146:3:30" }, "nodeType": "ForStatement", - "src": "2304:146:19" + "src": "3106:146:30" } ] }, @@ -3365,20 +4272,20 @@ "kind": "function", "modifiers": [], "name": "contractBulkTransfer", - "nameLocation": "2033:20:19", + "nameLocation": "2738:20:30", "parameters": { - "id": 27177, + "id": 29001, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27168, + "id": 28992, "mutability": "mutable", "name": "contractAddress", - "nameLocation": "2071:15:19", + "nameLocation": "2776:15:30", "nodeType": "VariableDeclaration", - "scope": 27212, - "src": "2063:23:19", + "scope": 29047, + "src": "2768:23:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3386,10 +4293,10 @@ "typeString": "address" }, "typeName": { - "id": 27167, + "id": 28991, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2063:7:19", + "src": "2768:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3400,13 +4307,13 @@ }, { "constant": false, - "id": 27171, + "id": 28995, "mutability": "mutable", "name": "tokenIndexes", - "nameLocation": "2115:12:19", + "nameLocation": "2820:12:30", "nodeType": "VariableDeclaration", - "scope": 27212, - "src": "2096:31:19", + "scope": 29047, + "src": "2801:31:30", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3415,18 +4322,18 @@ }, "typeName": { "baseType": { - "id": 27169, + "id": 28993, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2096:7:19", + "src": "2801:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 27170, + "id": 28994, "nodeType": "ArrayTypeName", - "src": "2096:9:19", + "src": "2801:9:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -3436,13 +4343,13 @@ }, { "constant": false, - "id": 27174, + "id": 28998, "mutability": "mutable", "name": "recipients", - "nameLocation": "2156:10:19", + "nameLocation": "2861:10:30", "nodeType": "VariableDeclaration", - "scope": 27212, - "src": "2137:29:19", + "scope": 29047, + "src": "2842:29:30", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -3451,19 +4358,19 @@ }, "typeName": { "baseType": { - "id": 27172, + "id": 28996, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2137:7:19", + "src": "2842:7:30", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 27173, + "id": 28997, "nodeType": "ArrayTypeName", - "src": "2137:9:19", + "src": "2842:9:30", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -3473,13 +4380,13 @@ }, { "constant": false, - "id": 27176, + "id": 29000, "mutability": "mutable", "name": "isERC1155", - "nameLocation": "2181:9:19", + "nameLocation": "2886:9:30", "nodeType": "VariableDeclaration", - "scope": 27212, - "src": "2176:14:19", + "scope": 29047, + "src": "2881:14:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3487,10 +4394,10 @@ "typeString": "bool" }, "typeName": { - "id": 27175, + "id": 28999, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2176:4:19", + "src": "2881:4:30", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3499,36 +4406,54 @@ "visibility": "internal" } ], - "src": "2053:143:19" + "src": "2758:143:30" }, "returnParameters": { - "id": 27178, + "id": 29002, "nodeType": "ParameterList", "parameters": [], - "src": "2206:0:19" + "src": "2919:0:30" }, - "scope": 27213, - "stateMutability": "nonpayable", + "scope": 29048, + "stateMutability": "payable", "virtual": false, "visibility": "external" } ], "abstract": false, - "baseContracts": [], + "baseContracts": [ + { + "baseName": { + "id": 28777, + "name": "Ownable", + "nameLocations": [ + "297:7:30" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 22972, + "src": "297:7:30" + }, + "id": 28778, + "nodeType": "InheritanceSpecifier", + "src": "297:7:30" + } + ], "canonicalName": "SendIt", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "linearizedBaseContracts": [ - 27213 + 29048, + 22972, + 25831 ], "name": "SendIt", - "nameLocation": "148:6:19", - "scope": 27214, + "nameLocation": "287:6:30", + "scope": 29049, "usedErrors": [] } ], "license": "UNLICENSED" }, - "id": 19 + "id": 30 } \ No newline at end of file