diff --git a/contracts/artifacts/build-info/fdd9c5e1222ec4644fba7d05a6b0a6ea.json b/contracts/artifacts/build-info/fdd9c5e1222ec4644fba7d05a6b0a6ea.json
deleted file mode 100644
index 867cc5f..0000000
--- a/contracts/artifacts/build-info/fdd9c5e1222ec4644fba7d05a6b0a6ea.json
+++ /dev/null
@@ -1 +0,0 @@
-{"id":"fdd9c5e1222ec4644fba7d05a6b0a6ea","_format":"hh-sol-build-info-1","solcVersion":"0.8.18","solcLongVersion":"0.8.18+commit.87f61d96","input":{"language":"Solidity","sources":{"contracts/NFTContract.sol":{"content":"// SPDX-License-Identifier: GPL-3.0\npragma solidity >=0.5.0 <0.9.0;\n\nimport \"./utils/HederaResponseCodes.sol\";\nimport \"./utils/IHederaTokenService.sol\";\nimport \"./utils/HederaTokenService.sol\";\nimport \"./utils/ExpiryHelper.sol\";\nimport \"./utils/KeyHelper.sol\";\n\ncontract NFTContract is ExpiryHelper, KeyHelper, HederaTokenService {\n address public owner;\n\n // Mapping to track which wallet can claim which NFT serial number\n mapping(int64 => address) public nftClaimRights;\n // Mapping to track if an NFT has been claimed\n mapping(int64 => bool) public claimed;\n\n constructor() {\n owner = msg.sender;\n }\n\n modifier onlyOwner() {\n require(msg.sender == owner, \"Only owner can call this function\");\n _;\n }\n\n function createNft(\n string memory name,\n string memory symbol,\n string memory memo,\n int64 maxSupply,\n int64 autoRenewPeriod\n ) external payable onlyOwner returns (address) {\n IHederaTokenService.TokenKey[] memory keys = new IHederaTokenService.TokenKey[](1);\n keys[0] = getSingleKey(KeyType.SUPPLY, KeyValueType.CONTRACT_ID, address(this));\n\n IHederaTokenService.HederaToken memory token;\n token.name = name;\n token.symbol = symbol;\n token.memo = memo;\n token.treasury = address(this);\n token.tokenSupplyType = true;\n token.maxSupply = maxSupply;\n token.tokenKeys = keys;\n token.freezeDefault = false;\n token.expiry = createAutoRenewExpiry(address(this), autoRenewPeriod);\n\n (int responseCode, address createdToken) = HederaTokenService.createNonFungibleToken(token);\n\n if(responseCode != HederaResponseCodes.SUCCESS){\n revert(\"Failed to create non-fungible token\");\n }\n return createdToken;\n }\n\n function mintNftForUser(\n address token,\n bytes[] memory metadata,\n address allowedClaimer\n ) external onlyOwner returns(int64) {\n (int response, , int64[] memory serial) = HederaTokenService.mintToken(token, 0, metadata);\n\n if(response != HederaResponseCodes.SUCCESS){\n revert(\"Failed to mint non-fungible token\");\n }\n\n // Assign claim rights to the specified wallet\n nftClaimRights[serial[0]] = allowedClaimer;\n\n return serial[0];\n }\n\n function claimNft(\n address token,\n int64 serial\n ) external returns(int) {\n // Check if the caller is the allowed claimer for this NFT\n require(nftClaimRights[serial] == msg.sender, \"You are not authorized to claim this NFT\");\n // Check if the NFT hasn't been claimed yet\n require(!claimed[serial], \"NFT has already been claimed\");\n\n int response = HederaTokenService.transferNFT(token, address(this), msg.sender, serial);\n\n if(response != HederaResponseCodes.SUCCESS){\n revert(\"Failed to transfer non-fungible token\");\n }\n\n // Mark the NFT as claimed\n claimed[serial] = true;\n\n return response;\n }\n\n // View functions to check NFT status\n function getClaimerAddress(int64 serial) external view returns (address) {\n return nftClaimRights[serial];\n }\n\n function isNftClaimed(int64 serial) external view returns (bool) {\n return claimed[serial];\n }\n}"},"contracts/utils/ExpiryHelper.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity >=0.5.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"./HederaTokenService.sol\";\n\nabstract contract ExpiryHelper {\n\n function createAutoRenewExpiry(\n address autoRenewAccount,\n int64 autoRenewPeriod\n ) internal pure returns (IHederaTokenService.Expiry memory expiry) {\n expiry.autoRenewAccount = autoRenewAccount;\n expiry.autoRenewPeriod = autoRenewPeriod;\n }\n\n function createSecondExpiry(int64 second) internal pure returns (IHederaTokenService.Expiry memory expiry) {\n expiry.second = second;\n }\n}"},"contracts/utils/HederaResponseCodes.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity >=0.4.9 <0.9.0;\n\nlibrary HederaResponseCodes {\n\n // response codes\n int32 internal constant OK = 0; // The transaction passed the precheck validations.\n int32 internal constant INVALID_TRANSACTION = 1; // For any error not handled by specific error codes listed below.\n int32 internal constant PAYER_ACCOUNT_NOT_FOUND = 2; //Payer account does not exist.\n int32 internal constant INVALID_NODE_ACCOUNT = 3; //Node Account provided does not match the node account of the node the transaction was submitted to.\n int32 internal constant TRANSACTION_EXPIRED = 4; // Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time.\n int32 internal constant INVALID_TRANSACTION_START = 5; // Transaction start time is greater than current consensus time\n int32 internal constant INVALID_TRANSACTION_DURATION = 6; //valid transaction duration is a positive non zero number that does not exceed 120 seconds\n int32 internal constant INVALID_SIGNATURE = 7; // The transaction signature is not valid\n int32 internal constant MEMO_TOO_LONG = 8; //Transaction memo size exceeded 100 bytes\n int32 internal constant INSUFFICIENT_TX_FEE = 9; // The fee provided in the transaction is insufficient for this type of transaction\n int32 internal constant INSUFFICIENT_PAYER_BALANCE = 10; // The payer account has insufficient cryptocurrency to pay the transaction fee\n int32 internal constant DUPLICATE_TRANSACTION = 11; // This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period)\n int32 internal constant BUSY = 12; //If API is throttled out\n int32 internal constant NOT_SUPPORTED = 13; //The API is not currently supported\n\n int32 internal constant INVALID_FILE_ID = 14; //The file id is invalid or does not exist\n int32 internal constant INVALID_ACCOUNT_ID = 15; //The account id is invalid or does not exist\n int32 internal constant INVALID_CONTRACT_ID = 16; //The contract id is invalid or does not exist\n int32 internal constant INVALID_TRANSACTION_ID = 17; //Transaction id is not valid\n int32 internal constant RECEIPT_NOT_FOUND = 18; //Receipt for given transaction id does not exist\n int32 internal constant RECORD_NOT_FOUND = 19; //Record for given transaction id does not exist\n int32 internal constant INVALID_SOLIDITY_ID = 20; //The solidity id is invalid or entity with this solidity id does not exist\n\n int32 internal constant UNKNOWN = 21; // The responding node has submitted the transaction to the network. Its final status is still unknown.\n int32 internal constant SUCCESS = 22; // The transaction succeeded\n int32 internal constant FAIL_INVALID = 23; // There was a system error and the transaction failed because of invalid request parameters.\n int32 internal constant FAIL_FEE = 24; // There was a system error while performing fee calculation, reserved for future.\n int32 internal constant FAIL_BALANCE = 25; // There was a system error while performing balance checks, reserved for future.\n\n int32 internal constant KEY_REQUIRED = 26; //Key not provided in the transaction body\n int32 internal constant BAD_ENCODING = 27; //Unsupported algorithm/encoding used for keys in the transaction\n int32 internal constant INSUFFICIENT_ACCOUNT_BALANCE = 28; //When the account balance is not sufficient for the transfer\n int32 internal constant INVALID_SOLIDITY_ADDRESS = 29; //During an update transaction when the system is not able to find the Users Solidity address\n\n int32 internal constant INSUFFICIENT_GAS = 30; //Not enough gas was supplied to execute transaction\n int32 internal constant CONTRACT_SIZE_LIMIT_EXCEEDED = 31; //contract byte code size is over the limit\n int32 internal constant LOCAL_CALL_MODIFICATION_EXCEPTION = 32; //local execution (query) is requested for a function which changes state\n int32 internal constant CONTRACT_REVERT_EXECUTED = 33; //Contract REVERT OPCODE executed\n int32 internal constant CONTRACT_EXECUTION_EXCEPTION = 34; //For any contract execution related error not handled by specific error codes listed above.\n int32 internal constant INVALID_RECEIVING_NODE_ACCOUNT = 35; //In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list\n int32 internal constant MISSING_QUERY_HEADER = 36; // Header is missing in Query request\n\n int32 internal constant ACCOUNT_UPDATE_FAILED = 37; // The update of the account failed\n int32 internal constant INVALID_KEY_ENCODING = 38; // Provided key encoding was not supported by the system\n int32 internal constant NULL_SOLIDITY_ADDRESS = 39; // null solidity address\n\n int32 internal constant CONTRACT_UPDATE_FAILED = 40; // update of the contract failed\n int32 internal constant INVALID_QUERY_HEADER = 41; // the query header is invalid\n\n int32 internal constant INVALID_FEE_SUBMITTED = 42; // Invalid fee submitted\n int32 internal constant INVALID_PAYER_SIGNATURE = 43; // Payer signature is invalid\n\n int32 internal constant KEY_NOT_PROVIDED = 44; // The keys were not provided in the request.\n int32 internal constant INVALID_EXPIRATION_TIME = 45; // Expiration time provided in the transaction was invalid.\n int32 internal constant NO_WACL_KEY = 46; //WriteAccess Control Keys are not provided for the file\n int32 internal constant FILE_CONTENT_EMPTY = 47; //The contents of file are provided as empty.\n int32 internal constant INVALID_ACCOUNT_AMOUNTS = 48; // The crypto transfer credit and debit do not sum equal to 0\n int32 internal constant EMPTY_TRANSACTION_BODY = 49; // Transaction body provided is empty\n int32 internal constant INVALID_TRANSACTION_BODY = 50; // Invalid transaction body provided\n\n int32 internal constant INVALID_SIGNATURE_TYPE_MISMATCHING_KEY = 51; // the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature)\n int32 internal constant INVALID_SIGNATURE_COUNT_MISMATCHING_KEY = 52; // the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures.\n\n int32 internal constant EMPTY_LIVE_HASH_BODY = 53; // the livehash body is empty\n int32 internal constant EMPTY_LIVE_HASH = 54; // the livehash data is missing\n int32 internal constant EMPTY_LIVE_HASH_KEYS = 55; // the keys for a livehash are missing\n int32 internal constant INVALID_LIVE_HASH_SIZE = 56; // the livehash data is not the output of a SHA-384 digest\n\n int32 internal constant EMPTY_QUERY_BODY = 57; // the query body is empty\n int32 internal constant EMPTY_LIVE_HASH_QUERY = 58; // the crypto livehash query is empty\n int32 internal constant LIVE_HASH_NOT_FOUND = 59; // the livehash is not present\n int32 internal constant ACCOUNT_ID_DOES_NOT_EXIST = 60; // the account id passed has not yet been created.\n int32 internal constant LIVE_HASH_ALREADY_EXISTS = 61; // the livehash already exists for a given account\n\n int32 internal constant INVALID_FILE_WACL = 62; // File WACL keys are invalid\n int32 internal constant SERIALIZATION_FAILED = 63; // Serialization failure\n int32 internal constant TRANSACTION_OVERSIZE = 64; // The size of the Transaction is greater than transactionMaxBytes\n int32 internal constant TRANSACTION_TOO_MANY_LAYERS = 65; // The Transaction has more than 50 levels\n int32 internal constant CONTRACT_DELETED = 66; //Contract is marked as deleted\n\n int32 internal constant PLATFORM_NOT_ACTIVE = 67; // the platform node is either disconnected or lagging behind.\n int32 internal constant KEY_PREFIX_MISMATCH = 68; // one internal key matches more than one prefixes on the signature map\n int32 internal constant PLATFORM_TRANSACTION_NOT_CREATED = 69; // transaction not created by platform due to large backlog\n int32 internal constant INVALID_RENEWAL_PERIOD = 70; // auto renewal period is not a positive number of seconds\n int32 internal constant INVALID_PAYER_ACCOUNT_ID = 71; // the response code when a smart contract id is passed for a crypto API request\n int32 internal constant ACCOUNT_DELETED = 72; // the account has been marked as deleted\n int32 internal constant FILE_DELETED = 73; // the file has been marked as deleted\n int32 internal constant ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS = 74; // same accounts repeated in the transfer account list\n int32 internal constant SETTING_NEGATIVE_ACCOUNT_BALANCE = 75; // attempting to set negative balance value for crypto account\n int32 internal constant OBTAINER_REQUIRED = 76; // when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required\n int32 internal constant OBTAINER_SAME_CONTRACT_ID = 77; //when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted\n int32 internal constant OBTAINER_DOES_NOT_EXIST = 78; //transferAccountId or transferContractId specified for contract delete does not exist\n int32 internal constant MODIFYING_IMMUTABLE_CONTRACT = 79; //attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key)\n int32 internal constant FILE_SYSTEM_EXCEPTION = 80; //Unexpected exception thrown by file system functions\n int32 internal constant AUTORENEW_DURATION_NOT_IN_RANGE = 81; // the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION]\n int32 internal constant ERROR_DECODING_BYTESTRING = 82; // Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string.\n int32 internal constant CONTRACT_FILE_EMPTY = 83; // File to create a smart contract was of length zero\n int32 internal constant CONTRACT_BYTECODE_EMPTY = 84; // Bytecode for smart contract is of length zero\n int32 internal constant INVALID_INITIAL_BALANCE = 85; // Attempt to set negative initial balance\n int32 internal constant INVALID_RECEIVE_RECORD_THRESHOLD = 86; // [Deprecated]. attempt to set negative receive record threshold\n int32 internal constant INVALID_SEND_RECORD_THRESHOLD = 87; // [Deprecated]. attempt to set negative send record threshold\n int32 internal constant ACCOUNT_IS_NOT_GENESIS_ACCOUNT = 88; // Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account\n int32 internal constant PAYER_ACCOUNT_UNAUTHORIZED = 89; // The fee payer account doesn't have permission to submit such Transaction\n int32 internal constant INVALID_FREEZE_TRANSACTION_BODY = 90; // FreezeTransactionBody is invalid\n int32 internal constant FREEZE_TRANSACTION_BODY_NOT_FOUND = 91; // FreezeTransactionBody does not exist\n int32 internal constant TRANSFER_LIST_SIZE_LIMIT_EXCEEDED = 92; //Exceeded the number of accounts (both from and to) allowed for crypto transfer list\n int32 internal constant RESULT_SIZE_LIMIT_EXCEEDED = 93; // Smart contract result size greater than specified maxResultSize\n int32 internal constant NOT_SPECIAL_ACCOUNT = 94; //The payer account is not a special account(account 0.0.55)\n int32 internal constant CONTRACT_NEGATIVE_GAS = 95; // Negative gas was offered in smart contract call\n int32 internal constant CONTRACT_NEGATIVE_VALUE = 96; // Negative value / initial balance was specified in a smart contract call / create\n int32 internal constant INVALID_FEE_FILE = 97; // Failed to update fee file\n int32 internal constant INVALID_EXCHANGE_RATE_FILE = 98; // Failed to update exchange rate file\n int32 internal constant INSUFFICIENT_LOCAL_CALL_GAS = 99; // Payment tendered for contract local call cannot cover both the fee and the gas\n int32 internal constant ENTITY_NOT_ALLOWED_TO_DELETE = 100; // Entities with Entity ID below 1000 are not allowed to be deleted\n int32 internal constant AUTHORIZATION_FAILED = 101; // Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112).\n int32 internal constant FILE_UPLOADED_PROTO_INVALID = 102; // Fee Schedule Proto uploaded but not valid (append or update is required)\n int32 internal constant FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK = 103; // Fee Schedule Proto uploaded but not valid (append or update is required)\n int32 internal constant FEE_SCHEDULE_FILE_PART_UPLOADED = 104; // Fee Schedule Proto File Part uploaded\n int32 internal constant EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED = 105; // The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage\n int32 internal constant MAX_CONTRACT_STORAGE_EXCEEDED = 106; // Contract permanent storage exceeded the currently allowable limit\n int32 internal constant TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT = 107; // Transfer Account should not be same as Account to be deleted\n int32 internal constant TOTAL_LEDGER_BALANCE_INVALID = 108;\n int32 internal constant EXPIRATION_REDUCTION_NOT_ALLOWED = 110; // The expiration date/time on a smart contract may not be reduced\n int32 internal constant MAX_GAS_LIMIT_EXCEEDED = 111; //Gas exceeded currently allowable gas limit per transaction\n int32 internal constant MAX_FILE_SIZE_EXCEEDED = 112; // File size exceeded the currently allowable limit\n\n int32 internal constant INVALID_TOPIC_ID = 150; // The Topic ID specified is not in the system.\n int32 internal constant INVALID_ADMIN_KEY = 155; // A provided admin key was invalid.\n int32 internal constant INVALID_SUBMIT_KEY = 156; // A provided submit key was invalid.\n int32 internal constant UNAUTHORIZED = 157; // An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey).\n int32 internal constant INVALID_TOPIC_MESSAGE = 158; // A ConsensusService message is empty.\n int32 internal constant INVALID_AUTORENEW_ACCOUNT = 159; // The autoRenewAccount specified is not a valid, active account.\n int32 internal constant AUTORENEW_ACCOUNT_NOT_ALLOWED = 160; // An adminKey was not specified on the topic, so there must not be an autoRenewAccount.\n // The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be\n // deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported\n // by HAPI.\n int32 internal constant TOPIC_EXPIRED = 162;\n int32 internal constant INVALID_CHUNK_NUMBER = 163; // chunk number must be from 1 to total (chunks) inclusive.\n int32 internal constant INVALID_CHUNK_TRANSACTION_ID = 164; // For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1.\n int32 internal constant ACCOUNT_FROZEN_FOR_TOKEN = 165; // Account is frozen and cannot transact with the token\n int32 internal constant TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED = 166; // An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens.\n int32 internal constant INVALID_TOKEN_ID = 167; // The token is invalid or does not exist\n int32 internal constant INVALID_TOKEN_DECIMALS = 168; // Invalid token decimals\n int32 internal constant INVALID_TOKEN_INITIAL_SUPPLY = 169; // Invalid token initial supply\n int32 internal constant INVALID_TREASURY_ACCOUNT_FOR_TOKEN = 170; // Treasury Account does not exist or is deleted\n int32 internal constant INVALID_TOKEN_SYMBOL = 171; // Token Symbol is not UTF-8 capitalized alphabetical string\n int32 internal constant TOKEN_HAS_NO_FREEZE_KEY = 172; // Freeze key is not set on token\n int32 internal constant TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN = 173; // Amounts in transfer list are not net zero\n int32 internal constant MISSING_TOKEN_SYMBOL = 174; // A token symbol was not provided\n int32 internal constant TOKEN_SYMBOL_TOO_LONG = 175; // The provided token symbol was too long\n int32 internal constant ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN = 176; // KYC must be granted and account does not have KYC granted\n int32 internal constant TOKEN_HAS_NO_KYC_KEY = 177; // KYC key is not set on token\n int32 internal constant INSUFFICIENT_TOKEN_BALANCE = 178; // Token balance is not sufficient for the transaction\n int32 internal constant TOKEN_WAS_DELETED = 179; // Token transactions cannot be executed on deleted token\n int32 internal constant TOKEN_HAS_NO_SUPPLY_KEY = 180; // Supply key is not set on token\n int32 internal constant TOKEN_HAS_NO_WIPE_KEY = 181; // Wipe key is not set on token\n int32 internal constant INVALID_TOKEN_MINT_AMOUNT = 182; // The requested token mint amount would cause an invalid total supply\n int32 internal constant INVALID_TOKEN_BURN_AMOUNT = 183; // The requested token burn amount would cause an invalid total supply\n int32 internal constant TOKEN_NOT_ASSOCIATED_TO_ACCOUNT = 184; // A required token-account relationship is missing\n int32 internal constant CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT = 185; // The target of a wipe operation was the token treasury account\n int32 internal constant INVALID_KYC_KEY = 186; // The provided KYC key was invalid.\n int32 internal constant INVALID_WIPE_KEY = 187; // The provided wipe key was invalid.\n int32 internal constant INVALID_FREEZE_KEY = 188; // The provided freeze key was invalid.\n int32 internal constant INVALID_SUPPLY_KEY = 189; // The provided supply key was invalid.\n int32 internal constant MISSING_TOKEN_NAME = 190; // Token Name is not provided\n int32 internal constant TOKEN_NAME_TOO_LONG = 191; // Token Name is too long\n int32 internal constant INVALID_WIPING_AMOUNT = 192; // The provided wipe amount must not be negative, zero or bigger than the token holder balance\n int32 internal constant TOKEN_IS_IMMUTABLE = 193; // Token does not have Admin key set, thus update/delete transactions cannot be performed\n int32 internal constant TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT = 194; // An associateToken operation specified a token already associated to the account\n int32 internal constant TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES = 195; // An attempted operation is invalid until all token balances for the target account are zero\n int32 internal constant ACCOUNT_IS_TREASURY = 196; // An attempted operation is invalid because the account is a treasury\n int32 internal constant TOKEN_ID_REPEATED_IN_TOKEN_LIST = 197; // Same TokenIDs present in the token list\n int32 internal constant TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED = 198; // Exceeded the number of token transfers (both from and to) allowed for token transfer list\n int32 internal constant EMPTY_TOKEN_TRANSFER_BODY = 199; // TokenTransfersTransactionBody has no TokenTransferList\n int32 internal constant EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS = 200; // TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts\n int32 internal constant INVALID_SCHEDULE_ID = 201; // The Scheduled entity does not exist; or has now expired, been deleted, or been executed\n int32 internal constant SCHEDULE_IS_IMMUTABLE = 202; // The Scheduled entity cannot be modified. Admin key not set\n int32 internal constant INVALID_SCHEDULE_PAYER_ID = 203; // The provided Scheduled Payer does not exist\n int32 internal constant INVALID_SCHEDULE_ACCOUNT_ID = 204; // The Schedule Create Transaction TransactionID account does not exist\n int32 internal constant NO_NEW_VALID_SIGNATURES = 205; // The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction\n int32 internal constant UNRESOLVABLE_REQUIRED_SIGNERS = 206; // The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted\n int32 internal constant SCHEDULED_TRANSACTION_NOT_IN_WHITELIST = 207; // Only whitelisted transaction types may be scheduled\n int32 internal constant SOME_SIGNATURES_WERE_INVALID = 208; // At least one of the signatures in the provided sig map did not represent a valid signature for any required signer\n int32 internal constant TRANSACTION_ID_FIELD_NOT_ALLOWED = 209; // The scheduled field in the TransactionID may not be set to true\n int32 internal constant IDENTICAL_SCHEDULE_ALREADY_CREATED = 210; // A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID)\n int32 internal constant INVALID_ZERO_BYTE_IN_STRING = 211; // A string field in the transaction has a UTF-8 encoding with the prohibited zero byte\n int32 internal constant SCHEDULE_ALREADY_DELETED = 212; // A schedule being signed or deleted has already been deleted\n int32 internal constant SCHEDULE_ALREADY_EXECUTED = 213; // A schedule being signed or deleted has already been executed\n int32 internal constant MESSAGE_SIZE_TOO_LARGE = 214; // ConsensusSubmitMessage request's message size is larger than allowed.\n int32 internal constant OPERATION_REPEATED_IN_BUCKET_GROUPS = 215; // An operation was assigned to more than one throttle group in a given bucket\n int32 internal constant BUCKET_CAPACITY_OVERFLOW = 216; // The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type\n int32 internal constant NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION = 217; // Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased\n int32 internal constant BUCKET_HAS_NO_THROTTLE_GROUPS = 218; // A bucket was defined without any throttle groups\n int32 internal constant THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC = 219; // A throttle group was granted zero opsPerSec\n int32 internal constant SUCCESS_BUT_MISSING_EXPECTED_OPERATION = 220; // The throttle definitions file was updated, but some supported operations were not assigned a bucket\n int32 internal constant UNPARSEABLE_THROTTLE_DEFINITIONS = 221; // The new contents for the throttle definitions system file were not valid protobuf\n int32 internal constant INVALID_THROTTLE_DEFINITIONS = 222; // The new throttle definitions system file were invalid, and no more specific error could be divined\n int32 internal constant ACCOUNT_EXPIRED_AND_PENDING_REMOVAL = 223; // The transaction references an account which has passed its expiration without renewal funds available, and currently remains in the ledger only because of the grace period given to expired entities\n int32 internal constant INVALID_TOKEN_MAX_SUPPLY = 224; // Invalid token max supply\n int32 internal constant INVALID_TOKEN_NFT_SERIAL_NUMBER = 225; // Invalid token nft serial number\n int32 internal constant INVALID_NFT_ID = 226; // Invalid nft id\n int32 internal constant METADATA_TOO_LONG = 227; // Nft metadata is too long\n int32 internal constant BATCH_SIZE_LIMIT_EXCEEDED = 228; // Repeated operations count exceeds the limit\n int32 internal constant INVALID_QUERY_RANGE = 229; // The range of data to be gathered is out of the set boundaries\n int32 internal constant FRACTION_DIVIDES_BY_ZERO = 230; // A custom fractional fee set a denominator of zero\n int32 internal constant INSUFFICIENT_PAYER_BALANCE_FOR_CUSTOM_FEE = 231; // The transaction payer could not afford a custom fee\n int32 internal constant CUSTOM_FEES_LIST_TOO_LONG = 232; // More than 10 custom fees were specified\n int32 internal constant INVALID_CUSTOM_FEE_COLLECTOR = 233; // Any of the feeCollector accounts for customFees is invalid\n int32 internal constant INVALID_TOKEN_ID_IN_CUSTOM_FEES = 234; // Any of the token Ids in customFees is invalid\n int32 internal constant TOKEN_NOT_ASSOCIATED_TO_FEE_COLLECTOR = 235; // Any of the token Ids in customFees are not associated to feeCollector\n int32 internal constant TOKEN_MAX_SUPPLY_REACHED = 236; // A token cannot have more units minted due to its configured supply ceiling\n int32 internal constant SENDER_DOES_NOT_OWN_NFT_SERIAL_NO = 237; // The transaction attempted to move an NFT serial number from an account other than its owner\n int32 internal constant CUSTOM_FEE_NOT_FULLY_SPECIFIED = 238; // A custom fee schedule entry did not specify either a fixed or fractional fee\n int32 internal constant CUSTOM_FEE_MUST_BE_POSITIVE = 239; // Only positive fees may be assessed at this time\n int32 internal constant TOKEN_HAS_NO_FEE_SCHEDULE_KEY = 240; // Fee schedule key is not set on token\n int32 internal constant CUSTOM_FEE_OUTSIDE_NUMERIC_RANGE = 241; // A fractional custom fee exceeded the range of a 64-bit signed integer\n int32 internal constant ROYALTY_FRACTION_CANNOT_EXCEED_ONE = 242; // A royalty cannot exceed the total fungible value exchanged for an NFT\n int32 internal constant FRACTIONAL_FEE_MAX_AMOUNT_LESS_THAN_MIN_AMOUNT = 243; // Each fractional custom fee must have its maximum_amount, if specified, at least its minimum_amount\n int32 internal constant CUSTOM_SCHEDULE_ALREADY_HAS_NO_FEES = 244; // A fee schedule update tried to clear the custom fees from a token whose fee schedule was already empty\n int32 internal constant CUSTOM_FEE_DENOMINATION_MUST_BE_FUNGIBLE_COMMON = 245; // Only tokens of type FUNGIBLE_COMMON can be used to as fee schedule denominations\n int32 internal constant CUSTOM_FRACTIONAL_FEE_ONLY_ALLOWED_FOR_FUNGIBLE_COMMON = 246; // Only tokens of type FUNGIBLE_COMMON can have fractional fees\n int32 internal constant INVALID_CUSTOM_FEE_SCHEDULE_KEY = 247; // The provided custom fee schedule key was invalid\n int32 internal constant INVALID_TOKEN_MINT_METADATA = 248; // The requested token mint metadata was invalid\n int32 internal constant INVALID_TOKEN_BURN_METADATA = 249; // The requested token burn metadata was invalid\n int32 internal constant CURRENT_TREASURY_STILL_OWNS_NFTS = 250; // The treasury for a unique token cannot be changed until it owns no NFTs\n int32 internal constant ACCOUNT_STILL_OWNS_NFTS = 251; // An account cannot be dissociated from a unique token if it owns NFTs for the token\n int32 internal constant TREASURY_MUST_OWN_BURNED_NFT = 252; // A NFT can only be burned when owned by the unique token's treasury\n int32 internal constant ACCOUNT_DOES_NOT_OWN_WIPED_NFT = 253; // An account did not own the NFT to be wiped\n int32 internal constant ACCOUNT_AMOUNT_TRANSFERS_ONLY_ALLOWED_FOR_FUNGIBLE_COMMON = 254; // An AccountAmount token transfers list referenced a token type other than FUNGIBLE_COMMON\n int32 internal constant MAX_NFTS_IN_PRICE_REGIME_HAVE_BEEN_MINTED = 255; // All the NFTs allowed in the current price regime have already been minted\n int32 internal constant PAYER_ACCOUNT_DELETED = 256; // The payer account has been marked as deleted\n int32 internal constant CUSTOM_FEE_CHARGING_EXCEEDED_MAX_RECURSION_DEPTH = 257; // The reference chain of custom fees for a transferred token exceeded the maximum length of 2\n int32 internal constant CUSTOM_FEE_CHARGING_EXCEEDED_MAX_ACCOUNT_AMOUNTS = 258; // More than 20 balance adjustments were to satisfy a CryptoTransfer and its implied custom fee payments\n int32 internal constant INSUFFICIENT_SENDER_ACCOUNT_BALANCE_FOR_CUSTOM_FEE = 259; // The sender account in the token transfer transaction could not afford a custom fee\n int32 internal constant SERIAL_NUMBER_LIMIT_REACHED = 260; // Currently no more than 4,294,967,295 NFTs may be minted for a given unique token type\n int32 internal constant CUSTOM_ROYALTY_FEE_ONLY_ALLOWED_FOR_NON_FUNGIBLE_UNIQUE = 261; // Only tokens of type NON_FUNGIBLE_UNIQUE can have royalty fees\n int32 internal constant NO_REMAINING_AUTOMATIC_ASSOCIATIONS = 262; // The account has reached the limit on the automatic associations count.\n int32 internal constant EXISTING_AUTOMATIC_ASSOCIATIONS_EXCEED_GIVEN_LIMIT = 263; // Already existing automatic associations are more than the new maximum automatic associations.\n int32 internal constant REQUESTED_NUM_AUTOMATIC_ASSOCIATIONS_EXCEEDS_ASSOCIATION_LIMIT = 264; // Cannot set the number of automatic associations for an account more than the maximum allowed tokens.maxPerAccount.\n int32 internal constant TOKEN_IS_PAUSED = 265; // Token is paused. This Token cannot be a part of any kind of Transaction until unpaused.\n int32 internal constant TOKEN_HAS_NO_PAUSE_KEY = 266; // Pause key is not set on token\n int32 internal constant INVALID_PAUSE_KEY = 267; // The provided pause key was invalid\n int32 internal constant FREEZE_UPDATE_FILE_DOES_NOT_EXIST = 268; // The update file in a freeze transaction body must exist.\n int32 internal constant FREEZE_UPDATE_FILE_HASH_DOES_NOT_MATCH = 269; // The hash of the update file in a freeze transaction body must match the in-memory hash.\n int32 internal constant NO_UPGRADE_HAS_BEEN_PREPARED = 270; // A FREEZE_UPGRADE transaction was handled with no previous update prepared.\n int32 internal constant NO_FREEZE_IS_SCHEDULED = 271; // A FREEZE_ABORT transaction was handled with no scheduled freeze.\n int32 internal constant UPDATE_FILE_HASH_CHANGED_SINCE_PREPARE_UPGRADE = 272; // The update file hash when handling a FREEZE_UPGRADE transaction differs from the file hash at the time of handling the PREPARE_UPGRADE transaction.\n int32 internal constant FREEZE_START_TIME_MUST_BE_FUTURE = 273; // The given freeze start time was in the (consensus) past.\n int32 internal constant PREPARED_UPDATE_FILE_IS_IMMUTABLE = 274; // The prepared update file cannot be updated or appended until either the upgrade has been completed, or a FREEZE_ABORT has been handled.\n int32 internal constant FREEZE_ALREADY_SCHEDULED = 275; // Once a freeze is scheduled, it must be aborted before any other type of freeze can be performed.\n int32 internal constant FREEZE_UPGRADE_IN_PROGRESS = 276; // If an NMT upgrade has been prepared, the following operation must be a FREEZE_UPGRADE (To issue a FREEZE_ONLY, submit a FREEZE_ABORT first.)\n int32 internal constant UPDATE_FILE_ID_DOES_NOT_MATCH_PREPARED = 277; // If an NMT upgrade has been prepared, the subsequent FREEZE_UPGRADE transaction must confirm the id of the file to be used in the upgrade.\n int32 internal constant UPDATE_FILE_HASH_DOES_NOT_MATCH_PREPARED = 278; // If an NMT upgrade has been prepared, the subsequent FREEZE_UPGRADE transaction must confirm the hash of the file to be used in the upgrade.\n int32 internal constant CONSENSUS_GAS_EXHAUSTED = 279; // Consensus throttle did not allow execution of this transaction. System is throttled at consensus level.\n int32 internal constant REVERTED_SUCCESS = 280; // A precompiled contract succeeded, but was later reverted.\n int32 internal constant MAX_STORAGE_IN_PRICE_REGIME_HAS_BEEN_USED = 281; // All contract storage allocated to the current price regime has been consumed.\n int32 internal constant INVALID_ALIAS_KEY = 282; // An alias used in a CryptoTransfer transaction is not the serialization of a primitive Key message -- that is, a Key with a single Ed25519 or ECDSA(secp256k1) public key and no unknown protobuf fields.\n int32 internal constant UNEXPECTED_TOKEN_DECIMALS = 283; // A fungible token transfer expected a different number of decimals than the involved type actually has.\n int32 internal constant INVALID_PROXY_ACCOUNT_ID = 284; // [Deprecated] The proxy account id is invalid or does not exist.\n int32 internal constant INVALID_TRANSFER_ACCOUNT_ID = 285; // The transfer account id in CryptoDelete transaction is invalid or does not exist.\n int32 internal constant INVALID_FEE_COLLECTOR_ACCOUNT_ID = 286; // The fee collector account id in TokenFeeScheduleUpdate is invalid or does not exist.\n int32 internal constant ALIAS_IS_IMMUTABLE = 287; // The alias already set on an account cannot be updated using CryptoUpdate transaction.\n int32 internal constant SPENDER_ACCOUNT_SAME_AS_OWNER = 288; // An approved allowance specifies a spender account that is the same as the hbar/token owner account.\n int32 internal constant AMOUNT_EXCEEDS_TOKEN_MAX_SUPPLY = 289; // The establishment or adjustment of an approved allowance cause the token allowance to exceed the token maximum supply.\n int32 internal constant NEGATIVE_ALLOWANCE_AMOUNT = 290; // The specified amount for an approved allowance cannot be negative.\n int32 internal constant CANNOT_APPROVE_FOR_ALL_FUNGIBLE_COMMON = 291; // [Deprecated] The approveForAll flag cannot be set for a fungible token.\n int32 internal constant SPENDER_DOES_NOT_HAVE_ALLOWANCE = 292; // The spender does not have an existing approved allowance with the hbar/token owner.\n int32 internal constant AMOUNT_EXCEEDS_ALLOWANCE = 293; // The transfer amount exceeds the current approved allowance for the spender account.\n int32 internal constant MAX_ALLOWANCES_EXCEEDED = 294; // The payer account of an approveAllowances or adjustAllowance transaction is attempting to go beyond the maximum allowed number of allowances.\n int32 internal constant EMPTY_ALLOWANCES = 295; // No allowances have been specified in the approval transaction.\n int32 internal constant SPENDER_ACCOUNT_REPEATED_IN_ALLOWANCES = 296; // [Deprecated] Spender is repeated more than once in Crypto or Token or NFT allowance lists in a single CryptoApproveAllowance transaction.\n int32 internal constant REPEATED_SERIAL_NUMS_IN_NFT_ALLOWANCES = 297; // [Deprecated] Serial numbers are repeated in nft allowance for a single spender account\n int32 internal constant FUNGIBLE_TOKEN_IN_NFT_ALLOWANCES = 298; // Fungible common token used in NFT allowances\n int32 internal constant NFT_IN_FUNGIBLE_TOKEN_ALLOWANCES = 299; // Non fungible token used in fungible token allowances\n int32 internal constant INVALID_ALLOWANCE_OWNER_ID = 300; // The account id specified as the owner is invalid or does not exist.\n int32 internal constant INVALID_ALLOWANCE_SPENDER_ID = 301; // The account id specified as the spender is invalid or does not exist.\n int32 internal constant REPEATED_ALLOWANCES_TO_DELETE = 302; // [Deprecated] If the CryptoDeleteAllowance transaction has repeated crypto or token or Nft allowances to delete.\n int32 internal constant INVALID_DELEGATING_SPENDER = 303; // If the account Id specified as the delegating spender is invalid or does not exist.\n int32 internal constant DELEGATING_SPENDER_CANNOT_GRANT_APPROVE_FOR_ALL = 304; // The delegating Spender cannot grant approveForAll allowance on a NFT token type for another spender.\n int32 internal constant DELEGATING_SPENDER_DOES_NOT_HAVE_APPROVE_FOR_ALL = 305; // The delegating Spender cannot grant allowance on a NFT serial for another spender as it doesnt not have approveForAll granted on token-owner.\n int32 internal constant SCHEDULE_EXPIRATION_TIME_TOO_FAR_IN_FUTURE = 306; // The scheduled transaction could not be created because it's expiration_time was too far in the future.\n int32 internal constant SCHEDULE_EXPIRATION_TIME_MUST_BE_HIGHER_THAN_CONSENSUS_TIME = 307; // The scheduled transaction could not be created because it's expiration_time was less than or equal to the consensus time.\n int32 internal constant SCHEDULE_FUTURE_THROTTLE_EXCEEDED = 308; // The scheduled transaction could not be created because it would cause throttles to be violated on the specified expiration_time.\n int32 internal constant SCHEDULE_FUTURE_GAS_LIMIT_EXCEEDED = 309; // The scheduled transaction could not be created because it would cause the gas limit to be violated on the specified expiration_time.\n int32 internal constant INVALID_ETHEREUM_TRANSACTION = 310; // The ethereum transaction either failed parsing or failed signature validation, or some other EthereumTransaction error not covered by another response code.\n int32 internal constant WRONG_CHAIN_ID = 311; // EthereumTransaction was signed against a chainId that this network does not support.\n int32 internal constant WRONG_NONCE = 312; // This transaction specified an ethereumNonce that is not the current ethereumNonce of the account.\n int32 internal constant ACCESS_LIST_UNSUPPORTED = 313; // The ethereum transaction specified an access list, which the network does not support.\n int32 internal constant SCHEDULE_PENDING_EXPIRATION = 314; // A schedule being signed or deleted has passed it's expiration date and is pending execution if needed and then expiration.\n int32 internal constant CONTRACT_IS_TOKEN_TREASURY = 315; // A selfdestruct or ContractDelete targeted a contract that is a token treasury.\n int32 internal constant CONTRACT_HAS_NON_ZERO_TOKEN_BALANCES = 316; // A selfdestruct or ContractDelete targeted a contract with non-zero token balances.\n int32 internal constant CONTRACT_EXPIRED_AND_PENDING_REMOVAL = 317; // A contract referenced by a transaction is \"detached\"; that is, expired and lacking any hbar funds for auto-renewal payment---but still within its post-expiry grace period.\n int32 internal constant CONTRACT_HAS_NO_AUTO_RENEW_ACCOUNT = 318; // A ContractUpdate requested removal of a contract's auto-renew account, but that contract has no auto-renew account.\n int32 internal constant PERMANENT_REMOVAL_REQUIRES_SYSTEM_INITIATION = 319; // A delete transaction submitted via HAPI set permanent_removal=true\n int32 internal constant PROXY_ACCOUNT_ID_FIELD_IS_DEPRECATED = 320; // A CryptoCreate or ContractCreate used the deprecated proxyAccountID field.\n int32 internal constant SELF_STAKING_IS_NOT_ALLOWED = 321; // An account set the staked_account_id to itself in CryptoUpdate or ContractUpdate transactions.\n int32 internal constant INVALID_STAKING_ID = 322; // The staking account id or staking node id given is invalid or does not exist.\n int32 internal constant STAKING_NOT_ENABLED = 323; // Native staking, while implemented, has not yet enabled by the council.\n int32 internal constant INVALID_PRNG_RANGE = 324; // The range provided in UtilPrng transaction is negative.\n int32 internal constant MAX_ENTITIES_IN_PRICE_REGIME_HAVE_BEEN_CREATED = 325; // The maximum number of entities allowed in the current price regime have been created.\n int32 internal constant INVALID_FULL_PREFIX_SIGNATURE_FOR_PRECOMPILE = 326; // The full prefix signature for precompile is not valid\n int32 internal constant INSUFFICIENT_BALANCES_FOR_STORAGE_RENT = 327; // The combined balances of a contract and its auto-renew account (if any) did not cover the rent charged for net new storage used in a transaction.\n int32 internal constant MAX_CHILD_RECORDS_EXCEEDED = 328; // A contract transaction tried to use more than the allowed number of child records, via either system contract records or internal contract creations.\n int32 internal constant INSUFFICIENT_BALANCES_FOR_RENEWAL_FEES = 329; // The combined balances of a contract and its auto-renew account (if any) or balance of an account did not cover the auto-renewal fees in a transaction.\n}"},"contracts/utils/HederaTokenService.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity >=0.5.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"./HederaResponseCodes.sol\";\nimport \"./IHederaTokenService.sol\";\n\nabstract contract HederaTokenService {\n address constant precompileAddress = address(0x167);\n // 90 days in seconds\n int32 constant defaultAutoRenewPeriod = 7776000;\n\n modifier nonEmptyExpiry(IHederaTokenService.HederaToken memory token)\n {\n if (token.expiry.second == 0 && token.expiry.autoRenewPeriod == 0) {\n token.expiry.autoRenewPeriod = defaultAutoRenewPeriod;\n }\n _;\n }\n\n /// Generic event\n event CallResponseEvent(bool, bytes);\n\n /// Performs transfers among combinations of tokens and hbars\n /// @param transferList the list of hbar transfers to do\n /// @param tokenTransfers the list of transfers to do\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @custom:version 0.3.0 the signature of the previous version was cryptoTransfer(TokenTransferList[] memory tokenTransfers)\n function cryptoTransfer(IHederaTokenService.TransferList memory transferList, IHederaTokenService.TokenTransferList[] memory tokenTransfers) internal\n returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.cryptoTransfer.selector, transferList, tokenTransfers));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Mints an amount of the token to the defined treasury account\n /// @param token The token for which to mint tokens. If token does not exist, transaction results in\n /// INVALID_TOKEN_ID\n /// @param amount Applicable to tokens of type FUNGIBLE_COMMON. The amount to mint to the Treasury Account.\n /// Amount must be a positive non-zero number represented in the lowest denomination of the\n /// token. The new supply must be lower than 2^63.\n /// @param metadata Applicable to tokens of type NON_FUNGIBLE_UNIQUE. A list of metadata that are being created.\n /// Maximum allowed size of each metadata is 100 bytes\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return newTotalSupply The new supply of tokens. For NFTs it is the total count of NFTs\n /// @return serialNumbers If the token is an NFT the newly generate serial numbers, otherwise empty.\n function mintToken(address token, int64 amount, bytes[] memory metadata) internal\n returns (int responseCode, int64 newTotalSupply, int64[] memory serialNumbers)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.mintToken.selector,\n token, amount, metadata));\n (responseCode, newTotalSupply, serialNumbers) =\n success\n ? abi.decode(result, (int32, int64, int64[]))\n : (HederaResponseCodes.UNKNOWN, int64(0), new int64[](0));\n }\n\n /// Burns an amount of the token from the defined treasury account\n /// @param token The token for which to burn tokens. If token does not exist, transaction results in\n /// INVALID_TOKEN_ID\n /// @param amount Applicable to tokens of type FUNGIBLE_COMMON. The amount to burn from the Treasury Account.\n /// Amount must be a positive non-zero number, not bigger than the token balance of the treasury\n /// account (0; balance], represented in the lowest denomination.\n /// @param serialNumbers Applicable to tokens of type NON_FUNGIBLE_UNIQUE. The list of serial numbers to be burned.\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return newTotalSupply The new supply of tokens. For NFTs it is the total count of NFTs\n function burnToken(address token, int64 amount, int64[] memory serialNumbers) internal\n returns (int responseCode, int64 newTotalSupply)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.burnToken.selector,\n token, amount, serialNumbers));\n (responseCode, newTotalSupply) =\n success\n ? abi.decode(result, (int32, int64))\n : (HederaResponseCodes.UNKNOWN, int64(0));\n }\n\n /// Associates the provided account with the provided tokens. Must be signed by the provided\n /// Account's key or called from the accounts contract key\n /// If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID.\n /// If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED.\n /// If any of the provided tokens is not found, the transaction will resolve to INVALID_TOKEN_REF.\n /// If any of the provided tokens has been deleted, the transaction will resolve to TOKEN_WAS_DELETED.\n /// If an association between the provided account and any of the tokens already exists, the\n /// transaction will resolve to TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT.\n /// If the provided account's associations count exceed the constraint of maximum token associations\n /// per account, the transaction will resolve to TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED.\n /// On success, associations between the provided account and tokens are made and the account is\n /// ready to interact with the tokens.\n /// @param account The account to be associated with the provided tokens\n /// @param tokens The tokens to be associated with the provided account. In the case of NON_FUNGIBLE_UNIQUE\n /// Type, once an account is associated, it can hold any number of NFTs (serial numbers) of that\n /// token type\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function associateTokens(address account, address[] memory tokens) internal returns (int responseCode) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.associateTokens.selector,\n account, tokens));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n function associateToken(address account, address token) internal returns (int responseCode) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.associateToken.selector,\n account, token));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Dissociates the provided account with the provided tokens. Must be signed by the provided\n /// Account's key.\n /// If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID.\n /// If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED.\n /// If any of the provided tokens is not found, the transaction will resolve to INVALID_TOKEN_REF.\n /// If any of the provided tokens has been deleted, the transaction will resolve to TOKEN_WAS_DELETED.\n /// If an association between the provided account and any of the tokens does not exist, the\n /// transaction will resolve to TOKEN_NOT_ASSOCIATED_TO_ACCOUNT.\n /// If a token has not been deleted and has not expired, and the user has a nonzero balance, the\n /// transaction will resolve to TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES.\n /// If a fungible token has expired, the user can disassociate even if their token balance is\n /// not zero.\n /// If a non fungible token has expired, the user can not disassociate if their token\n /// balance is not zero. The transaction will resolve to TRANSACTION_REQUIRED_ZERO_TOKEN_BALANCES.\n /// On success, associations between the provided account and tokens are removed.\n /// @param account The account to be dissociated from the provided tokens\n /// @param tokens The tokens to be dissociated from the provided account.\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function dissociateTokens(address account, address[] memory tokens) internal returns (int responseCode) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.dissociateTokens.selector,\n account, tokens));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n function dissociateToken(address account, address token) internal returns (int responseCode) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.dissociateToken.selector,\n account, token));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Creates a Fungible Token with the specified properties\n /// @param token the basic properties of the token being created\n /// @param initialTotalSupply Specifies the initial supply of tokens to be put in circulation. The\n /// initial supply is sent to the Treasury Account. The supply is in the lowest denomination possible.\n /// @param decimals the number of decimal places a token is divisible by\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return tokenAddress the created token's address\n function createFungibleToken(\n IHederaTokenService.HederaToken memory token,\n int64 initialTotalSupply,\n int32 decimals) nonEmptyExpiry(token)\n internal returns (int responseCode, address tokenAddress) {\n (bool success, bytes memory result) = precompileAddress.call{value : msg.value}(\n abi.encodeWithSelector(IHederaTokenService.createFungibleToken.selector,\n token, initialTotalSupply, decimals));\n\n\n (responseCode, tokenAddress) = success ? abi.decode(result, (int32, address)) : (HederaResponseCodes.UNKNOWN, address(0));\n }\n\n /// Creates a Fungible Token with the specified properties\n /// @param token the basic properties of the token being created\n /// @param initialTotalSupply Specifies the initial supply of tokens to be put in circulation. The\n /// initial supply is sent to the Treasury Account. The supply is in the lowest denomination possible.\n /// @param decimals the number of decimal places a token is divisible by\n /// @param fixedFees list of fixed fees to apply to the token\n /// @param fractionalFees list of fractional fees to apply to the token\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return tokenAddress the created token's address\n function createFungibleTokenWithCustomFees(\n IHederaTokenService.HederaToken memory token,\n int64 initialTotalSupply,\n int32 decimals,\n IHederaTokenService.FixedFee[] memory fixedFees,\n IHederaTokenService.FractionalFee[] memory fractionalFees) nonEmptyExpiry(token)\n internal returns (int responseCode, address tokenAddress) {\n (bool success, bytes memory result) = precompileAddress.call{value : msg.value}(\n abi.encodeWithSelector(IHederaTokenService.createFungibleTokenWithCustomFees.selector,\n token, initialTotalSupply, decimals, fixedFees, fractionalFees));\n (responseCode, tokenAddress) = success ? abi.decode(result, (int32, address)) : (HederaResponseCodes.UNKNOWN, address(0));\n }\n\n /// Creates an Non Fungible Unique Token with the specified properties\n /// @param token the basic properties of the token being created\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return tokenAddress the created token's address\n function createNonFungibleToken(IHederaTokenService.HederaToken memory token) nonEmptyExpiry(token)\n internal returns (int responseCode, address tokenAddress) {\n (bool success, bytes memory result) = precompileAddress.call{value : msg.value}(\n abi.encodeWithSelector(IHederaTokenService.createNonFungibleToken.selector, token));\n (responseCode, tokenAddress) = success ? abi.decode(result, (int32, address)) : (HederaResponseCodes.UNKNOWN, address(0));\n }\n\n /// Creates an Non Fungible Unique Token with the specified properties\n /// @param token the basic properties of the token being created\n /// @param fixedFees list of fixed fees to apply to the token\n /// @param royaltyFees list of royalty fees to apply to the token\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return tokenAddress the created token's address\n function createNonFungibleTokenWithCustomFees(\n IHederaTokenService.HederaToken memory token,\n IHederaTokenService.FixedFee[] memory fixedFees,\n IHederaTokenService.RoyaltyFee[] memory royaltyFees) nonEmptyExpiry(token)\n internal returns (int responseCode, address tokenAddress) {\n (bool success, bytes memory result) = precompileAddress.call{value : msg.value}(\n abi.encodeWithSelector(IHederaTokenService.createNonFungibleTokenWithCustomFees.selector,\n token, fixedFees, royaltyFees));\n (responseCode, tokenAddress) = success ? abi.decode(result, (int32, address)) : (HederaResponseCodes.UNKNOWN, address(0));\n }\n\n /// Retrieves fungible specific token info for a fungible token\n /// @param token The ID of the token as a solidity address\n /// @dev This function reverts if the call is not successful\n function getFungibleTokenInfo(address token) internal returns (int responseCode, IHederaTokenService.FungibleTokenInfo memory tokenInfo) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.getFungibleTokenInfo.selector, token));\n IHederaTokenService.FungibleTokenInfo memory defaultTokenInfo;\n (responseCode, tokenInfo) = success ? abi.decode(result, (int32, IHederaTokenService.FungibleTokenInfo)) : (HederaResponseCodes.UNKNOWN, defaultTokenInfo);\n }\n\n /// Retrieves general token info for a given token\n /// @param token The ID of the token as a solidity address\n /// @dev This function reverts if the call is not successful\n function getTokenInfo(address token) internal returns (int responseCode, IHederaTokenService.TokenInfo memory tokenInfo) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.getTokenInfo.selector, token));\n IHederaTokenService.TokenInfo memory defaultTokenInfo;\n (responseCode, tokenInfo) = success ? abi.decode(result, (int32, IHederaTokenService.TokenInfo)) : (HederaResponseCodes.UNKNOWN, defaultTokenInfo);\n }\n\n /// Retrieves non-fungible specific token info for a given NFT\n /// @param token The ID of the token as a solidity address\n /// @dev This function reverts if the call is not successful\n function getNonFungibleTokenInfo(address token, int64 serialNumber) internal returns (int responseCode, IHederaTokenService.NonFungibleTokenInfo memory tokenInfo) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.getNonFungibleTokenInfo.selector, token, serialNumber));\n IHederaTokenService.NonFungibleTokenInfo memory defaultTokenInfo;\n (responseCode, tokenInfo) = success ? abi.decode(result, (int32, IHederaTokenService.NonFungibleTokenInfo)) : (HederaResponseCodes.UNKNOWN, defaultTokenInfo);\n }\n\n /// Query token custom fees\n /// @param token The token address to check\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return fixedFees Set of fixed fees for `token`\n /// @return fractionalFees Set of fractional fees for `token`\n /// @return royaltyFees Set of royalty fees for `token`\n /// @dev This function reverts if the call is not successful\n function getTokenCustomFees(address token) internal returns (int64 responseCode,\n IHederaTokenService.FixedFee[] memory fixedFees,\n IHederaTokenService.FractionalFee[] memory fractionalFees,\n IHederaTokenService.RoyaltyFee[] memory royaltyFees) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.getTokenCustomFees.selector, token));\n IHederaTokenService.FixedFee[] memory defaultFixedFees;\n IHederaTokenService.FractionalFee[] memory defaultFractionalFees;\n IHederaTokenService.RoyaltyFee[] memory defaultRoyaltyFees;\n (responseCode, fixedFees, fractionalFees, royaltyFees) =\n success ? abi.decode\n (result, (int32, IHederaTokenService.FixedFee[], IHederaTokenService.FractionalFee[], IHederaTokenService.RoyaltyFee[]))\n : (HederaResponseCodes.UNKNOWN, defaultFixedFees, defaultFractionalFees, defaultRoyaltyFees);\n }\n\n /// Allows spender to withdraw from your account multiple times, up to the value amount. If this function is called\n /// again it overwrites the current allowance with value.\n /// Only Applicable to Fungible Tokens\n /// @param token The hedera token address to approve\n /// @param spender the account authorized to spend\n /// @param amount the amount of tokens authorized to spend.\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function approve(address token, address spender, uint256 amount) internal returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.approve.selector,\n token, spender, amount));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Transfers `amount` tokens from `from` to `to` using the\n // allowance mechanism. `amount` is then deducted from the caller's allowance.\n /// Only applicable to fungible tokens\n /// @param token The address of the fungible Hedera token to transfer\n /// @param from The account address of the owner of the token, on the behalf of which to transfer `amount` tokens\n /// @param to The account address of the receiver of the `amount` tokens\n /// @param amount The amount of tokens to transfer from `from` to `to`\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function transferFrom(address token, address from, address to, uint256 amount) external returns (int64 responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.transferFrom.selector,\n token, from, to, amount));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Transfers `serialNumber` of `token` from `from` to `to` using the allowance mechanism.\n /// Only applicable to NFT tokens\n /// @param token The address of the non-fungible Hedera token to transfer\n /// @param from The account address of the owner of `serialNumber` of `token`\n /// @param to The account address of the receiver of `serialNumber`\n /// @param serialNumber The NFT serial number to transfer\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function transferFromNFT(address token, address from, address to, uint256 serialNumber) external returns (int64 responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.transferFromNFT.selector,\n token, from, to, serialNumber));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Returns the amount which spender is still allowed to withdraw from owner.\n /// Only Applicable to Fungible Tokens\n /// @param token The Hedera token address to check the allowance of\n /// @param owner the owner of the tokens to be spent\n /// @param spender the spender of the tokens\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function allowance(address token, address owner, address spender) internal returns (int responseCode, uint256 amount)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.allowance.selector,\n token, owner, spender));\n (responseCode, amount) = success ? abi.decode(result, (int32, uint256)) : (HederaResponseCodes.UNKNOWN, 0);\n }\n\n /// Allow or reaffirm the approved address to transfer an NFT the approved address does not own.\n /// Only Applicable to NFT Tokens\n /// @param token The Hedera NFT token address to approve\n /// @param approved The new approved NFT controller. To revoke approvals pass in the zero address.\n /// @param serialNumber The NFT serial number to approve\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function approveNFT(address token, address approved, uint256 serialNumber) internal returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.approveNFT.selector,\n token, approved, serialNumber));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Get the approved address for a single NFT\n /// Only Applicable to NFT Tokens\n /// @param token The Hedera NFT token address to check approval\n /// @param serialNumber The NFT to find the approved address for\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return approved The approved address for this NFT, or the zero address if there is none\n function getApproved(address token, uint256 serialNumber) internal returns (int responseCode, address approved)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.getApproved.selector,\n token, serialNumber));\n (responseCode, approved) =\n success\n ? abi.decode(result, (int32, address))\n : (HederaResponseCodes.UNKNOWN, address(0));\n }\n\n /// Query if token account is frozen\n /// @param token The token address to check\n /// @param account The account address associated with the token\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return frozen True if `account` is frozen for `token`\n /// @dev This function reverts if the call is not successful\n function isFrozen(address token, address account) internal returns (int64 responseCode, bool frozen){\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.isFrozen.selector, token, account));\n (responseCode, frozen) = success ? abi.decode(result, (int32, bool)) : (HederaResponseCodes.UNKNOWN, false);\n }\n\n /// Query if token account has kyc granted\n /// @param token The token address to check\n /// @param account The account address associated with the token\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return kycGranted True if `account` has kyc granted for `token`\n /// @dev This function reverts if the call is not successful\n function isKyc(address token, address account) internal returns (int64 responseCode, bool kycGranted){\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.isKyc.selector, token, account));\n (responseCode, kycGranted) = success ? abi.decode(result, (int32, bool)) : (HederaResponseCodes.UNKNOWN, false);\n }\n\n /// Operation to freeze token account\n /// @param token The token address\n /// @param account The account address to be frozen\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function freezeToken(address token, address account) internal returns (int64 responseCode){\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.freezeToken.selector, token, account));\n (responseCode) = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Operation to unfreeze token account\n /// @param token The token address\n /// @param account The account address to be unfrozen\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function unfreezeToken(address token, address account) internal returns (int64 responseCode){\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.unfreezeToken.selector, token, account));\n (responseCode) = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Operation to grant kyc to token account\n /// @param token The token address\n /// @param account The account address to grant kyc\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function grantTokenKyc(address token, address account) internal returns (int64 responseCode){\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.grantTokenKyc.selector, token, account));\n (responseCode) = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Operation to revoke kyc to token account\n /// @param token The token address\n /// @param account The account address to revoke kyc\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function revokeTokenKyc(address token, address account) internal returns (int64 responseCode){\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.revokeTokenKyc.selector, token, account));\n (responseCode) = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Enable or disable approval for a third party (\"operator\") to manage\n /// all of `msg.sender`'s assets\n /// @param token The Hedera NFT token address to approve\n /// @param operator Address to add to the set of authorized operators\n /// @param approved True if the operator is approved, false to revoke approval\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function setApprovalForAll(address token, address operator, bool approved) internal returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.setApprovalForAll.selector,\n token, operator, approved));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Query if an address is an authorized operator for another address\n /// Only Applicable to NFT Tokens\n /// @param token The Hedera NFT token address to approve\n /// @param owner The address that owns the NFTs\n /// @param operator The address that acts on behalf of the owner\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return approved True if `operator` is an approved operator for `owner`, false otherwise\n function isApprovedForAll(address token, address owner, address operator) internal returns (int responseCode, bool approved)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.isApprovedForAll.selector,\n token, owner, operator));\n (responseCode, approved) =\n success\n ? abi.decode(result, (int32, bool))\n : (HederaResponseCodes.UNKNOWN, false);\n }\n\n /// Query token default freeze status\n /// @param token The token address to check\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return defaultFreezeStatus True if `token` default freeze status is frozen.\n /// @dev This function reverts if the call is not successful\n function getTokenDefaultFreezeStatus(address token) internal returns (int responseCode, bool defaultFreezeStatus) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.getTokenDefaultFreezeStatus.selector, token));\n (responseCode, defaultFreezeStatus) = success ? abi.decode(result, (int32, bool)) : (HederaResponseCodes.UNKNOWN, false);\n }\n\n /// Query token default kyc status\n /// @param token The token address to check\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return defaultKycStatus True if `token` default kyc status is KycNotApplicable and false if Revoked.\n /// @dev This function reverts if the call is not successful\n function getTokenDefaultKycStatus(address token) internal returns (int responseCode, bool defaultKycStatus) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.getTokenDefaultKycStatus.selector, token));\n (responseCode, defaultKycStatus) = success ? abi.decode(result, (int32, bool)) : (HederaResponseCodes.UNKNOWN, false);\n }\n\n /**********************\n * ABI v1 calls *\n **********************/\n\n /// Initiates a Fungible Token Transfer\n /// @param token The ID of the token as a solidity address\n /// @param accountIds account to do a transfer to/from\n /// @param amounts The amount from the accountId at the same index\n function transferTokens(address token, address[] memory accountIds, int64[] memory amounts) internal\n returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.transferTokens.selector,\n token, accountIds, amounts));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Initiates a Non-Fungable Token Transfer\n /// @param token The ID of the token as a solidity address\n /// @param sender the sender of an nft\n /// @param receiver the receiver of the nft sent by the same index at sender\n /// @param serialNumber the serial number of the nft sent by the same index at sender\n function transferNFTs(address token, address[] memory sender, address[] memory receiver, int64[] memory serialNumber)\n internal returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.transferNFTs.selector,\n token, sender, receiver, serialNumber));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Transfers tokens where the calling account/contract is implicitly the first entry in the token transfer list,\n /// where the amount is the value needed to zero balance the transfers. Regular signing rules apply for sending\n /// (positive amount) or receiving (negative amount)\n /// @param token The token to transfer to/from\n /// @param sender The sender for the transaction\n /// @param receiver The receiver of the transaction\n /// @param amount Non-negative value to send. a negative value will result in a failure.\n function transferToken(address token, address sender, address receiver, int64 amount) internal\n returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.transferToken.selector,\n token, sender, receiver, amount));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Transfers tokens where the calling account/contract is implicitly the first entry in the token transfer list,\n /// where the amount is the value needed to zero balance the transfers. Regular signing rules apply for sending\n /// (positive amount) or receiving (negative amount)\n /// @param token The token to transfer to/from\n /// @param sender The sender for the transaction\n /// @param receiver The receiver of the transaction\n /// @param serialNumber The serial number of the NFT to transfer.\n function transferNFT(address token, address sender, address receiver, int64 serialNumber) internal\n returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.transferNFT.selector,\n token, sender, receiver, serialNumber));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Operation to pause token\n /// @param token The token address to be paused\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function pauseToken(address token) internal returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.pauseToken.selector, token));\n (responseCode) = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Operation to unpause token\n /// @param token The token address to be unpaused\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function unpauseToken(address token) internal returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.unpauseToken.selector, token));\n (responseCode) = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Operation to wipe fungible tokens from account\n /// @param token The token address\n /// @param account The account address to revoke kyc\n /// @param amount The number of tokens to wipe\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function wipeTokenAccount(address token, address account, int64 amount) internal returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.wipeTokenAccount.selector, token, account, amount));\n (responseCode) = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Operation to wipe non fungible tokens from account\n /// @param token The token address\n /// @param account The account address to revoke kyc\n /// @param serialNumbers The serial numbers of token to wipe\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function wipeTokenAccountNFT(address token, address account, int64[] memory serialNumbers) internal\n returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.wipeTokenAccountNFT.selector, token, account, serialNumbers));\n (responseCode) = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Operation to delete token\n /// @param token The token address\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function deleteToken(address token) internal returns (int responseCode)\n {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.deleteToken.selector, token));\n (responseCode) = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Operation to update token keys\n /// @param token The token address\n /// @param keys The token keys\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function updateTokenKeys(address token, IHederaTokenService.TokenKey[] memory keys)\n internal returns (int64 responseCode){\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.updateTokenKeys.selector, token, keys));\n (responseCode) = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Query token KeyValue\n /// @param token The token address to check\n /// @param keyType The keyType of the desired KeyValue\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return key KeyValue info for key of type `keyType`\n /// @dev This function reverts if the call is not successful\n function getTokenKey(address token, uint keyType)\n internal returns (int64 responseCode, IHederaTokenService.KeyValue memory key){\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.getTokenKey.selector, token, keyType));\n IHederaTokenService.KeyValue memory defaultKeyValueInfo;\n (responseCode, key) = success ? abi.decode(result, (int32,IHederaTokenService.KeyValue) ) : (HederaResponseCodes.UNKNOWN, defaultKeyValueInfo);\n }\n\n\n /// Query if valid token found for the given address\n /// @param token The token address\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return isTokenFlag True if valid token found for the given address\n /// @dev This function reverts if the call is not successful\n function isToken(address token) internal returns (int64 responseCode, bool isTokenFlag) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.isToken.selector, token));\n (responseCode, isTokenFlag) = success ? abi.decode(result, (int32, bool)) : (HederaResponseCodes.UNKNOWN, false);\n }\n\n /// Query to return the token type for a given address\n /// @param token The token address\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return tokenType the token type. 0 is FUNGIBLE_COMMON, 1 is NON_FUNGIBLE_UNIQUE, -1 is UNRECOGNIZED\n /// @dev This function reverts if the call is not successful\n function getTokenType(address token) internal returns (int64 responseCode, int32 tokenType) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.getTokenType.selector, token));\n (responseCode, tokenType) = success ? abi.decode(result, (int32, int32)) : (HederaResponseCodes.UNKNOWN, - 1);\n }\n\n /// Operation to get token expiry info\n /// @param token The token address\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return expiryInfo The expiry info of the token\n /// @dev This function reverts if the call is not successful\n function getTokenExpiryInfo(address token) internal returns (int responseCode, IHederaTokenService.Expiry memory expiryInfo){\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.getTokenExpiryInfo.selector, token));\n IHederaTokenService.Expiry memory defaultExpiryInfo;\n (responseCode, expiryInfo) = success ? abi.decode(result, (int32, IHederaTokenService.Expiry)) : (HederaResponseCodes.UNKNOWN, defaultExpiryInfo);\n }\n\n /// Operation to update token expiry info\n /// @param token The token address\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function updateTokenExpiryInfo(address token, IHederaTokenService.Expiry memory expiryInfo) internal returns (int responseCode){\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.updateTokenExpiryInfo.selector, token, expiryInfo));\n (responseCode) = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Operation to update token info\n /// @param token The token address\n /// @param tokenInfo The hedera token info to update token with\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function updateTokenInfo(address token, IHederaTokenService.HederaToken memory tokenInfo) internal returns (int responseCode) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.updateTokenInfo.selector, token, tokenInfo));\n (responseCode) = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Redirect for token\n /// @param token The token address\n /// @param encodedFunctionSelector The function selector from the ERC20 interface + the bytes input for the function called\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return response The result of the call that had been encoded and sent for execution.\n function redirectForToken(address token, bytes memory encodedFunctionSelector) external returns (int responseCode, bytes memory response) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.redirectForToken.selector, token, encodedFunctionSelector)\n );\n\n emit CallResponseEvent(success, result);\n (responseCode, response) = success ? (HederaResponseCodes.SUCCESS, result) : (HederaResponseCodes.UNKNOWN, bytes(\"\"));\n }\n\n /// Update the custom fees for a fungible token\n /// @param token The token address\n /// @param fixedFees Set of fixed fees for `token`\n /// @param fractionalFees Set of fractional fees for `token`\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function updateFungibleTokenCustomFees(address token, IHederaTokenService.FixedFee[] memory fixedFees, IHederaTokenService.FractionalFee[] memory fractionalFees) internal returns (int64 responseCode) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.updateFungibleTokenCustomFees.selector, token, fixedFees, fractionalFees));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n\n /// Update the custom fees for a non-fungible token\n /// @param token The token address\n /// @param fixedFees Set of fixed fees for `token`\n /// @param royaltyFees Set of royalty fees for `token`\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function updateNonFungibleTokenCustomFees(address token, IHederaTokenService.FixedFee[] memory fixedFees, IHederaTokenService.RoyaltyFee[] memory royaltyFees) internal returns (int64 responseCode) {\n (bool success, bytes memory result) = precompileAddress.call(\n abi.encodeWithSelector(IHederaTokenService.updateNonFungibleTokenCustomFees.selector, token, fixedFees, royaltyFees));\n responseCode = success ? abi.decode(result, (int32)) : HederaResponseCodes.UNKNOWN;\n }\n}"},"contracts/utils/IHederaTokenService.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity >=0.4.9 <0.9.0;\npragma experimental ABIEncoderV2;\n\ninterface IHederaTokenService {\n /// Transfers cryptocurrency among two or more accounts by making the desired adjustments to their\n /// balances. Each transfer list can specify up to 10 adjustments. Each negative amount is withdrawn\n /// from the corresponding account (a sender), and each positive one is added to the corresponding\n /// account (a receiver). The amounts list must sum to zero. Each amount is a number of tinybars\n /// (there are 100,000,000 tinybars in one hbar). If any sender account fails to have sufficient\n /// hbars, then the entire transaction fails, and none of those transfers occur, though the\n /// transaction fee is still charged. This transaction must be signed by the keys for all the sending\n /// accounts, and for any receiving accounts that have receiverSigRequired == true. The signatures\n /// are in the same order as the accounts, skipping those accounts that don't need a signature.\n /// @custom:version 0.3.0 previous version did not include isApproval\n struct AccountAmount {\n // The Account ID, as a solidity address, that sends/receives cryptocurrency or tokens\n address accountID;\n\n // The amount of the lowest denomination of the given token that\n // the account sends(negative) or receives(positive)\n int64 amount;\n\n // If true then the transfer is expected to be an approved allowance and the\n // accountID is expected to be the owner. The default is false (omitted).\n bool isApproval;\n }\n\n /// A sender account, a receiver account, and the serial number of an NFT of a Token with\n /// NON_FUNGIBLE_UNIQUE type. When minting NFTs the sender will be the default AccountID instance\n /// (0.0.0 aka 0x0) and when burning NFTs, the receiver will be the default AccountID instance.\n /// @custom:version 0.3.0 previous version did not include isApproval\n struct NftTransfer {\n // The solidity address of the sender\n address senderAccountID;\n\n // The solidity address of the receiver\n address receiverAccountID;\n\n // The serial number of the NFT\n int64 serialNumber;\n\n // If true then the transfer is expected to be an approved allowance and the\n // accountID is expected to be the owner. The default is false (omitted).\n bool isApproval;\n }\n\n struct TokenTransferList {\n // The ID of the token as a solidity address\n address token;\n\n // Applicable to tokens of type FUNGIBLE_COMMON. Multiple list of AccountAmounts, each of which\n // has an account and amount.\n AccountAmount[] transfers;\n\n // Applicable to tokens of type NON_FUNGIBLE_UNIQUE. Multiple list of NftTransfers, each of\n // which has a sender and receiver account, including the serial number of the NFT\n NftTransfer[] nftTransfers;\n }\n\n struct TransferList {\n // Multiple list of AccountAmounts, each of which has an account and amount.\n // Used to transfer hbars between the accounts in the list.\n AccountAmount[] transfers;\n }\n\n /// Expiry properties of a Hedera token - second, autoRenewAccount, autoRenewPeriod\n struct Expiry {\n // The epoch second at which the token should expire; if an auto-renew account and period are\n // specified, this is coerced to the current epoch second plus the autoRenewPeriod\n int64 second;\n\n // ID of an account which will be automatically charged to renew the token's expiration, at\n // autoRenewPeriod interval, expressed as a solidity address\n address autoRenewAccount;\n\n // The interval at which the auto-renew account will be charged to extend the token's expiry\n int64 autoRenewPeriod;\n }\n\n /// A Key can be a public key from either the Ed25519 or ECDSA(secp256k1) signature schemes, where\n /// in the ECDSA(secp256k1) case we require the 33-byte compressed form of the public key. We call\n /// these public keys primitive keys.\n /// A Key can also be the ID of a smart contract instance, which is then authorized to perform any\n /// precompiled contract action that requires this key to sign.\n /// Note that when a Key is a smart contract ID, it doesn't mean the contract with that ID\n /// will actually create a cryptographic signature. It only means that when the contract calls a\n /// precompiled contract, the resulting \"child transaction\" will be authorized to perform any action\n /// controlled by the Key.\n /// Exactly one of the possible values should be populated in order for the Key to be valid.\n struct KeyValue {\n\n // if set to true, the key of the calling Hedera account will be inherited as the token key\n bool inheritAccountKey;\n\n // smart contract instance that is authorized as if it had signed with a key\n address contractId;\n\n // Ed25519 public key bytes\n bytes ed25519;\n\n // Compressed ECDSA(secp256k1) public key bytes\n bytes ECDSA_secp256k1;\n\n // A smart contract that, if the recipient of the active message frame, should be treated\n // as having signed. (Note this does not mean the code being executed in the frame\n // will belong to the given contract, since it could be running another contract's code via\n // delegatecall. So setting this key is a more permissive version of setting the\n // contractID key, which also requires the code in the active message frame belong to the\n // the contract with the given id.)\n address delegatableContractId;\n }\n\n /// A list of token key types the key should be applied to and the value of the key\n struct TokenKey {\n\n // bit field representing the key type. Keys of all types that have corresponding bits set to 1\n // will be created for the token.\n // 0th bit: adminKey\n // 1st bit: kycKey\n // 2nd bit: freezeKey\n // 3rd bit: wipeKey\n // 4th bit: supplyKey\n // 5th bit: feeScheduleKey\n // 6th bit: pauseKey\n // 7th bit: ignored\n uint keyType;\n\n // the value that will be set to the key type\n KeyValue key;\n }\n\n /// Basic properties of a Hedera Token - name, symbol, memo, tokenSupplyType, maxSupply,\n /// treasury, freezeDefault. These properties are related both to Fungible and NFT token types.\n struct HederaToken {\n // The publicly visible name of the token. The token name is specified as a Unicode string.\n // Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).\n string name;\n\n // The publicly visible token symbol. The token symbol is specified as a Unicode string.\n // Its UTF-8 encoding cannot exceed 100 bytes, and cannot contain the 0 byte (NUL).\n string symbol;\n\n // The ID of the account which will act as a treasury for the token as a solidity address.\n // This account will receive the specified initial supply or the newly minted NFTs in\n // the case for NON_FUNGIBLE_UNIQUE Type\n address treasury;\n\n // The memo associated with the token (UTF-8 encoding max 100 bytes)\n string memo;\n\n // IWA compatibility. Specified the token supply type. Defaults to INFINITE\n bool tokenSupplyType;\n\n // IWA Compatibility. Depends on TokenSupplyType. For tokens of type FUNGIBLE_COMMON - the\n // maximum number of tokens that can be in circulation. For tokens of type NON_FUNGIBLE_UNIQUE -\n // the maximum number of NFTs (serial numbers) that can be minted. This field can never be changed!\n int64 maxSupply;\n\n // The default Freeze status (frozen or unfrozen) of Hedera accounts relative to this token. If\n // true, an account must be unfrozen before it can receive the token\n bool freezeDefault;\n\n // list of keys to set to the token\n TokenKey[] tokenKeys;\n\n // expiry properties of a Hedera token - second, autoRenewAccount, autoRenewPeriod\n Expiry expiry;\n }\n\n /// Additional post creation fungible and non fungible properties of a Hedera Token.\n struct TokenInfo {\n /// Basic properties of a Hedera Token\n HederaToken token;\n\n /// The number of tokens (fungible) or serials (non-fungible) of the token\n int64 totalSupply;\n\n /// Specifies whether the token is deleted or not\n bool deleted;\n\n /// Specifies whether the token kyc was defaulted with KycNotApplicable (true) or Revoked (false)\n bool defaultKycStatus;\n\n /// Specifies whether the token is currently paused or not\n bool pauseStatus;\n\n /// The fixed fees collected when transferring the token\n FixedFee[] fixedFees;\n\n /// The fractional fees collected when transferring the token\n FractionalFee[] fractionalFees;\n\n /// The royalty fees collected when transferring the token\n RoyaltyFee[] royaltyFees;\n\n /// The ID of the network ledger\n string ledgerId;\n }\n\n /// Additional fungible properties of a Hedera Token.\n struct FungibleTokenInfo {\n /// The shared hedera token info\n TokenInfo tokenInfo;\n\n /// The number of decimal places a token is divisible by\n int32 decimals;\n }\n\n /// Additional non fungible properties of a Hedera Token.\n struct NonFungibleTokenInfo {\n /// The shared hedera token info\n TokenInfo tokenInfo;\n\n /// The serial number of the nft\n int64 serialNumber;\n\n /// The account id specifying the owner of the non fungible token\n address ownerId;\n\n /// The epoch second at which the token was created.\n int64 creationTime;\n\n /// The unique metadata of the NFT\n bytes metadata;\n\n /// The account id specifying an account that has been granted spending permissions on this nft\n address spenderId;\n }\n\n /// A fixed number of units (hbar or token) to assess as a fee during a transfer of\n /// units of the token to which this fixed fee is attached. The denomination of\n /// the fee depends on the values of tokenId, useHbarsForPayment and\n /// useCurrentTokenForPayment. Exactly one of the values should be set.\n struct FixedFee {\n\n int64 amount;\n\n // Specifies ID of token that should be used for fixed fee denomination\n address tokenId;\n\n // Specifies this fixed fee should be denominated in Hbar\n bool useHbarsForPayment;\n\n // Specifies this fixed fee should be denominated in the Token currently being created\n bool useCurrentTokenForPayment;\n\n // The ID of the account to receive the custom fee, expressed as a solidity address\n address feeCollector;\n }\n\n /// A fraction of the transferred units of a token to assess as a fee. The amount assessed will never\n /// be less than the given minimumAmount, and never greater than the given maximumAmount. The\n /// denomination is always units of the token to which this fractional fee is attached.\n struct FractionalFee {\n // A rational number's numerator, used to set the amount of a value transfer to collect as a custom fee\n int64 numerator;\n\n // A rational number's denominator, used to set the amount of a value transfer to collect as a custom fee\n int64 denominator;\n\n // The minimum amount to assess\n int64 minimumAmount;\n\n // The maximum amount to assess (zero implies no maximum)\n int64 maximumAmount;\n bool netOfTransfers;\n\n // The ID of the account to receive the custom fee, expressed as a solidity address\n address feeCollector;\n }\n\n /// A fee to assess during a transfer that changes ownership of an NFT. Defines the fraction of\n /// the fungible value exchanged for an NFT that the ledger should collect as a royalty. (\"Fungible\n /// value\" includes both ℏ and units of fungible HTS tokens.) When the NFT sender does not receive\n /// any fungible value, the ledger will assess the fallback fee, if present, to the new NFT owner.\n /// Royalty fees can only be added to tokens of type type NON_FUNGIBLE_UNIQUE.\n struct RoyaltyFee {\n // A fraction's numerator of fungible value exchanged for an NFT to collect as royalty\n int64 numerator;\n\n // A fraction's denominator of fungible value exchanged for an NFT to collect as royalty\n int64 denominator;\n\n // If present, the fee to assess to the NFT receiver when no fungible value\n // is exchanged with the sender. Consists of:\n // amount: the amount to charge for the fee\n // tokenId: Specifies ID of token that should be used for fixed fee denomination\n // useHbarsForPayment: Specifies this fee should be denominated in Hbar\n int64 amount;\n address tokenId;\n bool useHbarsForPayment;\n\n // The ID of the account to receive the custom fee, expressed as a solidity address\n address feeCollector;\n }\n\n /// Represents a pending airdrop of a token or NFT to a receiver\n /// @param sender The address of the account sending the airdrop\n /// @param receiver The address of the account receiving the airdrop\n /// @param token The address of the token being airdropped\n /// @param serial For NFT airdrops, the serial number of the NFT. For fungible tokens, this should be 0\n struct PendingAirdrop {\n address sender;\n address receiver;\n address token;\n int64 serial;\n }\n\n /// Represents a unique NFT by its token address and serial number\n /// @param nft The address of the NFT token\n /// @param serial The serial number that uniquely identifies this NFT within its token type\n struct NftID {\n address nft;\n int64 serial;\n }\n\n /**********************\n * Direct HTS Calls *\n **********************/\n\n /// Performs transfers among combinations of tokens and hbars\n /// @param transferList the list of hbar transfers to do\n /// @param tokenTransfers the list of token transfers to do\n /// @custom:version 0.3.0 the signature of the previous version was cryptoTransfer(TokenTransferList[] memory tokenTransfers)\n function cryptoTransfer(TransferList memory transferList, TokenTransferList[] memory tokenTransfers)\n external\n returns (int64 responseCode);\n\n /// Mints an amount of the token to the defined treasury account\n /// @param token The token for which to mint tokens. If token does not exist, transaction results in\n /// INVALID_TOKEN_ID\n /// @param amount Applicable to tokens of type FUNGIBLE_COMMON. The amount to mint to the Treasury Account.\n /// Amount must be a positive non-zero number represented in the lowest denomination of the\n /// token. The new supply must be lower than 2^63.\n /// @param metadata Applicable to tokens of type NON_FUNGIBLE_UNIQUE. A list of metadata that are being created.\n /// Maximum allowed size of each metadata is 100 bytes\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return newTotalSupply The new supply of tokens. For NFTs it is the total count of NFTs\n /// @return serialNumbers If the token is an NFT the newly generate serial numbers, othersise empty.\n function mintToken(\n address token,\n int64 amount,\n bytes[] memory metadata\n )\n external\n returns (\n int64 responseCode,\n int64 newTotalSupply,\n int64[] memory serialNumbers\n );\n\n /// Burns an amount of the token from the defined treasury account\n /// @param token The token for which to burn tokens. If token does not exist, transaction results in\n /// INVALID_TOKEN_ID\n /// @param amount Applicable to tokens of type FUNGIBLE_COMMON. The amount to burn from the Treasury Account.\n /// Amount must be a positive non-zero number, not bigger than the token balance of the treasury\n /// account (0; balance], represented in the lowest denomination.\n /// @param serialNumbers Applicable to tokens of type NON_FUNGIBLE_UNIQUE. The list of serial numbers to be burned.\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return newTotalSupply The new supply of tokens. For NFTs it is the total count of NFTs\n function burnToken(\n address token,\n int64 amount,\n int64[] memory serialNumbers\n ) external returns (int64 responseCode, int64 newTotalSupply);\n\n /// Associates the provided account with the provided tokens. Must be signed by the provided\n /// Account's key or called from the accounts contract key\n /// If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID.\n /// If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED.\n /// If any of the provided tokens is not found, the transaction will resolve to INVALID_TOKEN_REF.\n /// If any of the provided tokens has been deleted, the transaction will resolve to TOKEN_WAS_DELETED.\n /// If an association between the provided account and any of the tokens already exists, the\n /// transaction will resolve to TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT.\n /// If the provided account's associations count exceed the constraint of maximum token associations\n /// per account, the transaction will resolve to TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED.\n /// On success, associations between the provided account and tokens are made and the account is\n /// ready to interact with the tokens.\n /// @param account The account to be associated with the provided tokens\n /// @param tokens The tokens to be associated with the provided account. In the case of NON_FUNGIBLE_UNIQUE\n /// Type, once an account is associated, it can hold any number of NFTs (serial numbers) of that\n /// token type\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function associateTokens(address account, address[] memory tokens)\n external\n returns (int64 responseCode);\n\n /// Single-token variant of associateTokens. Will be mapped to a single entry array call of associateTokens\n /// @param account The account to be associated with the provided token\n /// @param token The token to be associated with the provided account\n function associateToken(address account, address token)\n external\n returns (int64 responseCode);\n\n /// Dissociates the provided account with the provided tokens. Must be signed by the provided\n /// Account's key.\n /// If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID.\n /// If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED.\n /// If any of the provided tokens is not found, the transaction will resolve to INVALID_TOKEN_REF.\n /// If any of the provided tokens has been deleted, the transaction will resolve to TOKEN_WAS_DELETED.\n /// If an association between the provided account and any of the tokens does not exist, the\n /// transaction will resolve to TOKEN_NOT_ASSOCIATED_TO_ACCOUNT.\n /// If a token has not been deleted and has not expired, and the user has a nonzero balance, the\n /// transaction will resolve to TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES.\n /// If a fungible token has expired, the user can disassociate even if their token balance is\n /// not zero.\n /// If a non fungible token has expired, the user can not disassociate if their token\n /// balance is not zero. The transaction will resolve to TRANSACTION_REQUIRED_ZERO_TOKEN_BALANCES.\n /// On success, associations between the provided account and tokens are removed.\n /// @param account The account to be dissociated from the provided tokens\n /// @param tokens The tokens to be dissociated from the provided account.\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function dissociateTokens(address account, address[] memory tokens)\n external\n returns (int64 responseCode);\n\n /// Single-token variant of dissociateTokens. Will be mapped to a single entry array call of dissociateTokens\n /// @param account The account to be associated with the provided token\n /// @param token The token to be associated with the provided account\n function dissociateToken(address account, address token)\n external\n returns (int64 responseCode);\n\n /// Creates a Fungible Token with the specified properties\n /// @param token the basic properties of the token being created\n /// @param initialTotalSupply Specifies the initial supply of tokens to be put in circulation. The\n /// initial supply is sent to the Treasury Account. The supply is in the lowest denomination possible.\n /// @param decimals the number of decimal places a token is divisible by\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return tokenAddress the created token's address\n function createFungibleToken(\n HederaToken memory token,\n int64 initialTotalSupply,\n int32 decimals\n ) external payable returns (int64 responseCode, address tokenAddress);\n\n /// Creates a Fungible Token with the specified properties\n /// @param token the basic properties of the token being created\n /// @param initialTotalSupply Specifies the initial supply of tokens to be put in circulation. The\n /// initial supply is sent to the Treasury Account. The supply is in the lowest denomination possible.\n /// @param decimals the number of decimal places a token is divisible by.\n /// @param fixedFees list of fixed fees to apply to the token\n /// @param fractionalFees list of fractional fees to apply to the token\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return tokenAddress the created token's address\n function createFungibleTokenWithCustomFees(\n HederaToken memory token,\n int64 initialTotalSupply,\n int32 decimals,\n FixedFee[] memory fixedFees,\n FractionalFee[] memory fractionalFees\n ) external payable returns (int64 responseCode, address tokenAddress);\n\n /// Creates an Non Fungible Unique Token with the specified properties\n /// @param token the basic properties of the token being created\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return tokenAddress the created token's address\n function createNonFungibleToken(HederaToken memory token)\n external\n payable\n returns (int64 responseCode, address tokenAddress);\n\n /// Creates an Non Fungible Unique Token with the specified properties\n /// @param token the basic properties of the token being created\n /// @param fixedFees list of fixed fees to apply to the token\n /// @param royaltyFees list of royalty fees to apply to the token\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return tokenAddress the created token's address\n function createNonFungibleTokenWithCustomFees(\n HederaToken memory token,\n FixedFee[] memory fixedFees,\n RoyaltyFee[] memory royaltyFees\n ) external payable returns (int64 responseCode, address tokenAddress);\n\n /**********************\n * ABIV1 calls *\n **********************/\n\n /// Initiates a Fungible Token Transfer\n /// @param token The ID of the token as a solidity address\n /// @param accountId account to do a transfer to/from\n /// @param amount The amount from the accountId at the same index\n function transferTokens(\n address token,\n address[] memory accountId,\n int64[] memory amount\n ) external returns (int64 responseCode);\n\n /// Initiates a Non-Fungable Token Transfer\n /// @param token The ID of the token as a solidity address\n /// @param sender the sender of an nft\n /// @param receiver the receiver of the nft sent by the same index at sender\n /// @param serialNumber the serial number of the nft sent by the same index at sender\n function transferNFTs(\n address token,\n address[] memory sender,\n address[] memory receiver,\n int64[] memory serialNumber\n ) external returns (int64 responseCode);\n\n /// Transfers tokens where the calling account/contract is implicitly the first entry in the token transfer list,\n /// where the amount is the value needed to zero balance the transfers. Regular signing rules apply for sending\n /// (positive amount) or receiving (negative amount)\n /// @param token The token to transfer to/from\n /// @param sender The sender for the transaction\n /// @param recipient The receiver of the transaction\n /// @param amount Non-negative value to send. a negative value will result in a failure.\n function transferToken(\n address token,\n address sender,\n address recipient,\n int64 amount\n ) external returns (int64 responseCode);\n\n /// Transfers tokens where the calling account/contract is implicitly the first entry in the token transfer list,\n /// where the amount is the value needed to zero balance the transfers. Regular signing rules apply for sending\n /// (positive amount) or receiving (negative amount)\n /// @param token The token to transfer to/from\n /// @param sender The sender for the transaction\n /// @param recipient The receiver of the transaction\n /// @param serialNumber The serial number of the NFT to transfer.\n function transferNFT(\n address token,\n address sender,\n address recipient,\n int64 serialNumber\n ) external returns (int64 responseCode);\n\n /// Allows spender to withdraw from your account multiple times, up to the value amount. If this function is called\n /// again it overwrites the current allowance with value.\n /// Only Applicable to Fungible Tokens\n /// @param token The hedera token address to approve\n /// @param spender the account address authorized to spend\n /// @param amount the amount of tokens authorized to spend.\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function approve(\n address token,\n address spender,\n uint256 amount\n ) external returns (int64 responseCode);\n\n /// Transfers `amount` tokens from `from` to `to` using the\n // allowance mechanism. `amount` is then deducted from the caller's allowance.\n /// Only applicable to fungible tokens\n /// @param token The address of the fungible Hedera token to transfer\n /// @param from The account address of the owner of the token, on the behalf of which to transfer `amount` tokens\n /// @param to The account address of the receiver of the `amount` tokens\n /// @param amount The amount of tokens to transfer from `from` to `to`\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function transferFrom(address token, address from, address to, uint256 amount) external returns (int64 responseCode);\n\n /// Returns the amount which spender is still allowed to withdraw from owner.\n /// Only Applicable to Fungible Tokens\n /// @param token The Hedera token address to check the allowance of\n /// @param owner the owner of the tokens to be spent\n /// @param spender the spender of the tokens\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return allowance The amount which spender is still allowed to withdraw from owner.\n function allowance(\n address token,\n address owner,\n address spender\n ) external returns (int64 responseCode, uint256 allowance);\n\n /// Allow or reaffirm the approved address to transfer an NFT the approved address does not own.\n /// Only Applicable to NFT Tokens\n /// @param token The Hedera NFT token address to approve\n /// @param approved The new approved NFT controller. To revoke approvals pass in the zero address.\n /// @param serialNumber The NFT serial number to approve\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function approveNFT(\n address token,\n address approved,\n uint256 serialNumber\n ) external returns (int64 responseCode);\n\n /// Transfers `serialNumber` of `token` from `from` to `to` using the allowance mechanism.\n /// Only applicable to NFT tokens\n /// @param token The address of the non-fungible Hedera token to transfer\n /// @param from The account address of the owner of `serialNumber` of `token`\n /// @param to The account address of the receiver of `serialNumber`\n /// @param serialNumber The NFT serial number to transfer\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function transferFromNFT(address token, address from, address to, uint256 serialNumber) external returns (int64 responseCode);\n\n /// Get the approved address for a single NFT\n /// Only Applicable to NFT Tokens\n /// @param token The Hedera NFT token address to check approval\n /// @param serialNumber The NFT to find the approved address for\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return approved The approved address for this NFT, or the zero address if there is none\n function getApproved(address token, uint256 serialNumber)\n external\n returns (int64 responseCode, address approved);\n\n /// Enable or disable approval for a third party (\"operator\") to manage\n /// all of `msg.sender`'s assets\n /// @param token The Hedera NFT token address to approve\n /// @param operator Address to add to the set of authorized operators\n /// @param approved True if the operator is approved, false to revoke approval\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function setApprovalForAll(\n address token,\n address operator,\n bool approved\n ) external returns (int64 responseCode);\n\n /// Query if an address is an authorized operator for another address\n /// Only Applicable to NFT Tokens\n /// @param token The Hedera NFT token address to approve\n /// @param owner The address that owns the NFTs\n /// @param operator The address that acts on behalf of the owner\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return approved True if `operator` is an approved operator for `owner`, false otherwise\n function isApprovedForAll(\n address token,\n address owner,\n address operator\n ) external returns (int64 responseCode, bool approved);\n\n /// Query if token account is frozen\n /// @param token The token address to check\n /// @param account The account address associated with the token\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return frozen True if `account` is frozen for `token`\n function isFrozen(address token, address account)\n external\n returns (int64 responseCode, bool frozen);\n\n /// Query if token account has kyc granted\n /// @param token The token address to check\n /// @param account The account address associated with the token\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return kycGranted True if `account` has kyc granted for `token`\n function isKyc(address token, address account)\n external\n returns (int64 responseCode, bool kycGranted);\n\n /// Operation to delete token\n /// @param token The token address to be deleted\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function deleteToken(address token) external returns (int64 responseCode);\n\n /// Query token custom fees\n /// @param token The token address to check\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return fixedFees Set of fixed fees for `token`\n /// @return fractionalFees Set of fractional fees for `token`\n /// @return royaltyFees Set of royalty fees for `token`\n function getTokenCustomFees(address token)\n external\n returns (int64 responseCode, FixedFee[] memory fixedFees, FractionalFee[] memory fractionalFees, RoyaltyFee[] memory royaltyFees);\n\n /// Query token default freeze status\n /// @param token The token address to check\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return defaultFreezeStatus True if `token` default freeze status is frozen.\n function getTokenDefaultFreezeStatus(address token)\n external\n returns (int64 responseCode, bool defaultFreezeStatus);\n\n /// Query token default kyc status\n /// @param token The token address to check\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return defaultKycStatus True if `token` default kyc status is KycNotApplicable and false if Revoked.\n function getTokenDefaultKycStatus(address token)\n external\n returns (int64 responseCode, bool defaultKycStatus);\n\n /// Query token expiry info\n /// @param token The token address to check\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return expiry Expiry info for `token`\n function getTokenExpiryInfo(address token)\n external\n returns (int64 responseCode, Expiry memory expiry);\n\n /// Query fungible token info\n /// @param token The token address to check\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return fungibleTokenInfo FungibleTokenInfo info for `token`\n function getFungibleTokenInfo(address token)\n external\n returns (int64 responseCode, FungibleTokenInfo memory fungibleTokenInfo);\n\n /// Query token info\n /// @param token The token address to check\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return tokenInfo TokenInfo info for `token`\n function getTokenInfo(address token)\n external\n returns (int64 responseCode, TokenInfo memory tokenInfo);\n\n /// Query token KeyValue\n /// @param token The token address to check\n /// @param keyType The keyType of the desired KeyValue\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return key KeyValue info for key of type `keyType`\n function getTokenKey(address token, uint keyType)\n external\n returns (int64 responseCode, KeyValue memory key);\n\n /// Query non fungible token info\n /// @param token The token address to check\n /// @param serialNumber The NFT serialNumber to check\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return nonFungibleTokenInfo NonFungibleTokenInfo info for `token` `serialNumber`\n function getNonFungibleTokenInfo(address token, int64 serialNumber)\n external\n returns (int64 responseCode, NonFungibleTokenInfo memory nonFungibleTokenInfo);\n\n /// Operation to freeze token account\n /// @param token The token address\n /// @param account The account address to be frozen\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function freezeToken(address token, address account)\n external\n returns (int64 responseCode);\n\n /// Operation to unfreeze token account\n /// @param token The token address\n /// @param account The account address to be unfrozen\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function unfreezeToken(address token, address account)\n external\n returns (int64 responseCode);\n\n /// Operation to grant kyc to token account\n /// @param token The token address\n /// @param account The account address to grant kyc\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function grantTokenKyc(address token, address account)\n external\n returns (int64 responseCode);\n\n /// Operation to revoke kyc to token account\n /// @param token The token address\n /// @param account The account address to revoke kyc\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function revokeTokenKyc(address token, address account)\n external\n returns (int64 responseCode);\n\n /// Operation to pause token\n /// @param token The token address to be paused\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function pauseToken(address token) external returns (int64 responseCode);\n\n /// Operation to unpause token\n /// @param token The token address to be unpaused\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function unpauseToken(address token) external returns (int64 responseCode);\n\n /// Operation to wipe fungible tokens from account\n /// @param token The token address\n /// @param account The account address to revoke kyc\n /// @param amount The number of tokens to wipe\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function wipeTokenAccount(\n address token,\n address account,\n int64 amount\n ) external returns (int64 responseCode);\n\n /// Operation to wipe non fungible tokens from account\n /// @param token The token address\n /// @param account The account address to revoke kyc\n /// @param serialNumbers The serial numbers of token to wipe\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function wipeTokenAccountNFT(\n address token,\n address account,\n int64[] memory serialNumbers\n ) external returns (int64 responseCode);\n\n /// Operation to update token info\n /// @param token The token address\n /// @param tokenInfo The hedera token info to update token with\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function updateTokenInfo(address token, HederaToken memory tokenInfo)\n external\n returns (int64 responseCode);\n\n /// Operation to update token expiry info\n /// @param token The token address\n /// @param expiryInfo The hedera token expiry info\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function updateTokenExpiryInfo(address token, Expiry memory expiryInfo)\n external\n returns (int64 responseCode);\n\n /// Operation to update token expiry info\n /// @param token The token address\n /// @param keys The token keys\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function updateTokenKeys(address token, TokenKey[] memory keys)\n external\n returns (int64 responseCode);\n\n /// Query if valid token found for the given address\n /// @param token The token address\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return isToken True if valid token found for the given address\n function isToken(address token)\n external returns\n (int64 responseCode, bool isToken);\n\n /// Query to return the token type for a given address\n /// @param token The token address\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return tokenType the token type. 0 is FUNGIBLE_COMMON, 1 is NON_FUNGIBLE_UNIQUE, -1 is UNRECOGNIZED\n function getTokenType(address token)\n external returns\n (int64 responseCode, int32 tokenType);\n\n /// Initiates a Redirect For Token\n /// @param token The token address\n /// @param encodedFunctionSelector The function selector from the ERC20 interface + the bytes input for the function called\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n /// @return response The result of the call that had been encoded and sent for execution.\n function redirectForToken(address token, bytes memory encodedFunctionSelector) external returns (int64 responseCode, bytes memory response);\n\n /// Update the custom fees for a fungible token\n /// @param token The token address\n /// @param fixedFees Set of fixed fees for `token`\n /// @param fractionalFees Set of fractional fees for `token`\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function updateFungibleTokenCustomFees(address token, IHederaTokenService.FixedFee[] memory fixedFees, IHederaTokenService.FractionalFee[] memory fractionalFees) external returns (int64 responseCode);\n\n /// Update the custom fees for a non-fungible token\n /// @param token The token address\n /// @param fixedFees Set of fixed fees for `token`\n /// @param royaltyFees Set of royalty fees for `token`\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function updateNonFungibleTokenCustomFees(address token, IHederaTokenService.FixedFee[] memory fixedFees, IHederaTokenService.RoyaltyFee[] memory royaltyFees) external returns (int64 responseCode);\n\n /// @notice Airdrop one or more tokens to one or more accounts\n /// @notice Recipients will receive tokens in one of these ways:\n /// @notice - Immediately if already associated with the token\n /// @notice - Immediately with auto-association if they have available slots\n /// @notice - As a pending airdrop requiring claim if they have \"receiver signature required\"\n /// @notice - As a pending airdrop requiring claim if they have no available auto-association slots\n /// @notice Immediate airdrops are irreversible, pending airdrops can be canceled\n /// @notice All transfer fees and auto-renewal rent costs are charged to the transaction submitter\n /// @param tokenTransfers Array of token transfer lists containing token addresses and recipient details\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function airdropTokens(TokenTransferList[] memory tokenTransfers) external returns (int64 responseCode);\n\n /// @notice Cancels pending airdrops that have not yet been claimed\n /// @param pendingAirdrops Array of pending airdrops to cancel\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function cancelAirdrops(PendingAirdrop[] memory pendingAirdrops) external returns (int64 responseCode);\n\n /// @notice Claims pending airdrops that were sent to the calling account\n /// @param pendingAirdrops Array of pending airdrops to claim\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function claimAirdrops(PendingAirdrop[] memory pendingAirdrops) external returns (int64 responseCode);\n\n /// @notice Rejects one or more tokens by transferring their full balance from the requesting account to the treasury\n /// @notice This transfer does not charge any custom fees or royalties defined for the tokens\n /// @notice For fungible tokens, the requesting account's balance will become 0 and the treasury balance will increase by that amount\n /// @notice For non-fungible tokens, the requesting account will no longer hold the rejected serial numbers and they will be transferred to the treasury\n /// @param rejectingAddress The address rejecting the tokens\n /// @param ftAddresses Array of fungible token addresses to reject\n /// @param nftIDs Array of NFT IDs to reject\n /// @return responseCode The response code for the status of the request. SUCCESS is 22.\n function rejectTokens(address rejectingAddress, address[] memory ftAddresses, NftID[] memory nftIDs) external returns (int64 responseCode);\n}"},"contracts/utils/KeyHelper.sol":{"content":"// SPDX-License-Identifier: Apache-2.0\npragma solidity >=0.5.0 <0.9.0;\npragma experimental ABIEncoderV2;\n\nimport \"./HederaTokenService.sol\";\n\nabstract contract KeyHelper {\n using Bits for uint256;\n address supplyContract;\n\n mapping(KeyType => uint256) keyTypes;\n\n enum KeyType {\n ADMIN,\n KYC,\n FREEZE,\n WIPE,\n SUPPLY,\n FEE,\n PAUSE\n }\n enum KeyValueType {\n INHERIT_ACCOUNT_KEY,\n CONTRACT_ID,\n ED25519,\n SECP256K1,\n DELEGETABLE_CONTRACT_ID\n }\n\n constructor() {\n keyTypes[KeyType.ADMIN] = 1;\n keyTypes[KeyType.KYC] = 2;\n keyTypes[KeyType.FREEZE] = 4;\n keyTypes[KeyType.WIPE] = 8;\n keyTypes[KeyType.SUPPLY] = 16;\n keyTypes[KeyType.FEE] = 32;\n keyTypes[KeyType.PAUSE] = 64;\n }\n\n function getDefaultKeys() internal view returns (IHederaTokenService.TokenKey[] memory keys) {\n keys = new IHederaTokenService.TokenKey[](2);\n keys[0] = getSingleKey(KeyType.KYC, KeyValueType.CONTRACT_ID, '');\n keys[1] = IHederaTokenService.TokenKey(\n getDuplexKeyType(KeyType.SUPPLY, KeyType.PAUSE),\n getKeyValueType(KeyValueType.CONTRACT_ID, '')\n );\n }\n\n function getAllTypeKeys(KeyValueType keyValueType, bytes memory key)\n internal\n view\n returns (IHederaTokenService.TokenKey[] memory keys)\n {\n keys = new IHederaTokenService.TokenKey[](1);\n keys[0] = IHederaTokenService.TokenKey(getAllKeyTypes(), getKeyValueType(keyValueType, key));\n }\n\n function getCustomSingleTypeKeys(\n KeyType keyType,\n KeyValueType keyValueType,\n bytes memory key\n ) internal view returns (IHederaTokenService.TokenKey[] memory keys) {\n keys = new IHederaTokenService.TokenKey[](1);\n keys[0] = IHederaTokenService.TokenKey(getKeyType(keyType), getKeyValueType(keyValueType, key));\n }\n\n function getCustomDuplexTypeKeys(\n KeyType firstType,\n KeyType secondType,\n KeyValueType keyValueType,\n bytes memory key\n ) internal view returns (IHederaTokenService.TokenKey[] memory keys) {\n keys = new IHederaTokenService.TokenKey[](1);\n keys[0] = IHederaTokenService.TokenKey(\n getDuplexKeyType(firstType, secondType),\n getKeyValueType(keyValueType, key)\n );\n }\n\n function getSingleKey(\n KeyType keyType,\n KeyValueType keyValueType,\n bytes memory key\n ) internal view returns (IHederaTokenService.TokenKey memory tokenKey) {\n tokenKey = IHederaTokenService.TokenKey(getKeyType(keyType), getKeyValueType(keyValueType, key));\n }\n\n function getSingleKey(\n KeyType keyType,\n KeyValueType keyValueType,\n address key\n ) internal view returns (IHederaTokenService.TokenKey memory tokenKey) {\n tokenKey = IHederaTokenService.TokenKey(getKeyType(keyType), getKeyValueType(keyValueType, key));\n }\n\n function getSingleKey(\n KeyType firstType,\n KeyType secondType,\n KeyValueType keyValueType,\n bytes memory key\n ) internal view returns (IHederaTokenService.TokenKey memory tokenKey) {\n tokenKey = IHederaTokenService.TokenKey(\n getDuplexKeyType(firstType, secondType),\n getKeyValueType(keyValueType, key)\n );\n }\n\n function getDuplexKeyType(KeyType firstType, KeyType secondType) internal pure returns (uint256 keyType) {\n keyType = keyType.setBit(uint8(firstType));\n keyType = keyType.setBit(uint8(secondType));\n }\n\n function getAllKeyTypes() internal pure returns (uint256 keyType) {\n keyType = keyType.setBit(uint8(KeyType.ADMIN));\n keyType = keyType.setBit(uint8(KeyType.KYC));\n keyType = keyType.setBit(uint8(KeyType.FREEZE));\n keyType = keyType.setBit(uint8(KeyType.WIPE));\n keyType = keyType.setBit(uint8(KeyType.SUPPLY));\n keyType = keyType.setBit(uint8(KeyType.FEE));\n keyType = keyType.setBit(uint8(KeyType.PAUSE));\n }\n\n function getKeyType(KeyType keyType) internal view returns (uint256) {\n return keyTypes[keyType];\n }\n\n function getKeyValueType(KeyValueType keyValueType, bytes memory key)\n internal\n view\n returns (IHederaTokenService.KeyValue memory keyValue)\n {\n if (keyValueType == KeyValueType.INHERIT_ACCOUNT_KEY) {\n keyValue.inheritAccountKey = true;\n } else if (keyValueType == KeyValueType.CONTRACT_ID) {\n keyValue.contractId = supplyContract;\n } else if (keyValueType == KeyValueType.ED25519) {\n keyValue.ed25519 = key;\n } else if (keyValueType == KeyValueType.SECP256K1) {\n keyValue.ECDSA_secp256k1 = key;\n } else if (keyValueType == KeyValueType.DELEGETABLE_CONTRACT_ID) {\n keyValue.delegatableContractId = supplyContract;\n }\n }\n\n function getKeyValueType(KeyValueType keyValueType, address keyAddress)\n internal\n pure\n returns (IHederaTokenService.KeyValue memory keyValue)\n {\n if (keyValueType == KeyValueType.CONTRACT_ID) {\n keyValue.contractId = keyAddress;\n } else if (keyValueType == KeyValueType.DELEGETABLE_CONTRACT_ID) {\n keyValue.delegatableContractId = keyAddress;\n }\n }\n}\n\nlibrary Bits {\n uint256 internal constant ONE = uint256(1);\n\n // Sets the bit at the given 'index' in 'self' to '1'.\n // Returns the modified value.\n function setBit(uint256 self, uint8 index) internal pure returns (uint256) {\n return self | (ONE << index);\n }\n}"}},"settings":{"optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/NFTContract.sol":{"ast":{"absolutePath":"contracts/NFTContract.sol","exportedSymbols":{"Bits":[5194],"ExpiryHelper":[356],"HederaResponseCodes":[1220],"HederaTokenService":[3726],"IHederaTokenService":[4596],"KeyHelper":[5170],"NFTContract":[313]},"id":314,"license":"GPL-3.0","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity",">=","0.5",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"36:31:0"},{"absolutePath":"contracts/utils/HederaResponseCodes.sol","file":"./utils/HederaResponseCodes.sol","id":2,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":314,"sourceUnit":1221,"src":"69:41:0","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/utils/IHederaTokenService.sol","file":"./utils/IHederaTokenService.sol","id":3,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":314,"sourceUnit":4597,"src":"111:41:0","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/utils/HederaTokenService.sol","file":"./utils/HederaTokenService.sol","id":4,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":314,"sourceUnit":3727,"src":"153:40:0","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/utils/ExpiryHelper.sol","file":"./utils/ExpiryHelper.sol","id":5,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":314,"sourceUnit":357,"src":"194:34:0","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/utils/KeyHelper.sol","file":"./utils/KeyHelper.sol","id":6,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":314,"sourceUnit":5195,"src":"229:31:0","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":7,"name":"ExpiryHelper","nameLocations":["286:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":356,"src":"286:12:0"},"id":8,"nodeType":"InheritanceSpecifier","src":"286:12:0"},{"baseName":{"id":9,"name":"KeyHelper","nameLocations":["300:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":5170,"src":"300:9:0"},"id":10,"nodeType":"InheritanceSpecifier","src":"300:9:0"},{"baseName":{"id":11,"name":"HederaTokenService","nameLocations":["311:18:0"],"nodeType":"IdentifierPath","referencedDeclaration":3726,"src":"311:18:0"},"id":12,"nodeType":"InheritanceSpecifier","src":"311:18:0"}],"canonicalName":"NFTContract","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":313,"linearizedBaseContracts":[313,3726,5170,356],"name":"NFTContract","nameLocation":"271:11:0","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"8da5cb5b","id":14,"mutability":"mutable","name":"owner","nameLocation":"351:5:0","nodeType":"VariableDeclaration","scope":313,"src":"336:20:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13,"name":"address","nodeType":"ElementaryTypeName","src":"336:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"functionSelector":"02f6ef87","id":18,"mutability":"mutable","name":"nftClaimRights","nameLocation":"467:14:0","nodeType":"VariableDeclaration","scope":313,"src":"434:47:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int64_$_t_address_$","typeString":"mapping(int64 => address)"},"typeName":{"id":17,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":15,"name":"int64","nodeType":"ElementaryTypeName","src":"442:5:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Mapping","src":"434:25:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int64_$_t_address_$","typeString":"mapping(int64 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":16,"name":"address","nodeType":"ElementaryTypeName","src":"451:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"constant":false,"functionSelector":"d689332f","id":22,"mutability":"mutable","name":"claimed","nameLocation":"568:7:0","nodeType":"VariableDeclaration","scope":313,"src":"538:37:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int64_$_t_bool_$","typeString":"mapping(int64 => bool)"},"typeName":{"id":21,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":19,"name":"int64","nodeType":"ElementaryTypeName","src":"546:5:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Mapping","src":"538:22:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int64_$_t_bool_$","typeString":"mapping(int64 => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":20,"name":"bool","nodeType":"ElementaryTypeName","src":"555:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"body":{"id":30,"nodeType":"Block","src":"596:35:0","statements":[{"expression":{"id":28,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14,"src":"606:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":26,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"614:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":27,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"618:6:0","memberName":"sender","nodeType":"MemberAccess","src":"614:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"606:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29,"nodeType":"ExpressionStatement","src":"606:18:0"}]},"id":31,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":23,"nodeType":"ParameterList","parameters":[],"src":"593:2:0"},"returnParameters":{"id":24,"nodeType":"ParameterList","parameters":[],"src":"596:0:0"},"scope":313,"src":"582:49:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":42,"nodeType":"Block","src":"658:93:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":37,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":34,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"676:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":35,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"680:6:0","memberName":"sender","nodeType":"MemberAccess","src":"676:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":36,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":14,"src":"690:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"676:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6e","id":38,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"697:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef","typeString":"literal_string \"Only owner can call this function\""},"value":"Only owner can call this function"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef","typeString":"literal_string \"Only owner can call this function\""}],"id":33,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"668:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":39,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"668:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":40,"nodeType":"ExpressionStatement","src":"668:65:0"},{"id":41,"nodeType":"PlaceholderStatement","src":"743:1:0"}]},"id":43,"name":"onlyOwner","nameLocation":"646:9:0","nodeType":"ModifierDefinition","parameters":{"id":32,"nodeType":"ParameterList","parameters":[],"src":"655:2:0"},"src":"637:114:0","virtual":false,"visibility":"internal"},{"body":{"id":178,"nodeType":"Block","src":"969:848:0","statements":[{"assignments":[65],"declarations":[{"constant":false,"id":65,"mutability":"mutable","name":"keys","nameLocation":"1017:4:0","nodeType":"VariableDeclaration","scope":178,"src":"979:42:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey[]"},"typeName":{"baseType":{"id":63,"nodeType":"UserDefinedTypeName","pathNode":{"id":62,"name":"IHederaTokenService.TokenKey","nameLocations":["979:19:0","999:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"979:28:0"},"referencedDeclaration":3785,"src":"979:28:0","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":64,"nodeType":"ArrayTypeName","src":"979:30:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}},"visibility":"internal"}],"id":72,"initialValue":{"arguments":[{"hexValue":"31","id":70,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1059:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":69,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1024:34:0","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IHederaTokenService.TokenKey memory[] memory)"},"typeName":{"baseType":{"id":67,"nodeType":"UserDefinedTypeName","pathNode":{"id":66,"name":"IHederaTokenService.TokenKey","nameLocations":["1028:19:0","1048:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"1028:28:0"},"referencedDeclaration":3785,"src":"1028:28:0","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":68,"nodeType":"ArrayTypeName","src":"1028:30:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}}},"id":71,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1024:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"979:82:0"},{"expression":{"id":86,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":73,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65,"src":"1071:4:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"id":75,"indexExpression":{"hexValue":"30","id":74,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1076:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1071:7:0","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":77,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"1094:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":78,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1102:6:0","memberName":"SUPPLY","nodeType":"MemberAccess","referencedDeclaration":4615,"src":"1094:14:0","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},{"expression":{"id":79,"name":"KeyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"1110:12:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyValueType_$4624_$","typeString":"type(enum KeyHelper.KeyValueType)"}},"id":80,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1123:11:0","memberName":"CONTRACT_ID","nodeType":"MemberAccess","referencedDeclaration":4620,"src":"1110:24:0","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},{"arguments":[{"id":83,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1144:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_NFTContract_$313","typeString":"contract NFTContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NFTContract_$313","typeString":"contract NFTContract"}],"id":82,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1136:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":81,"name":"address","nodeType":"ElementaryTypeName","src":"1136:7:0","typeDescriptions":{}}},"id":84,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1136:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},{"typeIdentifier":"t_address","typeString":"address"}],"id":76,"name":"getSingleKey","nodeType":"Identifier","overloadedDeclarations":[4873,4901,4933],"referencedDeclaration":4901,"src":"1081:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_KeyType_$4618_$_t_enum$_KeyValueType_$4624_$_t_address_$returns$_t_struct$_TokenKey_$3785_memory_ptr_$","typeString":"function (enum KeyHelper.KeyType,enum KeyHelper.KeyValueType,address) view returns (struct IHederaTokenService.TokenKey memory)"}},"id":85,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1081:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"src":"1071:79:0","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"id":87,"nodeType":"ExpressionStatement","src":"1071:79:0"},{"assignments":[92],"declarations":[{"constant":false,"id":92,"mutability":"mutable","name":"token","nameLocation":"1200:5:0","nodeType":"VariableDeclaration","scope":178,"src":"1161:44:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":91,"nodeType":"UserDefinedTypeName","pathNode":{"id":90,"name":"IHederaTokenService.HederaToken","nameLocations":["1161:19:0","1181:11:0"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"1161:31:0"},"referencedDeclaration":3807,"src":"1161:31:0","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"}],"id":93,"nodeType":"VariableDeclarationStatement","src":"1161:44:0"},{"expression":{"id":98,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":94,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92,"src":"1215:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},"id":96,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1221:4:0","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":3787,"src":"1215:10:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":97,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45,"src":"1228:4:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1215:17:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":99,"nodeType":"ExpressionStatement","src":"1215:17:0"},{"expression":{"id":104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":100,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92,"src":"1242:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},"id":102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1248:6:0","memberName":"symbol","nodeType":"MemberAccess","referencedDeclaration":3789,"src":"1242:12:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":103,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"1257:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1242:21:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":105,"nodeType":"ExpressionStatement","src":"1242:21:0"},{"expression":{"id":110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":106,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92,"src":"1273:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},"id":108,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1279:4:0","memberName":"memo","nodeType":"MemberAccess","referencedDeclaration":3793,"src":"1273:10:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":109,"name":"memo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49,"src":"1286:4:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1273:17:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":111,"nodeType":"ExpressionStatement","src":"1273:17:0"},{"expression":{"id":119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":112,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92,"src":"1300:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},"id":114,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1306:8:0","memberName":"treasury","nodeType":"MemberAccess","referencedDeclaration":3791,"src":"1300:14:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":117,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1325:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_NFTContract_$313","typeString":"contract NFTContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NFTContract_$313","typeString":"contract NFTContract"}],"id":116,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1317:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":115,"name":"address","nodeType":"ElementaryTypeName","src":"1317:7:0","typeDescriptions":{}}},"id":118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1317:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1300:30:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":120,"nodeType":"ExpressionStatement","src":"1300:30:0"},{"expression":{"id":125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":121,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92,"src":"1340:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},"id":123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1346:15:0","memberName":"tokenSupplyType","nodeType":"MemberAccess","referencedDeclaration":3795,"src":"1340:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1364:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1340:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":126,"nodeType":"ExpressionStatement","src":"1340:28:0"},{"expression":{"id":131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":127,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92,"src":"1378:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},"id":129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1384:9:0","memberName":"maxSupply","nodeType":"MemberAccess","referencedDeclaration":3797,"src":"1378:15:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":130,"name":"maxSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51,"src":"1396:9:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"src":"1378:27:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":132,"nodeType":"ExpressionStatement","src":"1378:27:0"},{"expression":{"id":137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":133,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92,"src":"1415:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},"id":135,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1421:9:0","memberName":"tokenKeys","nodeType":"MemberAccess","referencedDeclaration":3803,"src":"1415:15:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":136,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":65,"src":"1433:4:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"src":"1415:22:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"id":138,"nodeType":"ExpressionStatement","src":"1415:22:0"},{"expression":{"id":143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":139,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92,"src":"1447:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},"id":141,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1453:13:0","memberName":"freezeDefault","nodeType":"MemberAccess","referencedDeclaration":3799,"src":"1447:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1469:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"1447:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":144,"nodeType":"ExpressionStatement","src":"1447:27:0"},{"expression":{"id":155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":145,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92,"src":"1484:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},"id":147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1490:6:0","memberName":"expiry","nodeType":"MemberAccess","referencedDeclaration":3806,"src":"1484:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":151,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1529:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_NFTContract_$313","typeString":"contract NFTContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NFTContract_$313","typeString":"contract NFTContract"}],"id":150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1521:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":149,"name":"address","nodeType":"ElementaryTypeName","src":"1521:7:0","typeDescriptions":{}}},"id":152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1521:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":153,"name":"autoRenewPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"1536:15:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int64","typeString":"int64"}],"id":148,"name":"createAutoRenewExpiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":340,"src":"1499:21:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_int64_$returns$_t_struct$_Expiry_$3768_memory_ptr_$","typeString":"function (address,int64) pure returns (struct IHederaTokenService.Expiry memory)"}},"id":154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1499:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}},"src":"1484:68:0","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}},"id":156,"nodeType":"ExpressionStatement","src":"1484:68:0"},{"assignments":[158,160],"declarations":[{"constant":false,"id":158,"mutability":"mutable","name":"responseCode","nameLocation":"1568:12:0","nodeType":"VariableDeclaration","scope":178,"src":"1564:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":157,"name":"int","nodeType":"ElementaryTypeName","src":"1564:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":160,"mutability":"mutable","name":"createdToken","nameLocation":"1590:12:0","nodeType":"VariableDeclaration","scope":178,"src":"1582:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":159,"name":"address","nodeType":"ElementaryTypeName","src":"1582:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":165,"initialValue":{"arguments":[{"id":163,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92,"src":"1648:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}],"expression":{"id":161,"name":"HederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3726,"src":"1606:18:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaTokenService_$3726_$","typeString":"type(contract HederaTokenService)"}},"id":162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1625:22:0","memberName":"createNonFungibleToken","nodeType":"MemberAccess","referencedDeclaration":1791,"src":"1606:41:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_HederaToken_$3807_memory_ptr_$returns$_t_int256_$_t_address_$","typeString":"function (struct IHederaTokenService.HederaToken memory) returns (int256,address)"}},"id":164,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1606:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_address_$","typeString":"tuple(int256,address)"}},"nodeType":"VariableDeclarationStatement","src":"1563:91:0"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":166,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":158,"src":"1668:12:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":167,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"1684:19:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1704:7:0","memberName":"SUCCESS","nodeType":"MemberAccess","referencedDeclaration":427,"src":"1684:27:0","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"1668:43:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":175,"nodeType":"IfStatement","src":"1665:117:0","trueBody":{"id":174,"nodeType":"Block","src":"1712:70:0","statements":[{"expression":{"arguments":[{"hexValue":"4661696c656420746f20637265617465206e6f6e2d66756e6769626c6520746f6b656e","id":171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1733:37:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b","typeString":"literal_string \"Failed to create non-fungible token\""},"value":"Failed to create non-fungible token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b","typeString":"literal_string \"Failed to create non-fungible token\""}],"id":170,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1726:6:0","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1726:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":173,"nodeType":"ExpressionStatement","src":"1726:45:0"}]}},{"expression":{"id":176,"name":"createdToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":160,"src":"1798:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":59,"id":177,"nodeType":"Return","src":"1791:19:0"}]},"functionSelector":"b6c907a6","id":179,"implemented":true,"kind":"function","modifiers":[{"id":56,"kind":"modifierInvocation","modifierName":{"id":55,"name":"onlyOwner","nameLocations":["941:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":43,"src":"941:9:0"},"nodeType":"ModifierInvocation","src":"941:9:0"}],"name":"createNft","nameLocation":"766:9:0","nodeType":"FunctionDefinition","parameters":{"id":54,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45,"mutability":"mutable","name":"name","nameLocation":"799:4:0","nodeType":"VariableDeclaration","scope":179,"src":"785:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44,"name":"string","nodeType":"ElementaryTypeName","src":"785:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47,"mutability":"mutable","name":"symbol","nameLocation":"827:6:0","nodeType":"VariableDeclaration","scope":179,"src":"813:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46,"name":"string","nodeType":"ElementaryTypeName","src":"813:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49,"mutability":"mutable","name":"memo","nameLocation":"857:4:0","nodeType":"VariableDeclaration","scope":179,"src":"843:18:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48,"name":"string","nodeType":"ElementaryTypeName","src":"843:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":51,"mutability":"mutable","name":"maxSupply","nameLocation":"877:9:0","nodeType":"VariableDeclaration","scope":179,"src":"871:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":50,"name":"int64","nodeType":"ElementaryTypeName","src":"871:5:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":53,"mutability":"mutable","name":"autoRenewPeriod","nameLocation":"902:15:0","nodeType":"VariableDeclaration","scope":179,"src":"896:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":52,"name":"int64","nodeType":"ElementaryTypeName","src":"896:5:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"775:148:0"},"returnParameters":{"id":59,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":179,"src":"960:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57,"name":"address","nodeType":"ElementaryTypeName","src":"960:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"959:9:0"},"scope":313,"src":"757:1060:0","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":227,"nodeType":"Block","src":"1975:363:0","statements":[{"assignments":[194,null,197],"declarations":[{"constant":false,"id":194,"mutability":"mutable","name":"response","nameLocation":"1990:8:0","nodeType":"VariableDeclaration","scope":227,"src":"1986:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":193,"name":"int","nodeType":"ElementaryTypeName","src":"1986:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},null,{"constant":false,"id":197,"mutability":"mutable","name":"serial","nameLocation":"2017:6:0","nodeType":"VariableDeclaration","scope":227,"src":"2002:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[]"},"typeName":{"baseType":{"id":195,"name":"int64","nodeType":"ElementaryTypeName","src":"2002:5:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":196,"nodeType":"ArrayTypeName","src":"2002:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}},"visibility":"internal"}],"id":204,"initialValue":{"arguments":[{"id":200,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181,"src":"2056:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2063:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":202,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"2066:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":198,"name":"HederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3726,"src":"2027:18:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaTokenService_$3726_$","typeString":"type(contract HederaTokenService)"}},"id":199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2046:9:0","memberName":"mintToken","nodeType":"MemberAccess","referencedDeclaration":1381,"src":"2027:28:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_int64_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_int256_$_t_int64_$_t_array$_t_int64_$dyn_memory_ptr_$","typeString":"function (address,int64,bytes memory[] memory) returns (int256,int64,int64[] memory)"}},"id":203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2027:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_int64_$_t_array$_t_int64_$dyn_memory_ptr_$","typeString":"tuple(int256,int64,int64[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"1985:90:0"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":205,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":194,"src":"2089:8:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":206,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"2101:19:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":207,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2121:7:0","memberName":"SUCCESS","nodeType":"MemberAccess","referencedDeclaration":427,"src":"2101:27:0","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"2089:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":214,"nodeType":"IfStatement","src":"2086:111:0","trueBody":{"id":213,"nodeType":"Block","src":"2129:68:0","statements":[{"expression":{"arguments":[{"hexValue":"4661696c656420746f206d696e74206e6f6e2d66756e6769626c6520746f6b656e","id":210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2150:35:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4","typeString":"literal_string \"Failed to mint non-fungible token\""},"value":"Failed to mint non-fungible token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4","typeString":"literal_string \"Failed to mint non-fungible token\""}],"id":209,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2143:6:0","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2143:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":212,"nodeType":"ExpressionStatement","src":"2143:43:0"}]}},{"expression":{"id":221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":215,"name":"nftClaimRights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18,"src":"2262:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int64_$_t_address_$","typeString":"mapping(int64 => address)"}},"id":219,"indexExpression":{"baseExpression":{"id":216,"name":"serial","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":197,"src":"2277:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[] memory"}},"id":218,"indexExpression":{"hexValue":"30","id":217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2284:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2277:9:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2262:25:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":220,"name":"allowedClaimer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186,"src":"2290:14:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2262:42:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":222,"nodeType":"ExpressionStatement","src":"2262:42:0"},{"expression":{"baseExpression":{"id":223,"name":"serial","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":197,"src":"2322:6:0","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[] memory"}},"id":225,"indexExpression":{"hexValue":"30","id":224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2329:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2322:9:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"functionReturnParameters":192,"id":226,"nodeType":"Return","src":"2315:16:0"}]},"functionSelector":"e0a6ad65","id":228,"implemented":true,"kind":"function","modifiers":[{"id":189,"kind":"modifierInvocation","modifierName":{"id":188,"name":"onlyOwner","nameLocations":["1950:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":43,"src":"1950:9:0"},"nodeType":"ModifierInvocation","src":"1950:9:0"}],"name":"mintNftForUser","nameLocation":"1832:14:0","nodeType":"FunctionDefinition","parameters":{"id":187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":181,"mutability":"mutable","name":"token","nameLocation":"1864:5:0","nodeType":"VariableDeclaration","scope":228,"src":"1856:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":180,"name":"address","nodeType":"ElementaryTypeName","src":"1856:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":184,"mutability":"mutable","name":"metadata","nameLocation":"1894:8:0","nodeType":"VariableDeclaration","scope":228,"src":"1879:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":182,"name":"bytes","nodeType":"ElementaryTypeName","src":"1879:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":183,"nodeType":"ArrayTypeName","src":"1879:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":186,"mutability":"mutable","name":"allowedClaimer","nameLocation":"1920:14:0","nodeType":"VariableDeclaration","scope":228,"src":"1912:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":185,"name":"address","nodeType":"ElementaryTypeName","src":"1912:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1846:94:0"},"returnParameters":{"id":192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":191,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":228,"src":"1968:5:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":190,"name":"int64","nodeType":"ElementaryTypeName","src":"1968:5:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"1967:7:0"},"scope":313,"src":"1823:515:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":287,"nodeType":"Block","src":"2435:609:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":238,"name":"nftClaimRights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18,"src":"2520:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int64_$_t_address_$","typeString":"mapping(int64 => address)"}},"id":240,"indexExpression":{"id":239,"name":"serial","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"2535:6:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2520:22:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":241,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2546:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2550:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2546:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2520:36:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"596f7520617265206e6f7420617574686f72697a656420746f20636c61696d2074686973204e4654","id":244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2558:42:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0","typeString":"literal_string \"You are not authorized to claim this NFT\""},"value":"You are not authorized to claim this NFT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0","typeString":"literal_string \"You are not authorized to claim this NFT\""}],"id":237,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2512:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2512:89:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":246,"nodeType":"ExpressionStatement","src":"2512:89:0"},{"expression":{"arguments":[{"id":251,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2671:16:0","subExpression":{"baseExpression":{"id":248,"name":"claimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22,"src":"2672:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int64_$_t_bool_$","typeString":"mapping(int64 => bool)"}},"id":250,"indexExpression":{"id":249,"name":"serial","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"2680:6:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2672:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e46542068617320616c7265616479206265656e20636c61696d6564","id":252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2689:30:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf","typeString":"literal_string \"NFT has already been claimed\""},"value":"NFT has already been claimed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf","typeString":"literal_string \"NFT has already been claimed\""}],"id":247,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2663:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2663:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":254,"nodeType":"ExpressionStatement","src":"2663:57:0"},{"assignments":[256],"declarations":[{"constant":false,"id":256,"mutability":"mutable","name":"response","nameLocation":"2735:8:0","nodeType":"VariableDeclaration","scope":287,"src":"2731:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":255,"name":"int","nodeType":"ElementaryTypeName","src":"2731:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"id":268,"initialValue":{"arguments":[{"id":259,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":230,"src":"2777:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":262,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2792:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_NFTContract_$313","typeString":"contract NFTContract"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_NFTContract_$313","typeString":"contract NFTContract"}],"id":261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2784:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":260,"name":"address","nodeType":"ElementaryTypeName","src":"2784:7:0","typeDescriptions":{}}},"id":263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2784:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":264,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2799:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2803:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2799:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":266,"name":"serial","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"2811:6:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int64","typeString":"int64"}],"expression":{"id":257,"name":"HederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3726,"src":"2746:18:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaTokenService_$3726_$","typeString":"type(contract HederaTokenService)"}},"id":258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2765:11:0","memberName":"transferNFT","nodeType":"MemberAccess","referencedDeclaration":3037,"src":"2746:30:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_int64_$returns$_t_int256_$","typeString":"function (address,address,address,int64) returns (int256)"}},"id":267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2746:72:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"VariableDeclarationStatement","src":"2731:87:0"},{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":269,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":256,"src":"2832:8:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":270,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"2844:19:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2864:7:0","memberName":"SUCCESS","nodeType":"MemberAccess","referencedDeclaration":427,"src":"2844:27:0","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"2832:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":278,"nodeType":"IfStatement","src":"2829:115:0","trueBody":{"id":277,"nodeType":"Block","src":"2872:72:0","statements":[{"expression":{"arguments":[{"hexValue":"4661696c656420746f207472616e73666572206e6f6e2d66756e6769626c6520746f6b656e","id":274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2893:39:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272","typeString":"literal_string \"Failed to transfer non-fungible token\""},"value":"Failed to transfer non-fungible token"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272","typeString":"literal_string \"Failed to transfer non-fungible token\""}],"id":273,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"2886:6:0","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2886:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":276,"nodeType":"ExpressionStatement","src":"2886:47:0"}]}},{"expression":{"id":283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":279,"name":"claimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22,"src":"2989:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int64_$_t_bool_$","typeString":"mapping(int64 => bool)"}},"id":281,"indexExpression":{"id":280,"name":"serial","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":232,"src":"2997:6:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2989:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3007:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2989:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":284,"nodeType":"ExpressionStatement","src":"2989:22:0"},{"expression":{"id":285,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":256,"src":"3029:8:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":236,"id":286,"nodeType":"Return","src":"3022:15:0"}]},"functionSelector":"f1d9d8df","id":288,"implemented":true,"kind":"function","modifiers":[],"name":"claimNft","nameLocation":"2353:8:0","nodeType":"FunctionDefinition","parameters":{"id":233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":230,"mutability":"mutable","name":"token","nameLocation":"2379:5:0","nodeType":"VariableDeclaration","scope":288,"src":"2371:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":229,"name":"address","nodeType":"ElementaryTypeName","src":"2371:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":232,"mutability":"mutable","name":"serial","nameLocation":"2400:6:0","nodeType":"VariableDeclaration","scope":288,"src":"2394:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":231,"name":"int64","nodeType":"ElementaryTypeName","src":"2394:5:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"2361:51:0"},"returnParameters":{"id":236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":235,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":288,"src":"2430:3:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":234,"name":"int","nodeType":"ElementaryTypeName","src":"2430:3:0","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2429:5:0"},"scope":313,"src":"2344:700:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":299,"nodeType":"Block","src":"3165:46:0","statements":[{"expression":{"baseExpression":{"id":295,"name":"nftClaimRights","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":18,"src":"3182:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int64_$_t_address_$","typeString":"mapping(int64 => address)"}},"id":297,"indexExpression":{"id":296,"name":"serial","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":290,"src":"3197:6:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3182:22:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":294,"id":298,"nodeType":"Return","src":"3175:29:0"}]},"functionSelector":"c985c652","id":300,"implemented":true,"kind":"function","modifiers":[],"name":"getClaimerAddress","nameLocation":"3101:17:0","nodeType":"FunctionDefinition","parameters":{"id":291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":290,"mutability":"mutable","name":"serial","nameLocation":"3125:6:0","nodeType":"VariableDeclaration","scope":300,"src":"3119:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":289,"name":"int64","nodeType":"ElementaryTypeName","src":"3119:5:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"3118:14:0"},"returnParameters":{"id":294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":293,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":300,"src":"3156:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":292,"name":"address","nodeType":"ElementaryTypeName","src":"3156:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3155:9:0"},"scope":313,"src":"3092:119:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":311,"nodeType":"Block","src":"3282:39:0","statements":[{"expression":{"baseExpression":{"id":307,"name":"claimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":22,"src":"3299:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_int64_$_t_bool_$","typeString":"mapping(int64 => bool)"}},"id":309,"indexExpression":{"id":308,"name":"serial","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":302,"src":"3307:6:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3299:15:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":306,"id":310,"nodeType":"Return","src":"3292:22:0"}]},"functionSelector":"836993e2","id":312,"implemented":true,"kind":"function","modifiers":[],"name":"isNftClaimed","nameLocation":"3226:12:0","nodeType":"FunctionDefinition","parameters":{"id":303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":302,"mutability":"mutable","name":"serial","nameLocation":"3245:6:0","nodeType":"VariableDeclaration","scope":312,"src":"3239:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":301,"name":"int64","nodeType":"ElementaryTypeName","src":"3239:5:0","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"3238:14:0"},"returnParameters":{"id":306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":312,"src":"3276:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":304,"name":"bool","nodeType":"ElementaryTypeName","src":"3276:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3275:6:0"},"scope":313,"src":"3217:104:0","stateMutability":"view","virtual":false,"visibility":"external"}],"scope":314,"src":"262:3061:0","usedErrors":[]}],"src":"36:3287:0"},"id":0},"contracts/utils/ExpiryHelper.sol":{"ast":{"absolutePath":"contracts/utils/ExpiryHelper.sol","exportedSymbols":{"ExpiryHelper":[356],"HederaResponseCodes":[1220],"HederaTokenService":[3726],"IHederaTokenService":[4596]},"id":357,"license":"Apache-2.0","nodeType":"SourceUnit","nodes":[{"id":315,"literals":["solidity",">=","0.5",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"39:31:1"},{"id":316,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"71:33:1"},{"absolutePath":"contracts/utils/HederaTokenService.sol","file":"./HederaTokenService.sol","id":317,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":357,"sourceUnit":3727,"src":"106:34:1","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"ExpiryHelper","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":356,"linearizedBaseContracts":[356],"name":"ExpiryHelper","nameLocation":"160:12:1","nodeType":"ContractDefinition","nodes":[{"body":{"id":339,"nodeType":"Block","src":"347:109:1","statements":[{"expression":{"id":331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":327,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":325,"src":"357:6:1","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}},"id":329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"364:16:1","memberName":"autoRenewAccount","nodeType":"MemberAccess","referencedDeclaration":3765,"src":"357:23:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":330,"name":"autoRenewAccount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":319,"src":"383:16:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"357:42:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":332,"nodeType":"ExpressionStatement","src":"357:42:1"},{"expression":{"id":337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":333,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":325,"src":"409:6:1","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}},"id":335,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"416:15:1","memberName":"autoRenewPeriod","nodeType":"MemberAccess","referencedDeclaration":3767,"src":"409:22:1","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":336,"name":"autoRenewPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":321,"src":"434:15:1","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"src":"409:40:1","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":338,"nodeType":"ExpressionStatement","src":"409:40:1"}]},"id":340,"implemented":true,"kind":"function","modifiers":[],"name":"createAutoRenewExpiry","nameLocation":"189:21:1","nodeType":"FunctionDefinition","parameters":{"id":322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":319,"mutability":"mutable","name":"autoRenewAccount","nameLocation":"228:16:1","nodeType":"VariableDeclaration","scope":340,"src":"220:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":318,"name":"address","nodeType":"ElementaryTypeName","src":"220:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":321,"mutability":"mutable","name":"autoRenewPeriod","nameLocation":"260:15:1","nodeType":"VariableDeclaration","scope":340,"src":"254:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":320,"name":"int64","nodeType":"ElementaryTypeName","src":"254:5:1","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"210:71:1"},"returnParameters":{"id":326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":325,"mutability":"mutable","name":"expiry","nameLocation":"339:6:1","nodeType":"VariableDeclaration","scope":340,"src":"305:40:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry"},"typeName":{"id":324,"nodeType":"UserDefinedTypeName","pathNode":{"id":323,"name":"IHederaTokenService.Expiry","nameLocations":["305:19:1","325:6:1"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"305:26:1"},"referencedDeclaration":3768,"src":"305:26:1","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_storage_ptr","typeString":"struct IHederaTokenService.Expiry"}},"visibility":"internal"}],"src":"304:42:1"},"scope":356,"src":"180:276:1","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":354,"nodeType":"Block","src":"569:39:1","statements":[{"expression":{"id":352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":348,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":346,"src":"579:6:1","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}},"id":350,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"586:6:1","memberName":"second","nodeType":"MemberAccess","referencedDeclaration":3763,"src":"579:13:1","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":351,"name":"second","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":342,"src":"595:6:1","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"src":"579:22:1","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":353,"nodeType":"ExpressionStatement","src":"579:22:1"}]},"id":355,"implemented":true,"kind":"function","modifiers":[],"name":"createSecondExpiry","nameLocation":"471:18:1","nodeType":"FunctionDefinition","parameters":{"id":343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":342,"mutability":"mutable","name":"second","nameLocation":"496:6:1","nodeType":"VariableDeclaration","scope":355,"src":"490:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":341,"name":"int64","nodeType":"ElementaryTypeName","src":"490:5:1","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"489:14:1"},"returnParameters":{"id":347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":346,"mutability":"mutable","name":"expiry","nameLocation":"561:6:1","nodeType":"VariableDeclaration","scope":355,"src":"527:40:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry"},"typeName":{"id":345,"nodeType":"UserDefinedTypeName","pathNode":{"id":344,"name":"IHederaTokenService.Expiry","nameLocations":["527:19:1","547:6:1"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"527:26:1"},"referencedDeclaration":3768,"src":"527:26:1","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_storage_ptr","typeString":"struct IHederaTokenService.Expiry"}},"visibility":"internal"}],"src":"526:42:1"},"scope":356,"src":"462:146:1","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":357,"src":"142:468:1","usedErrors":[]}],"src":"39:571:1"},"id":1},"contracts/utils/HederaResponseCodes.sol":{"ast":{"absolutePath":"contracts/utils/HederaResponseCodes.sol","exportedSymbols":{"HederaResponseCodes":[1220]},"id":1221,"license":"Apache-2.0","nodeType":"SourceUnit","nodes":[{"id":358,"literals":["solidity",">=","0.4",".9","<","0.9",".0"],"nodeType":"PragmaDirective","src":"39:31:2"},{"abstract":false,"baseContracts":[],"canonicalName":"HederaResponseCodes","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":1220,"linearizedBaseContracts":[1220],"name":"HederaResponseCodes","nameLocation":"80:19:2","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":361,"mutability":"constant","name":"OK","nameLocation":"153:2:2","nodeType":"VariableDeclaration","scope":1220,"src":"129:30:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":359,"name":"int32","nodeType":"ElementaryTypeName","src":"129:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"30","id":360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"158:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"internal"},{"constant":true,"id":364,"mutability":"constant","name":"INVALID_TRANSACTION","nameLocation":"241:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"217:47:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":362,"name":"int32","nodeType":"ElementaryTypeName","src":"217:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"31","id":363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"263:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"internal"},{"constant":true,"id":367,"mutability":"constant","name":"PAYER_ACCOUNT_NOT_FOUND","nameLocation":"361:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"337:51:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":365,"name":"int32","nodeType":"ElementaryTypeName","src":"337:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"32","id":366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"387:1:2","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"internal"},{"constant":true,"id":370,"mutability":"constant","name":"INVALID_NODE_ACCOUNT","nameLocation":"450:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"426:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":368,"name":"int32","nodeType":"ElementaryTypeName","src":"426:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"33","id":369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"473:1:2","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"internal"},{"constant":true,"id":373,"mutability":"constant","name":"TRANSACTION_EXPIRED","nameLocation":"606:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"582:47:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":371,"name":"int32","nodeType":"ElementaryTypeName","src":"582:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"34","id":372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"628:1:2","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"visibility":"internal"},{"constant":true,"id":376,"mutability":"constant","name":"INVALID_TRANSACTION_START","nameLocation":"769:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"745:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":374,"name":"int32","nodeType":"ElementaryTypeName","src":"745:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"35","id":375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"797:1:2","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"visibility":"internal"},{"constant":true,"id":379,"mutability":"constant","name":"INVALID_TRANSACTION_DURATION","nameLocation":"893:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"869:56:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":377,"name":"int32","nodeType":"ElementaryTypeName","src":"869:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"36","id":378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"924:1:2","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"visibility":"internal"},{"constant":true,"id":382,"mutability":"constant","name":"INVALID_SIGNATURE","nameLocation":"1047:17:2","nodeType":"VariableDeclaration","scope":1220,"src":"1023:45:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":380,"name":"int32","nodeType":"ElementaryTypeName","src":"1023:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"37","id":381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1067:1:2","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"visibility":"internal"},{"constant":true,"id":385,"mutability":"constant","name":"MEMO_TOO_LONG","nameLocation":"1140:13:2","nodeType":"VariableDeclaration","scope":1220,"src":"1116:41:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":383,"name":"int32","nodeType":"ElementaryTypeName","src":"1116:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"38","id":384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1156:1:2","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"visibility":"internal"},{"constant":true,"id":388,"mutability":"constant","name":"INSUFFICIENT_TX_FEE","nameLocation":"1230:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"1206:47:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":386,"name":"int32","nodeType":"ElementaryTypeName","src":"1206:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"39","id":387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1252:1:2","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},"visibility":"internal"},{"constant":true,"id":391,"mutability":"constant","name":"INSUFFICIENT_PAYER_BALANCE","nameLocation":"1367:26:2","nodeType":"VariableDeclaration","scope":1220,"src":"1343:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":389,"name":"int32","nodeType":"ElementaryTypeName","src":"1343:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3130","id":390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1396:2:2","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"internal"},{"constant":true,"id":394,"mutability":"constant","name":"DUPLICATE_TRANSACTION","nameLocation":"1508:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"1484:50:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":392,"name":"int32","nodeType":"ElementaryTypeName","src":"1484:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3131","id":393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1532:2:2","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"visibility":"internal"},{"constant":true,"id":397,"mutability":"constant","name":"BUSY","nameLocation":"1703:4:2","nodeType":"VariableDeclaration","scope":1220,"src":"1679:33:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":395,"name":"int32","nodeType":"ElementaryTypeName","src":"1679:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3132","id":396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1710:2:2","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},"visibility":"internal"},{"constant":true,"id":400,"mutability":"constant","name":"NOT_SUPPORTED","nameLocation":"1768:13:2","nodeType":"VariableDeclaration","scope":1220,"src":"1744:42:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":398,"name":"int32","nodeType":"ElementaryTypeName","src":"1744:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3133","id":399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1784:2:2","typeDescriptions":{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},"value":"13"},"visibility":"internal"},{"constant":true,"id":403,"mutability":"constant","name":"INVALID_FILE_ID","nameLocation":"1854:15:2","nodeType":"VariableDeclaration","scope":1220,"src":"1830:44:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":401,"name":"int32","nodeType":"ElementaryTypeName","src":"1830:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3134","id":402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1872:2:2","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},"visibility":"internal"},{"constant":true,"id":406,"mutability":"constant","name":"INVALID_ACCOUNT_ID","nameLocation":"1947:18:2","nodeType":"VariableDeclaration","scope":1220,"src":"1923:47:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":404,"name":"int32","nodeType":"ElementaryTypeName","src":"1923:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3135","id":405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1968:2:2","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"visibility":"internal"},{"constant":true,"id":409,"mutability":"constant","name":"INVALID_CONTRACT_ID","nameLocation":"2046:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"2022:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":407,"name":"int32","nodeType":"ElementaryTypeName","src":"2022:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3136","id":408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2068:2:2","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"visibility":"internal"},{"constant":true,"id":412,"mutability":"constant","name":"INVALID_TRANSACTION_ID","nameLocation":"2147:22:2","nodeType":"VariableDeclaration","scope":1220,"src":"2123:51:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":410,"name":"int32","nodeType":"ElementaryTypeName","src":"2123:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3137","id":411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2172:2:2","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"17"},"visibility":"internal"},{"constant":true,"id":415,"mutability":"constant","name":"RECEIPT_NOT_FOUND","nameLocation":"2234:17:2","nodeType":"VariableDeclaration","scope":1220,"src":"2210:46:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":413,"name":"int32","nodeType":"ElementaryTypeName","src":"2210:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3138","id":414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2254:2:2","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"visibility":"internal"},{"constant":true,"id":418,"mutability":"constant","name":"RECORD_NOT_FOUND","nameLocation":"2336:16:2","nodeType":"VariableDeclaration","scope":1220,"src":"2312:45:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":416,"name":"int32","nodeType":"ElementaryTypeName","src":"2312:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3139","id":417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2355:2:2","typeDescriptions":{"typeIdentifier":"t_rational_19_by_1","typeString":"int_const 19"},"value":"19"},"visibility":"internal"},{"constant":true,"id":421,"mutability":"constant","name":"INVALID_SOLIDITY_ID","nameLocation":"2436:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"2412:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":419,"name":"int32","nodeType":"ElementaryTypeName","src":"2412:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3230","id":420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2458:2:2","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"internal"},{"constant":true,"id":424,"mutability":"constant","name":"UNKNOWN","nameLocation":"2567:7:2","nodeType":"VariableDeclaration","scope":1220,"src":"2543:36:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":422,"name":"int32","nodeType":"ElementaryTypeName","src":"2543:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3231","id":423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2577:2:2","typeDescriptions":{"typeIdentifier":"t_rational_21_by_1","typeString":"int_const 21"},"value":"21"},"visibility":"internal"},{"constant":true,"id":427,"mutability":"constant","name":"SUCCESS","nameLocation":"2713:7:2","nodeType":"VariableDeclaration","scope":1220,"src":"2689:36:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":425,"name":"int32","nodeType":"ElementaryTypeName","src":"2689:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3232","id":426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2723:2:2","typeDescriptions":{"typeIdentifier":"t_rational_22_by_1","typeString":"int_const 22"},"value":"22"},"visibility":"internal"},{"constant":true,"id":430,"mutability":"constant","name":"FAIL_INVALID","nameLocation":"2784:12:2","nodeType":"VariableDeclaration","scope":1220,"src":"2760:41:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":428,"name":"int32","nodeType":"ElementaryTypeName","src":"2760:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3233","id":429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2799:2:2","typeDescriptions":{"typeIdentifier":"t_rational_23_by_1","typeString":"int_const 23"},"value":"23"},"visibility":"internal"},{"constant":true,"id":433,"mutability":"constant","name":"FAIL_FEE","nameLocation":"2925:8:2","nodeType":"VariableDeclaration","scope":1220,"src":"2901:37:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":431,"name":"int32","nodeType":"ElementaryTypeName","src":"2901:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3234","id":432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2936:2:2","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},"visibility":"internal"},{"constant":true,"id":436,"mutability":"constant","name":"FAIL_BALANCE","nameLocation":"3051:12:2","nodeType":"VariableDeclaration","scope":1220,"src":"3027:41:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":434,"name":"int32","nodeType":"ElementaryTypeName","src":"3027:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3235","id":435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3066:2:2","typeDescriptions":{"typeIdentifier":"t_rational_25_by_1","typeString":"int_const 25"},"value":"25"},"visibility":"internal"},{"constant":true,"id":439,"mutability":"constant","name":"KEY_REQUIRED","nameLocation":"3181:12:2","nodeType":"VariableDeclaration","scope":1220,"src":"3157:41:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":437,"name":"int32","nodeType":"ElementaryTypeName","src":"3157:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3236","id":438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3196:2:2","typeDescriptions":{"typeIdentifier":"t_rational_26_by_1","typeString":"int_const 26"},"value":"26"},"visibility":"internal"},{"constant":true,"id":442,"mutability":"constant","name":"BAD_ENCODING","nameLocation":"3271:12:2","nodeType":"VariableDeclaration","scope":1220,"src":"3247:41:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":440,"name":"int32","nodeType":"ElementaryTypeName","src":"3247:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3237","id":441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3286:2:2","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"visibility":"internal"},{"constant":true,"id":445,"mutability":"constant","name":"INSUFFICIENT_ACCOUNT_BALANCE","nameLocation":"3384:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"3360:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":443,"name":"int32","nodeType":"ElementaryTypeName","src":"3360:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3238","id":444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3415:2:2","typeDescriptions":{"typeIdentifier":"t_rational_28_by_1","typeString":"int_const 28"},"value":"28"},"visibility":"internal"},{"constant":true,"id":448,"mutability":"constant","name":"INVALID_SOLIDITY_ADDRESS","nameLocation":"3509:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"3485:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":446,"name":"int32","nodeType":"ElementaryTypeName","src":"3485:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3239","id":447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3536:2:2","typeDescriptions":{"typeIdentifier":"t_rational_29_by_1","typeString":"int_const 29"},"value":"29"},"visibility":"internal"},{"constant":true,"id":451,"mutability":"constant","name":"INSUFFICIENT_GAS","nameLocation":"3663:16:2","nodeType":"VariableDeclaration","scope":1220,"src":"3639:45:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":449,"name":"int32","nodeType":"ElementaryTypeName","src":"3639:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3330","id":450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3682:2:2","typeDescriptions":{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},"value":"30"},"visibility":"internal"},{"constant":true,"id":454,"mutability":"constant","name":"CONTRACT_SIZE_LIMIT_EXCEEDED","nameLocation":"3767:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"3743:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":452,"name":"int32","nodeType":"ElementaryTypeName","src":"3743:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3331","id":453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3798:2:2","typeDescriptions":{"typeIdentifier":"t_rational_31_by_1","typeString":"int_const 31"},"value":"31"},"visibility":"internal"},{"constant":true,"id":457,"mutability":"constant","name":"LOCAL_CALL_MODIFICATION_EXCEPTION","nameLocation":"3874:33:2","nodeType":"VariableDeclaration","scope":1220,"src":"3850:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":455,"name":"int32","nodeType":"ElementaryTypeName","src":"3850:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3332","id":456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3910:2:2","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"visibility":"internal"},{"constant":true,"id":460,"mutability":"constant","name":"CONTRACT_REVERT_EXECUTED","nameLocation":"4016:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"3992:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":458,"name":"int32","nodeType":"ElementaryTypeName","src":"3992:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3333","id":459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4043:2:2","typeDescriptions":{"typeIdentifier":"t_rational_33_by_1","typeString":"int_const 33"},"value":"33"},"visibility":"internal"},{"constant":true,"id":463,"mutability":"constant","name":"CONTRACT_EXECUTION_EXCEPTION","nameLocation":"4109:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"4085:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":461,"name":"int32","nodeType":"ElementaryTypeName","src":"4085:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3334","id":462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4140:2:2","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"34"},"visibility":"internal"},{"constant":true,"id":466,"mutability":"constant","name":"INVALID_RECEIVING_NODE_ACCOUNT","nameLocation":"4265:30:2","nodeType":"VariableDeclaration","scope":1220,"src":"4241:59:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":464,"name":"int32","nodeType":"ElementaryTypeName","src":"4241:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3335","id":465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4298:2:2","typeDescriptions":{"typeIdentifier":"t_rational_35_by_1","typeString":"int_const 35"},"value":"35"},"visibility":"internal"},{"constant":true,"id":469,"mutability":"constant","name":"MISSING_QUERY_HEADER","nameLocation":"4478:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"4454:49:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":467,"name":"int32","nodeType":"ElementaryTypeName","src":"4454:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3336","id":468,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4501:2:2","typeDescriptions":{"typeIdentifier":"t_rational_36_by_1","typeString":"int_const 36"},"value":"36"},"visibility":"internal"},{"constant":true,"id":472,"mutability":"constant","name":"ACCOUNT_UPDATE_FAILED","nameLocation":"4572:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"4548:50:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":470,"name":"int32","nodeType":"ElementaryTypeName","src":"4548:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3337","id":471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4596:2:2","typeDescriptions":{"typeIdentifier":"t_rational_37_by_1","typeString":"int_const 37"},"value":"37"},"visibility":"internal"},{"constant":true,"id":475,"mutability":"constant","name":"INVALID_KEY_ENCODING","nameLocation":"4664:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"4640:49:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":473,"name":"int32","nodeType":"ElementaryTypeName","src":"4640:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3338","id":474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4687:2:2","typeDescriptions":{"typeIdentifier":"t_rational_38_by_1","typeString":"int_const 38"},"value":"38"},"visibility":"internal"},{"constant":true,"id":478,"mutability":"constant","name":"NULL_SOLIDITY_ADDRESS","nameLocation":"4776:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"4752:50:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":476,"name":"int32","nodeType":"ElementaryTypeName","src":"4752:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3339","id":477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4800:2:2","typeDescriptions":{"typeIdentifier":"t_rational_39_by_1","typeString":"int_const 39"},"value":"39"},"visibility":"internal"},{"constant":true,"id":481,"mutability":"constant","name":"CONTRACT_UPDATE_FAILED","nameLocation":"4858:22:2","nodeType":"VariableDeclaration","scope":1220,"src":"4834:51:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":479,"name":"int32","nodeType":"ElementaryTypeName","src":"4834:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3430","id":480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4883:2:2","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"visibility":"internal"},{"constant":true,"id":484,"mutability":"constant","name":"INVALID_QUERY_HEADER","nameLocation":"4948:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"4924:49:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":482,"name":"int32","nodeType":"ElementaryTypeName","src":"4924:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3431","id":483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4971:2:2","typeDescriptions":{"typeIdentifier":"t_rational_41_by_1","typeString":"int_const 41"},"value":"41"},"visibility":"internal"},{"constant":true,"id":487,"mutability":"constant","name":"INVALID_FEE_SUBMITTED","nameLocation":"5035:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"5011:50:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":485,"name":"int32","nodeType":"ElementaryTypeName","src":"5011:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3432","id":486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5059:2:2","typeDescriptions":{"typeIdentifier":"t_rational_42_by_1","typeString":"int_const 42"},"value":"42"},"visibility":"internal"},{"constant":true,"id":490,"mutability":"constant","name":"INVALID_PAYER_SIGNATURE","nameLocation":"5116:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"5092:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":488,"name":"int32","nodeType":"ElementaryTypeName","src":"5092:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3433","id":489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5142:2:2","typeDescriptions":{"typeIdentifier":"t_rational_43_by_1","typeString":"int_const 43"},"value":"43"},"visibility":"internal"},{"constant":true,"id":493,"mutability":"constant","name":"KEY_NOT_PROVIDED","nameLocation":"5205:16:2","nodeType":"VariableDeclaration","scope":1220,"src":"5181:45:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":491,"name":"int32","nodeType":"ElementaryTypeName","src":"5181:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3434","id":492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5224:2:2","typeDescriptions":{"typeIdentifier":"t_rational_44_by_1","typeString":"int_const 44"},"value":"44"},"visibility":"internal"},{"constant":true,"id":496,"mutability":"constant","name":"INVALID_EXPIRATION_TIME","nameLocation":"5302:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"5278:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":494,"name":"int32","nodeType":"ElementaryTypeName","src":"5278:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3435","id":495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5328:2:2","typeDescriptions":{"typeIdentifier":"t_rational_45_by_1","typeString":"int_const 45"},"value":"45"},"visibility":"internal"},{"constant":true,"id":499,"mutability":"constant","name":"NO_WACL_KEY","nameLocation":"5420:11:2","nodeType":"VariableDeclaration","scope":1220,"src":"5396:40:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":497,"name":"int32","nodeType":"ElementaryTypeName","src":"5396:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3436","id":498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5434:2:2","typeDescriptions":{"typeIdentifier":"t_rational_46_by_1","typeString":"int_const 46"},"value":"46"},"visibility":"internal"},{"constant":true,"id":502,"mutability":"constant","name":"FILE_CONTENT_EMPTY","nameLocation":"5523:18:2","nodeType":"VariableDeclaration","scope":1220,"src":"5499:47:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":500,"name":"int32","nodeType":"ElementaryTypeName","src":"5499:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3437","id":501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5544:2:2","typeDescriptions":{"typeIdentifier":"t_rational_47_by_1","typeString":"int_const 47"},"value":"47"},"visibility":"internal"},{"constant":true,"id":505,"mutability":"constant","name":"INVALID_ACCOUNT_AMOUNTS","nameLocation":"5622:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"5598:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":503,"name":"int32","nodeType":"ElementaryTypeName","src":"5598:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3438","id":504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5648:2:2","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"visibility":"internal"},{"constant":true,"id":508,"mutability":"constant","name":"EMPTY_TRANSACTION_BODY","nameLocation":"5742:22:2","nodeType":"VariableDeclaration","scope":1220,"src":"5718:51:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":506,"name":"int32","nodeType":"ElementaryTypeName","src":"5718:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3439","id":507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5767:2:2","typeDescriptions":{"typeIdentifier":"t_rational_49_by_1","typeString":"int_const 49"},"value":"49"},"visibility":"internal"},{"constant":true,"id":511,"mutability":"constant","name":"INVALID_TRANSACTION_BODY","nameLocation":"5837:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"5813:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":509,"name":"int32","nodeType":"ElementaryTypeName","src":"5813:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3530","id":510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5864:2:2","typeDescriptions":{"typeIdentifier":"t_rational_50_by_1","typeString":"int_const 50"},"value":"50"},"visibility":"internal"},{"constant":true,"id":514,"mutability":"constant","name":"INVALID_SIGNATURE_TYPE_MISMATCHING_KEY","nameLocation":"5934:38:2","nodeType":"VariableDeclaration","scope":1220,"src":"5910:67:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":512,"name":"int32","nodeType":"ElementaryTypeName","src":"5910:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3531","id":513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5975:2:2","typeDescriptions":{"typeIdentifier":"t_rational_51_by_1","typeString":"int_const 51"},"value":"51"},"visibility":"internal"},{"constant":true,"id":517,"mutability":"constant","name":"INVALID_SIGNATURE_COUNT_MISMATCHING_KEY","nameLocation":"6174:39:2","nodeType":"VariableDeclaration","scope":1220,"src":"6150:68:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":515,"name":"int32","nodeType":"ElementaryTypeName","src":"6150:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3532","id":516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6216:2:2","typeDescriptions":{"typeIdentifier":"t_rational_52_by_1","typeString":"int_const 52"},"value":"52"},"visibility":"internal"},{"constant":true,"id":520,"mutability":"constant","name":"EMPTY_LIVE_HASH_BODY","nameLocation":"6481:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"6457:49:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":518,"name":"int32","nodeType":"ElementaryTypeName","src":"6457:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3533","id":519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6504:2:2","typeDescriptions":{"typeIdentifier":"t_rational_53_by_1","typeString":"int_const 53"},"value":"53"},"visibility":"internal"},{"constant":true,"id":523,"mutability":"constant","name":"EMPTY_LIVE_HASH","nameLocation":"6566:15:2","nodeType":"VariableDeclaration","scope":1220,"src":"6542:44:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":521,"name":"int32","nodeType":"ElementaryTypeName","src":"6542:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3534","id":522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6584:2:2","typeDescriptions":{"typeIdentifier":"t_rational_54_by_1","typeString":"int_const 54"},"value":"54"},"visibility":"internal"},{"constant":true,"id":526,"mutability":"constant","name":"EMPTY_LIVE_HASH_KEYS","nameLocation":"6648:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"6624:49:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":524,"name":"int32","nodeType":"ElementaryTypeName","src":"6624:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3535","id":525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6671:2:2","typeDescriptions":{"typeIdentifier":"t_rational_55_by_1","typeString":"int_const 55"},"value":"55"},"visibility":"internal"},{"constant":true,"id":529,"mutability":"constant","name":"INVALID_LIVE_HASH_SIZE","nameLocation":"6742:22:2","nodeType":"VariableDeclaration","scope":1220,"src":"6718:51:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":527,"name":"int32","nodeType":"ElementaryTypeName","src":"6718:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3536","id":528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6767:2:2","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},"visibility":"internal"},{"constant":true,"id":532,"mutability":"constant","name":"EMPTY_QUERY_BODY","nameLocation":"6859:16:2","nodeType":"VariableDeclaration","scope":1220,"src":"6835:45:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":530,"name":"int32","nodeType":"ElementaryTypeName","src":"6835:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3537","id":531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6878:2:2","typeDescriptions":{"typeIdentifier":"t_rational_57_by_1","typeString":"int_const 57"},"value":"57"},"visibility":"internal"},{"constant":true,"id":535,"mutability":"constant","name":"EMPTY_LIVE_HASH_QUERY","nameLocation":"6937:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"6913:50:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":533,"name":"int32","nodeType":"ElementaryTypeName","src":"6913:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3538","id":534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6961:2:2","typeDescriptions":{"typeIdentifier":"t_rational_58_by_1","typeString":"int_const 58"},"value":"58"},"visibility":"internal"},{"constant":true,"id":538,"mutability":"constant","name":"LIVE_HASH_NOT_FOUND","nameLocation":"7031:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"7007:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":536,"name":"int32","nodeType":"ElementaryTypeName","src":"7007:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3539","id":537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7053:2:2","typeDescriptions":{"typeIdentifier":"t_rational_59_by_1","typeString":"int_const 59"},"value":"59"},"visibility":"internal"},{"constant":true,"id":541,"mutability":"constant","name":"ACCOUNT_ID_DOES_NOT_EXIST","nameLocation":"7116:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"7092:54:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":539,"name":"int32","nodeType":"ElementaryTypeName","src":"7092:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3630","id":540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7144:2:2","typeDescriptions":{"typeIdentifier":"t_rational_60_by_1","typeString":"int_const 60"},"value":"60"},"visibility":"internal"},{"constant":true,"id":544,"mutability":"constant","name":"LIVE_HASH_ALREADY_EXISTS","nameLocation":"7227:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"7203:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":542,"name":"int32","nodeType":"ElementaryTypeName","src":"7203:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3631","id":543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7254:2:2","typeDescriptions":{"typeIdentifier":"t_rational_61_by_1","typeString":"int_const 61"},"value":"61"},"visibility":"internal"},{"constant":true,"id":547,"mutability":"constant","name":"INVALID_FILE_WACL","nameLocation":"7338:17:2","nodeType":"VariableDeclaration","scope":1220,"src":"7314:46:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":545,"name":"int32","nodeType":"ElementaryTypeName","src":"7314:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3632","id":546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7358:2:2","typeDescriptions":{"typeIdentifier":"t_rational_62_by_1","typeString":"int_const 62"},"value":"62"},"visibility":"internal"},{"constant":true,"id":550,"mutability":"constant","name":"SERIALIZATION_FAILED","nameLocation":"7420:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"7396:49:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":548,"name":"int32","nodeType":"ElementaryTypeName","src":"7396:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3633","id":549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7443:2:2","typeDescriptions":{"typeIdentifier":"t_rational_63_by_1","typeString":"int_const 63"},"value":"63"},"visibility":"internal"},{"constant":true,"id":553,"mutability":"constant","name":"TRANSACTION_OVERSIZE","nameLocation":"7500:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"7476:49:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":551,"name":"int32","nodeType":"ElementaryTypeName","src":"7476:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3634","id":552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7523:2:2","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"visibility":"internal"},{"constant":true,"id":556,"mutability":"constant","name":"TRANSACTION_TOO_MANY_LAYERS","nameLocation":"7622:27:2","nodeType":"VariableDeclaration","scope":1220,"src":"7598:56:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":554,"name":"int32","nodeType":"ElementaryTypeName","src":"7598:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3635","id":555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7652:2:2","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"65"},"visibility":"internal"},{"constant":true,"id":559,"mutability":"constant","name":"CONTRACT_DELETED","nameLocation":"7727:16:2","nodeType":"VariableDeclaration","scope":1220,"src":"7703:45:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":557,"name":"int32","nodeType":"ElementaryTypeName","src":"7703:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3636","id":558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7746:2:2","typeDescriptions":{"typeIdentifier":"t_rational_66_by_1","typeString":"int_const 66"},"value":"66"},"visibility":"internal"},{"constant":true,"id":562,"mutability":"constant","name":"PLATFORM_NOT_ACTIVE","nameLocation":"7811:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"7787:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":560,"name":"int32","nodeType":"ElementaryTypeName","src":"7787:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3637","id":561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7833:2:2","typeDescriptions":{"typeIdentifier":"t_rational_67_by_1","typeString":"int_const 67"},"value":"67"},"visibility":"internal"},{"constant":true,"id":565,"mutability":"constant","name":"KEY_PREFIX_MISMATCH","nameLocation":"7928:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"7904:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":563,"name":"int32","nodeType":"ElementaryTypeName","src":"7904:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3638","id":564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7950:2:2","typeDescriptions":{"typeIdentifier":"t_rational_68_by_1","typeString":"int_const 68"},"value":"68"},"visibility":"internal"},{"constant":true,"id":568,"mutability":"constant","name":"PLATFORM_TRANSACTION_NOT_CREATED","nameLocation":"8054:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"8030:61:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":566,"name":"int32","nodeType":"ElementaryTypeName","src":"8030:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3639","id":567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8089:2:2","typeDescriptions":{"typeIdentifier":"t_rational_69_by_1","typeString":"int_const 69"},"value":"69"},"visibility":"internal"},{"constant":true,"id":571,"mutability":"constant","name":"INVALID_RENEWAL_PERIOD","nameLocation":"8181:22:2","nodeType":"VariableDeclaration","scope":1220,"src":"8157:51:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":569,"name":"int32","nodeType":"ElementaryTypeName","src":"8157:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3730","id":570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8206:2:2","typeDescriptions":{"typeIdentifier":"t_rational_70_by_1","typeString":"int_const 70"},"value":"70"},"visibility":"internal"},{"constant":true,"id":574,"mutability":"constant","name":"INVALID_PAYER_ACCOUNT_ID","nameLocation":"8297:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"8273:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":572,"name":"int32","nodeType":"ElementaryTypeName","src":"8273:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3731","id":573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8324:2:2","typeDescriptions":{"typeIdentifier":"t_rational_71_by_1","typeString":"int_const 71"},"value":"71"},"visibility":"internal"},{"constant":true,"id":577,"mutability":"constant","name":"ACCOUNT_DELETED","nameLocation":"8437:15:2","nodeType":"VariableDeclaration","scope":1220,"src":"8413:44:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":575,"name":"int32","nodeType":"ElementaryTypeName","src":"8413:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3732","id":576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8455:2:2","typeDescriptions":{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},"value":"72"},"visibility":"internal"},{"constant":true,"id":580,"mutability":"constant","name":"FILE_DELETED","nameLocation":"8529:12:2","nodeType":"VariableDeclaration","scope":1220,"src":"8505:41:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":578,"name":"int32","nodeType":"ElementaryTypeName","src":"8505:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3733","id":579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8544:2:2","typeDescriptions":{"typeIdentifier":"t_rational_73_by_1","typeString":"int_const 73"},"value":"73"},"visibility":"internal"},{"constant":true,"id":583,"mutability":"constant","name":"ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS","nameLocation":"8615:35:2","nodeType":"VariableDeclaration","scope":1220,"src":"8591:64:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":581,"name":"int32","nodeType":"ElementaryTypeName","src":"8591:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3734","id":582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8653:2:2","typeDescriptions":{"typeIdentifier":"t_rational_74_by_1","typeString":"int_const 74"},"value":"74"},"visibility":"internal"},{"constant":true,"id":586,"mutability":"constant","name":"SETTING_NEGATIVE_ACCOUNT_BALANCE","nameLocation":"8740:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"8716:61:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":584,"name":"int32","nodeType":"ElementaryTypeName","src":"8716:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3735","id":585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8775:2:2","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"visibility":"internal"},{"constant":true,"id":589,"mutability":"constant","name":"OBTAINER_REQUIRED","nameLocation":"8870:17:2","nodeType":"VariableDeclaration","scope":1220,"src":"8846:46:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":587,"name":"int32","nodeType":"ElementaryTypeName","src":"8846:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3736","id":588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8890:2:2","typeDescriptions":{"typeIdentifier":"t_rational_76_by_1","typeString":"int_const 76"},"value":"76"},"visibility":"internal"},{"constant":true,"id":592,"mutability":"constant","name":"OBTAINER_SAME_CONTRACT_ID","nameLocation":"9041:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"9017:54:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":590,"name":"int32","nodeType":"ElementaryTypeName","src":"9017:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3737","id":591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9069:2:2","typeDescriptions":{"typeIdentifier":"t_rational_77_by_1","typeString":"int_const 77"},"value":"77"},"visibility":"internal"},{"constant":true,"id":595,"mutability":"constant","name":"OBTAINER_DOES_NOT_EXIST","nameLocation":"9240:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"9216:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":593,"name":"int32","nodeType":"ElementaryTypeName","src":"9216:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3738","id":594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9266:2:2","typeDescriptions":{"typeIdentifier":"t_rational_78_by_1","typeString":"int_const 78"},"value":"78"},"visibility":"internal"},{"constant":true,"id":598,"mutability":"constant","name":"MODIFYING_IMMUTABLE_CONTRACT","nameLocation":"9385:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"9361:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":596,"name":"int32","nodeType":"ElementaryTypeName","src":"9361:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3739","id":597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9416:2:2","typeDescriptions":{"typeIdentifier":"t_rational_79_by_1","typeString":"int_const 79"},"value":"79"},"visibility":"internal"},{"constant":true,"id":601,"mutability":"constant","name":"FILE_SYSTEM_EXCEPTION","nameLocation":"9555:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"9531:50:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":599,"name":"int32","nodeType":"ElementaryTypeName","src":"9531:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3830","id":600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9579:2:2","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"visibility":"internal"},{"constant":true,"id":604,"mutability":"constant","name":"AUTORENEW_DURATION_NOT_IN_RANGE","nameLocation":"9666:31:2","nodeType":"VariableDeclaration","scope":1220,"src":"9642:60:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":602,"name":"int32","nodeType":"ElementaryTypeName","src":"9642:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3831","id":603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9700:2:2","typeDescriptions":{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"},"value":"81"},"visibility":"internal"},{"constant":true,"id":607,"mutability":"constant","name":"ERROR_DECODING_BYTESTRING","nameLocation":"9823:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"9799:54:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":605,"name":"int32","nodeType":"ElementaryTypeName","src":"9799:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3832","id":606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9851:2:2","typeDescriptions":{"typeIdentifier":"t_rational_82_by_1","typeString":"int_const 82"},"value":"82"},"visibility":"internal"},{"constant":true,"id":610,"mutability":"constant","name":"CONTRACT_FILE_EMPTY","nameLocation":"9989:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"9965:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":608,"name":"int32","nodeType":"ElementaryTypeName","src":"9965:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3833","id":609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10011:2:2","typeDescriptions":{"typeIdentifier":"t_rational_83_by_1","typeString":"int_const 83"},"value":"83"},"visibility":"internal"},{"constant":true,"id":613,"mutability":"constant","name":"CONTRACT_BYTECODE_EMPTY","nameLocation":"10097:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"10073:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":611,"name":"int32","nodeType":"ElementaryTypeName","src":"10073:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3834","id":612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10123:2:2","typeDescriptions":{"typeIdentifier":"t_rational_84_by_1","typeString":"int_const 84"},"value":"84"},"visibility":"internal"},{"constant":true,"id":616,"mutability":"constant","name":"INVALID_INITIAL_BALANCE","nameLocation":"10204:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"10180:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":614,"name":"int32","nodeType":"ElementaryTypeName","src":"10180:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3835","id":615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10230:2:2","typeDescriptions":{"typeIdentifier":"t_rational_85_by_1","typeString":"int_const 85"},"value":"85"},"visibility":"internal"},{"constant":true,"id":619,"mutability":"constant","name":"INVALID_RECEIVE_RECORD_THRESHOLD","nameLocation":"10305:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"10281:61:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":617,"name":"int32","nodeType":"ElementaryTypeName","src":"10281:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3836","id":618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10340:2:2","typeDescriptions":{"typeIdentifier":"t_rational_86_by_1","typeString":"int_const 86"},"value":"86"},"visibility":"internal"},{"constant":true,"id":622,"mutability":"constant","name":"INVALID_SEND_RECORD_THRESHOLD","nameLocation":"10438:29:2","nodeType":"VariableDeclaration","scope":1220,"src":"10414:58:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":620,"name":"int32","nodeType":"ElementaryTypeName","src":"10414:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3837","id":621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10470:2:2","typeDescriptions":{"typeIdentifier":"t_rational_87_by_1","typeString":"int_const 87"},"value":"87"},"visibility":"internal"},{"constant":true,"id":625,"mutability":"constant","name":"ACCOUNT_IS_NOT_GENESIS_ACCOUNT","nameLocation":"10565:30:2","nodeType":"VariableDeclaration","scope":1220,"src":"10541:59:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":623,"name":"int32","nodeType":"ElementaryTypeName","src":"10541:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3838","id":624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10598:2:2","typeDescriptions":{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},"value":"88"},"visibility":"internal"},{"constant":true,"id":628,"mutability":"constant","name":"PAYER_ACCOUNT_UNAUTHORIZED","nameLocation":"10751:26:2","nodeType":"VariableDeclaration","scope":1220,"src":"10727:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":626,"name":"int32","nodeType":"ElementaryTypeName","src":"10727:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3839","id":627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10780:2:2","typeDescriptions":{"typeIdentifier":"t_rational_89_by_1","typeString":"int_const 89"},"value":"89"},"visibility":"internal"},{"constant":true,"id":631,"mutability":"constant","name":"INVALID_FREEZE_TRANSACTION_BODY","nameLocation":"10888:31:2","nodeType":"VariableDeclaration","scope":1220,"src":"10864:60:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":629,"name":"int32","nodeType":"ElementaryTypeName","src":"10864:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3930","id":630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10922:2:2","typeDescriptions":{"typeIdentifier":"t_rational_90_by_1","typeString":"int_const 90"},"value":"90"},"visibility":"internal"},{"constant":true,"id":634,"mutability":"constant","name":"FREEZE_TRANSACTION_BODY_NOT_FOUND","nameLocation":"10990:33:2","nodeType":"VariableDeclaration","scope":1220,"src":"10966:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":632,"name":"int32","nodeType":"ElementaryTypeName","src":"10966:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3931","id":633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11026:2:2","typeDescriptions":{"typeIdentifier":"t_rational_91_by_1","typeString":"int_const 91"},"value":"91"},"visibility":"internal"},{"constant":true,"id":637,"mutability":"constant","name":"TRANSFER_LIST_SIZE_LIMIT_EXCEEDED","nameLocation":"11098:33:2","nodeType":"VariableDeclaration","scope":1220,"src":"11074:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":635,"name":"int32","nodeType":"ElementaryTypeName","src":"11074:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3932","id":636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11134:2:2","typeDescriptions":{"typeIdentifier":"t_rational_92_by_1","typeString":"int_const 92"},"value":"92"},"visibility":"internal"},{"constant":true,"id":640,"mutability":"constant","name":"RESULT_SIZE_LIMIT_EXCEEDED","nameLocation":"11252:26:2","nodeType":"VariableDeclaration","scope":1220,"src":"11228:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":638,"name":"int32","nodeType":"ElementaryTypeName","src":"11228:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3933","id":639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11281:2:2","typeDescriptions":{"typeIdentifier":"t_rational_93_by_1","typeString":"int_const 93"},"value":"93"},"visibility":"internal"},{"constant":true,"id":643,"mutability":"constant","name":"NOT_SPECIAL_ACCOUNT","nameLocation":"11380:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"11356:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":641,"name":"int32","nodeType":"ElementaryTypeName","src":"11356:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3934","id":642,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11402:2:2","typeDescriptions":{"typeIdentifier":"t_rational_94_by_1","typeString":"int_const 94"},"value":"94"},"visibility":"internal"},{"constant":true,"id":646,"mutability":"constant","name":"CONTRACT_NEGATIVE_GAS","nameLocation":"11495:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"11471:50:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":644,"name":"int32","nodeType":"ElementaryTypeName","src":"11471:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3935","id":645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11519:2:2","typeDescriptions":{"typeIdentifier":"t_rational_95_by_1","typeString":"int_const 95"},"value":"95"},"visibility":"internal"},{"constant":true,"id":649,"mutability":"constant","name":"CONTRACT_NEGATIVE_VALUE","nameLocation":"11602:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"11578:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":647,"name":"int32","nodeType":"ElementaryTypeName","src":"11578:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3936","id":648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11628:2:2","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"visibility":"internal"},{"constant":true,"id":652,"mutability":"constant","name":"INVALID_FEE_FILE","nameLocation":"11744:16:2","nodeType":"VariableDeclaration","scope":1220,"src":"11720:45:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":650,"name":"int32","nodeType":"ElementaryTypeName","src":"11720:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3937","id":651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11763:2:2","typeDescriptions":{"typeIdentifier":"t_rational_97_by_1","typeString":"int_const 97"},"value":"97"},"visibility":"internal"},{"constant":true,"id":655,"mutability":"constant","name":"INVALID_EXCHANGE_RATE_FILE","nameLocation":"11824:26:2","nodeType":"VariableDeclaration","scope":1220,"src":"11800:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":653,"name":"int32","nodeType":"ElementaryTypeName","src":"11800:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3938","id":654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11853:2:2","typeDescriptions":{"typeIdentifier":"t_rational_98_by_1","typeString":"int_const 98"},"value":"98"},"visibility":"internal"},{"constant":true,"id":658,"mutability":"constant","name":"INSUFFICIENT_LOCAL_CALL_GAS","nameLocation":"11924:27:2","nodeType":"VariableDeclaration","scope":1220,"src":"11900:56:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":656,"name":"int32","nodeType":"ElementaryTypeName","src":"11900:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"3939","id":657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11954:2:2","typeDescriptions":{"typeIdentifier":"t_rational_99_by_1","typeString":"int_const 99"},"value":"99"},"visibility":"internal"},{"constant":true,"id":661,"mutability":"constant","name":"ENTITY_NOT_ALLOWED_TO_DELETE","nameLocation":"12068:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"12044:58:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":659,"name":"int32","nodeType":"ElementaryTypeName","src":"12044:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313030","id":660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12099:3:2","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"visibility":"internal"},{"constant":true,"id":664,"mutability":"constant","name":"AUTHORIZATION_FAILED","nameLocation":"12200:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"12176:50:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":662,"name":"int32","nodeType":"ElementaryTypeName","src":"12176:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313031","id":663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12223:3:2","typeDescriptions":{"typeIdentifier":"t_rational_101_by_1","typeString":"int_const 101"},"value":"101"},"visibility":"internal"},{"constant":true,"id":667,"mutability":"constant","name":"FILE_UPLOADED_PROTO_INVALID","nameLocation":"12733:27:2","nodeType":"VariableDeclaration","scope":1220,"src":"12709:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":665,"name":"int32","nodeType":"ElementaryTypeName","src":"12709:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313032","id":666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12763:3:2","typeDescriptions":{"typeIdentifier":"t_rational_102_by_1","typeString":"int_const 102"},"value":"102"},"visibility":"internal"},{"constant":true,"id":670,"mutability":"constant","name":"FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK","nameLocation":"12872:37:2","nodeType":"VariableDeclaration","scope":1220,"src":"12848:67:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":668,"name":"int32","nodeType":"ElementaryTypeName","src":"12848:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313033","id":669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12912:3:2","typeDescriptions":{"typeIdentifier":"t_rational_103_by_1","typeString":"int_const 103"},"value":"103"},"visibility":"internal"},{"constant":true,"id":673,"mutability":"constant","name":"FEE_SCHEDULE_FILE_PART_UPLOADED","nameLocation":"13021:31:2","nodeType":"VariableDeclaration","scope":1220,"src":"12997:61:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":671,"name":"int32","nodeType":"ElementaryTypeName","src":"12997:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313034","id":672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13055:3:2","typeDescriptions":{"typeIdentifier":"t_rational_104_by_1","typeString":"int_const 104"},"value":"104"},"visibility":"internal"},{"constant":true,"id":676,"mutability":"constant","name":"EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED","nameLocation":"13129:35:2","nodeType":"VariableDeclaration","scope":1220,"src":"13105:65:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":674,"name":"int32","nodeType":"ElementaryTypeName","src":"13105:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313035","id":675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13167:3:2","typeDescriptions":{"typeIdentifier":"t_rational_105_by_1","typeString":"int_const 105"},"value":"105"},"visibility":"internal"},{"constant":true,"id":679,"mutability":"constant","name":"MAX_CONTRACT_STORAGE_EXCEEDED","nameLocation":"13272:29:2","nodeType":"VariableDeclaration","scope":1220,"src":"13248:59:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":677,"name":"int32","nodeType":"ElementaryTypeName","src":"13248:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313036","id":678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13304:3:2","typeDescriptions":{"typeIdentifier":"t_rational_106_by_1","typeString":"int_const 106"},"value":"106"},"visibility":"internal"},{"constant":true,"id":682,"mutability":"constant","name":"TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT","nameLocation":"13406:39:2","nodeType":"VariableDeclaration","scope":1220,"src":"13382:69:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":680,"name":"int32","nodeType":"ElementaryTypeName","src":"13382:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313037","id":681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13448:3:2","typeDescriptions":{"typeIdentifier":"t_rational_107_by_1","typeString":"int_const 107"},"value":"107"},"visibility":"internal"},{"constant":true,"id":685,"mutability":"constant","name":"TOTAL_LEDGER_BALANCE_INVALID","nameLocation":"13545:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"13521:58:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":683,"name":"int32","nodeType":"ElementaryTypeName","src":"13521:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313038","id":684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13576:3:2","typeDescriptions":{"typeIdentifier":"t_rational_108_by_1","typeString":"int_const 108"},"value":"108"},"visibility":"internal"},{"constant":true,"id":688,"mutability":"constant","name":"EXPIRATION_REDUCTION_NOT_ALLOWED","nameLocation":"13609:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"13585:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":686,"name":"int32","nodeType":"ElementaryTypeName","src":"13585:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313130","id":687,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13644:3:2","typeDescriptions":{"typeIdentifier":"t_rational_110_by_1","typeString":"int_const 110"},"value":"110"},"visibility":"internal"},{"constant":true,"id":691,"mutability":"constant","name":"MAX_GAS_LIMIT_EXCEEDED","nameLocation":"13744:22:2","nodeType":"VariableDeclaration","scope":1220,"src":"13720:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":689,"name":"int32","nodeType":"ElementaryTypeName","src":"13720:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313131","id":690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13769:3:2","typeDescriptions":{"typeIdentifier":"t_rational_111_by_1","typeString":"int_const 111"},"value":"111"},"visibility":"internal"},{"constant":true,"id":694,"mutability":"constant","name":"MAX_FILE_SIZE_EXCEEDED","nameLocation":"13863:22:2","nodeType":"VariableDeclaration","scope":1220,"src":"13839:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":692,"name":"int32","nodeType":"ElementaryTypeName","src":"13839:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313132","id":693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13888:3:2","typeDescriptions":{"typeIdentifier":"t_rational_112_by_1","typeString":"int_const 112"},"value":"112"},"visibility":"internal"},{"constant":true,"id":697,"mutability":"constant","name":"INVALID_TOPIC_ID","nameLocation":"13974:16:2","nodeType":"VariableDeclaration","scope":1220,"src":"13950:46:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":695,"name":"int32","nodeType":"ElementaryTypeName","src":"13950:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313530","id":696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13993:3:2","typeDescriptions":{"typeIdentifier":"t_rational_150_by_1","typeString":"int_const 150"},"value":"150"},"visibility":"internal"},{"constant":true,"id":700,"mutability":"constant","name":"INVALID_ADMIN_KEY","nameLocation":"14074:17:2","nodeType":"VariableDeclaration","scope":1220,"src":"14050:47:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":698,"name":"int32","nodeType":"ElementaryTypeName","src":"14050:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313535","id":699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14094:3:2","typeDescriptions":{"typeIdentifier":"t_rational_155_by_1","typeString":"int_const 155"},"value":"155"},"visibility":"internal"},{"constant":true,"id":703,"mutability":"constant","name":"INVALID_SUBMIT_KEY","nameLocation":"14164:18:2","nodeType":"VariableDeclaration","scope":1220,"src":"14140:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":701,"name":"int32","nodeType":"ElementaryTypeName","src":"14140:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313536","id":702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14185:3:2","typeDescriptions":{"typeIdentifier":"t_rational_156_by_1","typeString":"int_const 156"},"value":"156"},"visibility":"internal"},{"constant":true,"id":706,"mutability":"constant","name":"UNAUTHORIZED","nameLocation":"14256:12:2","nodeType":"VariableDeclaration","scope":1220,"src":"14232:42:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":704,"name":"int32","nodeType":"ElementaryTypeName","src":"14232:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313537","id":705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14271:3:2","typeDescriptions":{"typeIdentifier":"t_rational_157_by_1","typeString":"int_const 157"},"value":"157"},"visibility":"internal"},{"constant":true,"id":709,"mutability":"constant","name":"INVALID_TOPIC_MESSAGE","nameLocation":"14400:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"14376:51:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":707,"name":"int32","nodeType":"ElementaryTypeName","src":"14376:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313538","id":708,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14424:3:2","typeDescriptions":{"typeIdentifier":"t_rational_158_by_1","typeString":"int_const 158"},"value":"158"},"visibility":"internal"},{"constant":true,"id":712,"mutability":"constant","name":"INVALID_AUTORENEW_ACCOUNT","nameLocation":"14497:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"14473:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":710,"name":"int32","nodeType":"ElementaryTypeName","src":"14473:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313539","id":711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14525:3:2","typeDescriptions":{"typeIdentifier":"t_rational_159_by_1","typeString":"int_const 159"},"value":"159"},"visibility":"internal"},{"constant":true,"id":715,"mutability":"constant","name":"AUTORENEW_ACCOUNT_NOT_ALLOWED","nameLocation":"14624:29:2","nodeType":"VariableDeclaration","scope":1220,"src":"14600:59:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":713,"name":"int32","nodeType":"ElementaryTypeName","src":"14600:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313630","id":714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14656:3:2","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"visibility":"internal"},{"constant":true,"id":718,"mutability":"constant","name":"TOPIC_EXPIRED","nameLocation":"15030:13:2","nodeType":"VariableDeclaration","scope":1220,"src":"15006:43:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":716,"name":"int32","nodeType":"ElementaryTypeName","src":"15006:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313632","id":717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15046:3:2","typeDescriptions":{"typeIdentifier":"t_rational_162_by_1","typeString":"int_const 162"},"value":"162"},"visibility":"internal"},{"constant":true,"id":721,"mutability":"constant","name":"INVALID_CHUNK_NUMBER","nameLocation":"15079:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"15055:50:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":719,"name":"int32","nodeType":"ElementaryTypeName","src":"15055:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313633","id":720,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15102:3:2","typeDescriptions":{"typeIdentifier":"t_rational_163_by_1","typeString":"int_const 163"},"value":"163"},"visibility":"internal"},{"constant":true,"id":724,"mutability":"constant","name":"INVALID_CHUNK_TRANSACTION_ID","nameLocation":"15195:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"15171:58:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":722,"name":"int32","nodeType":"ElementaryTypeName","src":"15171:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313634","id":723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15226:3:2","typeDescriptions":{"typeIdentifier":"t_rational_164_by_1","typeString":"int_const 164"},"value":"164"},"visibility":"internal"},{"constant":true,"id":727,"mutability":"constant","name":"ACCOUNT_FROZEN_FOR_TOKEN","nameLocation":"15548:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"15524:54:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":725,"name":"int32","nodeType":"ElementaryTypeName","src":"15524:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313635","id":726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15575:3:2","typeDescriptions":{"typeIdentifier":"t_rational_165_by_1","typeString":"int_const 165"},"value":"165"},"visibility":"internal"},{"constant":true,"id":730,"mutability":"constant","name":"TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED","nameLocation":"15664:33:2","nodeType":"VariableDeclaration","scope":1220,"src":"15640:63:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":728,"name":"int32","nodeType":"ElementaryTypeName","src":"15640:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313636","id":729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15700:3:2","typeDescriptions":{"typeIdentifier":"t_rational_166_by_1","typeString":"int_const 166"},"value":"166"},"visibility":"internal"},{"constant":true,"id":733,"mutability":"constant","name":"INVALID_TOKEN_ID","nameLocation":"15846:16:2","nodeType":"VariableDeclaration","scope":1220,"src":"15822:46:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":731,"name":"int32","nodeType":"ElementaryTypeName","src":"15822:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313637","id":732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15865:3:2","typeDescriptions":{"typeIdentifier":"t_rational_167_by_1","typeString":"int_const 167"},"value":"167"},"visibility":"internal"},{"constant":true,"id":736,"mutability":"constant","name":"INVALID_TOKEN_DECIMALS","nameLocation":"15940:22:2","nodeType":"VariableDeclaration","scope":1220,"src":"15916:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":734,"name":"int32","nodeType":"ElementaryTypeName","src":"15916:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313638","id":735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15965:3:2","typeDescriptions":{"typeIdentifier":"t_rational_168_by_1","typeString":"int_const 168"},"value":"168"},"visibility":"internal"},{"constant":true,"id":739,"mutability":"constant","name":"INVALID_TOKEN_INITIAL_SUPPLY","nameLocation":"16024:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"16000:58:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":737,"name":"int32","nodeType":"ElementaryTypeName","src":"16000:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313639","id":738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16055:3:2","typeDescriptions":{"typeIdentifier":"t_rational_169_by_1","typeString":"int_const 169"},"value":"169"},"visibility":"internal"},{"constant":true,"id":742,"mutability":"constant","name":"INVALID_TREASURY_ACCOUNT_FOR_TOKEN","nameLocation":"16120:34:2","nodeType":"VariableDeclaration","scope":1220,"src":"16096:64:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":740,"name":"int32","nodeType":"ElementaryTypeName","src":"16096:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313730","id":741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16157:3:2","typeDescriptions":{"typeIdentifier":"t_rational_170_by_1","typeString":"int_const 170"},"value":"170"},"visibility":"internal"},{"constant":true,"id":745,"mutability":"constant","name":"INVALID_TOKEN_SYMBOL","nameLocation":"16239:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"16215:50:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":743,"name":"int32","nodeType":"ElementaryTypeName","src":"16215:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313731","id":744,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16262:3:2","typeDescriptions":{"typeIdentifier":"t_rational_171_by_1","typeString":"int_const 171"},"value":"171"},"visibility":"internal"},{"constant":true,"id":748,"mutability":"constant","name":"TOKEN_HAS_NO_FREEZE_KEY","nameLocation":"16356:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"16332:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":746,"name":"int32","nodeType":"ElementaryTypeName","src":"16332:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313732","id":747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16382:3:2","typeDescriptions":{"typeIdentifier":"t_rational_172_by_1","typeString":"int_const 172"},"value":"172"},"visibility":"internal"},{"constant":true,"id":751,"mutability":"constant","name":"TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN","nameLocation":"16449:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"16425:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":749,"name":"int32","nodeType":"ElementaryTypeName","src":"16425:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313733","id":750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16484:3:2","typeDescriptions":{"typeIdentifier":"t_rational_173_by_1","typeString":"int_const 173"},"value":"173"},"visibility":"internal"},{"constant":true,"id":754,"mutability":"constant","name":"MISSING_TOKEN_SYMBOL","nameLocation":"16562:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"16538:50:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":752,"name":"int32","nodeType":"ElementaryTypeName","src":"16538:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313734","id":753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16585:3:2","typeDescriptions":{"typeIdentifier":"t_rational_174_by_1","typeString":"int_const 174"},"value":"174"},"visibility":"internal"},{"constant":true,"id":757,"mutability":"constant","name":"TOKEN_SYMBOL_TOO_LONG","nameLocation":"16653:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"16629:51:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":755,"name":"int32","nodeType":"ElementaryTypeName","src":"16629:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313735","id":756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16677:3:2","typeDescriptions":{"typeIdentifier":"t_rational_175_by_1","typeString":"int_const 175"},"value":"175"},"visibility":"internal"},{"constant":true,"id":760,"mutability":"constant","name":"ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN","nameLocation":"16752:33:2","nodeType":"VariableDeclaration","scope":1220,"src":"16728:63:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":758,"name":"int32","nodeType":"ElementaryTypeName","src":"16728:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313736","id":759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16788:3:2","typeDescriptions":{"typeIdentifier":"t_rational_176_by_1","typeString":"int_const 176"},"value":"176"},"visibility":"internal"},{"constant":true,"id":763,"mutability":"constant","name":"TOKEN_HAS_NO_KYC_KEY","nameLocation":"16882:20:2","nodeType":"VariableDeclaration","scope":1220,"src":"16858:50:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":761,"name":"int32","nodeType":"ElementaryTypeName","src":"16858:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313737","id":762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16905:3:2","typeDescriptions":{"typeIdentifier":"t_rational_177_by_1","typeString":"int_const 177"},"value":"177"},"visibility":"internal"},{"constant":true,"id":766,"mutability":"constant","name":"INSUFFICIENT_TOKEN_BALANCE","nameLocation":"16969:26:2","nodeType":"VariableDeclaration","scope":1220,"src":"16945:56:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":764,"name":"int32","nodeType":"ElementaryTypeName","src":"16945:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313738","id":765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16998:3:2","typeDescriptions":{"typeIdentifier":"t_rational_178_by_1","typeString":"int_const 178"},"value":"178"},"visibility":"internal"},{"constant":true,"id":769,"mutability":"constant","name":"TOKEN_WAS_DELETED","nameLocation":"17086:17:2","nodeType":"VariableDeclaration","scope":1220,"src":"17062:47:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":767,"name":"int32","nodeType":"ElementaryTypeName","src":"17062:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313739","id":768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17106:3:2","typeDescriptions":{"typeIdentifier":"t_rational_179_by_1","typeString":"int_const 179"},"value":"179"},"visibility":"internal"},{"constant":true,"id":772,"mutability":"constant","name":"TOKEN_HAS_NO_SUPPLY_KEY","nameLocation":"17197:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"17173:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":770,"name":"int32","nodeType":"ElementaryTypeName","src":"17173:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313830","id":771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17223:3:2","typeDescriptions":{"typeIdentifier":"t_rational_180_by_1","typeString":"int_const 180"},"value":"180"},"visibility":"internal"},{"constant":true,"id":775,"mutability":"constant","name":"TOKEN_HAS_NO_WIPE_KEY","nameLocation":"17290:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"17266:51:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":773,"name":"int32","nodeType":"ElementaryTypeName","src":"17266:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313831","id":774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17314:3:2","typeDescriptions":{"typeIdentifier":"t_rational_181_by_1","typeString":"int_const 181"},"value":"181"},"visibility":"internal"},{"constant":true,"id":778,"mutability":"constant","name":"INVALID_TOKEN_MINT_AMOUNT","nameLocation":"17379:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"17355:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":776,"name":"int32","nodeType":"ElementaryTypeName","src":"17355:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313832","id":777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17407:3:2","typeDescriptions":{"typeIdentifier":"t_rational_182_by_1","typeString":"int_const 182"},"value":"182"},"visibility":"internal"},{"constant":true,"id":781,"mutability":"constant","name":"INVALID_TOKEN_BURN_AMOUNT","nameLocation":"17511:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"17487:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":779,"name":"int32","nodeType":"ElementaryTypeName","src":"17487:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313833","id":780,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17539:3:2","typeDescriptions":{"typeIdentifier":"t_rational_183_by_1","typeString":"int_const 183"},"value":"183"},"visibility":"internal"},{"constant":true,"id":784,"mutability":"constant","name":"TOKEN_NOT_ASSOCIATED_TO_ACCOUNT","nameLocation":"17643:31:2","nodeType":"VariableDeclaration","scope":1220,"src":"17619:61:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":782,"name":"int32","nodeType":"ElementaryTypeName","src":"17619:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313834","id":783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17677:3:2","typeDescriptions":{"typeIdentifier":"t_rational_184_by_1","typeString":"int_const 184"},"value":"184"},"visibility":"internal"},{"constant":true,"id":787,"mutability":"constant","name":"CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT","nameLocation":"17762:34:2","nodeType":"VariableDeclaration","scope":1220,"src":"17738:64:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":785,"name":"int32","nodeType":"ElementaryTypeName","src":"17738:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313835","id":786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17799:3:2","typeDescriptions":{"typeIdentifier":"t_rational_185_by_1","typeString":"int_const 185"},"value":"185"},"visibility":"internal"},{"constant":true,"id":790,"mutability":"constant","name":"INVALID_KYC_KEY","nameLocation":"17897:15:2","nodeType":"VariableDeclaration","scope":1220,"src":"17873:45:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":788,"name":"int32","nodeType":"ElementaryTypeName","src":"17873:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313836","id":789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17915:3:2","typeDescriptions":{"typeIdentifier":"t_rational_186_by_1","typeString":"int_const 186"},"value":"186"},"visibility":"internal"},{"constant":true,"id":793,"mutability":"constant","name":"INVALID_WIPE_KEY","nameLocation":"17985:16:2","nodeType":"VariableDeclaration","scope":1220,"src":"17961:46:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":791,"name":"int32","nodeType":"ElementaryTypeName","src":"17961:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313837","id":792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18004:3:2","typeDescriptions":{"typeIdentifier":"t_rational_187_by_1","typeString":"int_const 187"},"value":"187"},"visibility":"internal"},{"constant":true,"id":796,"mutability":"constant","name":"INVALID_FREEZE_KEY","nameLocation":"18075:18:2","nodeType":"VariableDeclaration","scope":1220,"src":"18051:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":794,"name":"int32","nodeType":"ElementaryTypeName","src":"18051:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313838","id":795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18096:3:2","typeDescriptions":{"typeIdentifier":"t_rational_188_by_1","typeString":"int_const 188"},"value":"188"},"visibility":"internal"},{"constant":true,"id":799,"mutability":"constant","name":"INVALID_SUPPLY_KEY","nameLocation":"18169:18:2","nodeType":"VariableDeclaration","scope":1220,"src":"18145:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":797,"name":"int32","nodeType":"ElementaryTypeName","src":"18145:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313839","id":798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18190:3:2","typeDescriptions":{"typeIdentifier":"t_rational_189_by_1","typeString":"int_const 189"},"value":"189"},"visibility":"internal"},{"constant":true,"id":802,"mutability":"constant","name":"MISSING_TOKEN_NAME","nameLocation":"18263:18:2","nodeType":"VariableDeclaration","scope":1220,"src":"18239:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":800,"name":"int32","nodeType":"ElementaryTypeName","src":"18239:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313930","id":801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18284:3:2","typeDescriptions":{"typeIdentifier":"t_rational_190_by_1","typeString":"int_const 190"},"value":"190"},"visibility":"internal"},{"constant":true,"id":805,"mutability":"constant","name":"TOKEN_NAME_TOO_LONG","nameLocation":"18347:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"18323:49:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":803,"name":"int32","nodeType":"ElementaryTypeName","src":"18323:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313931","id":804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18369:3:2","typeDescriptions":{"typeIdentifier":"t_rational_191_by_1","typeString":"int_const 191"},"value":"191"},"visibility":"internal"},{"constant":true,"id":808,"mutability":"constant","name":"INVALID_WIPING_AMOUNT","nameLocation":"18428:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"18404:51:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":806,"name":"int32","nodeType":"ElementaryTypeName","src":"18404:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313932","id":807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18452:3:2","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},"visibility":"internal"},{"constant":true,"id":811,"mutability":"constant","name":"TOKEN_IS_IMMUTABLE","nameLocation":"18580:18:2","nodeType":"VariableDeclaration","scope":1220,"src":"18556:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":809,"name":"int32","nodeType":"ElementaryTypeName","src":"18556:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313933","id":810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18601:3:2","typeDescriptions":{"typeIdentifier":"t_rational_193_by_1","typeString":"int_const 193"},"value":"193"},"visibility":"internal"},{"constant":true,"id":814,"mutability":"constant","name":"TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT","nameLocation":"18724:35:2","nodeType":"VariableDeclaration","scope":1220,"src":"18700:65:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":812,"name":"int32","nodeType":"ElementaryTypeName","src":"18700:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313934","id":813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18762:3:2","typeDescriptions":{"typeIdentifier":"t_rational_194_by_1","typeString":"int_const 194"},"value":"194"},"visibility":"internal"},{"constant":true,"id":817,"mutability":"constant","name":"TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES","nameLocation":"18887:40:2","nodeType":"VariableDeclaration","scope":1220,"src":"18863:70:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":815,"name":"int32","nodeType":"ElementaryTypeName","src":"18863:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313935","id":816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18930:3:2","typeDescriptions":{"typeIdentifier":"t_rational_195_by_1","typeString":"int_const 195"},"value":"195"},"visibility":"internal"},{"constant":true,"id":820,"mutability":"constant","name":"ACCOUNT_IS_TREASURY","nameLocation":"19057:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"19033:49:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":818,"name":"int32","nodeType":"ElementaryTypeName","src":"19033:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313936","id":819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19079:3:2","typeDescriptions":{"typeIdentifier":"t_rational_196_by_1","typeString":"int_const 196"},"value":"196"},"visibility":"internal"},{"constant":true,"id":823,"mutability":"constant","name":"TOKEN_ID_REPEATED_IN_TOKEN_LIST","nameLocation":"19183:31:2","nodeType":"VariableDeclaration","scope":1220,"src":"19159:61:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":821,"name":"int32","nodeType":"ElementaryTypeName","src":"19159:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313937","id":822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19217:3:2","typeDescriptions":{"typeIdentifier":"t_rational_197_by_1","typeString":"int_const 197"},"value":"197"},"visibility":"internal"},{"constant":true,"id":826,"mutability":"constant","name":"TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED","nameLocation":"19293:39:2","nodeType":"VariableDeclaration","scope":1220,"src":"19269:69:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":824,"name":"int32","nodeType":"ElementaryTypeName","src":"19269:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313938","id":825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19335:3:2","typeDescriptions":{"typeIdentifier":"t_rational_198_by_1","typeString":"int_const 198"},"value":"198"},"visibility":"internal"},{"constant":true,"id":829,"mutability":"constant","name":"EMPTY_TOKEN_TRANSFER_BODY","nameLocation":"19461:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"19437:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":827,"name":"int32","nodeType":"ElementaryTypeName","src":"19437:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"313939","id":828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19489:3:2","typeDescriptions":{"typeIdentifier":"t_rational_199_by_1","typeString":"int_const 199"},"value":"199"},"visibility":"internal"},{"constant":true,"id":832,"mutability":"constant","name":"EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS","nameLocation":"19580:36:2","nodeType":"VariableDeclaration","scope":1220,"src":"19556:66:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":830,"name":"int32","nodeType":"ElementaryTypeName","src":"19556:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323030","id":831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19619:3:2","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"visibility":"internal"},{"constant":true,"id":835,"mutability":"constant","name":"INVALID_SCHEDULE_ID","nameLocation":"19732:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"19708:49:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":833,"name":"int32","nodeType":"ElementaryTypeName","src":"19708:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323031","id":834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19754:3:2","typeDescriptions":{"typeIdentifier":"t_rational_201_by_1","typeString":"int_const 201"},"value":"201"},"visibility":"internal"},{"constant":true,"id":838,"mutability":"constant","name":"SCHEDULE_IS_IMMUTABLE","nameLocation":"19878:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"19854:51:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":836,"name":"int32","nodeType":"ElementaryTypeName","src":"19854:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323032","id":837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19902:3:2","typeDescriptions":{"typeIdentifier":"t_rational_202_by_1","typeString":"int_const 202"},"value":"202"},"visibility":"internal"},{"constant":true,"id":841,"mutability":"constant","name":"INVALID_SCHEDULE_PAYER_ID","nameLocation":"19997:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"19973:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":839,"name":"int32","nodeType":"ElementaryTypeName","src":"19973:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323033","id":840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20025:3:2","typeDescriptions":{"typeIdentifier":"t_rational_203_by_1","typeString":"int_const 203"},"value":"203"},"visibility":"internal"},{"constant":true,"id":844,"mutability":"constant","name":"INVALID_SCHEDULE_ACCOUNT_ID","nameLocation":"20105:27:2","nodeType":"VariableDeclaration","scope":1220,"src":"20081:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":842,"name":"int32","nodeType":"ElementaryTypeName","src":"20081:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323034","id":843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20135:3:2","typeDescriptions":{"typeIdentifier":"t_rational_204_by_1","typeString":"int_const 204"},"value":"204"},"visibility":"internal"},{"constant":true,"id":847,"mutability":"constant","name":"NO_NEW_VALID_SIGNATURES","nameLocation":"20240:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"20216:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":845,"name":"int32","nodeType":"ElementaryTypeName","src":"20216:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323035","id":846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20266:3:2","typeDescriptions":{"typeIdentifier":"t_rational_205_by_1","typeString":"int_const 205"},"value":"205"},"visibility":"internal"},{"constant":true,"id":850,"mutability":"constant","name":"UNRESOLVABLE_REQUIRED_SIGNERS","nameLocation":"20415:29:2","nodeType":"VariableDeclaration","scope":1220,"src":"20391:59:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":848,"name":"int32","nodeType":"ElementaryTypeName","src":"20391:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323036","id":849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20447:3:2","typeDescriptions":{"typeIdentifier":"t_rational_206_by_1","typeString":"int_const 206"},"value":"206"},"visibility":"internal"},{"constant":true,"id":853,"mutability":"constant","name":"SCHEDULED_TRANSACTION_NOT_IN_WHITELIST","nameLocation":"20611:38:2","nodeType":"VariableDeclaration","scope":1220,"src":"20587:68:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":851,"name":"int32","nodeType":"ElementaryTypeName","src":"20587:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323037","id":852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20652:3:2","typeDescriptions":{"typeIdentifier":"t_rational_207_by_1","typeString":"int_const 207"},"value":"207"},"visibility":"internal"},{"constant":true,"id":856,"mutability":"constant","name":"SOME_SIGNATURES_WERE_INVALID","nameLocation":"20740:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"20716:58:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":854,"name":"int32","nodeType":"ElementaryTypeName","src":"20716:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323038","id":855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20771:3:2","typeDescriptions":{"typeIdentifier":"t_rational_208_by_1","typeString":"int_const 208"},"value":"208"},"visibility":"internal"},{"constant":true,"id":859,"mutability":"constant","name":"TRANSACTION_ID_FIELD_NOT_ALLOWED","nameLocation":"20922:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"20898:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":857,"name":"int32","nodeType":"ElementaryTypeName","src":"20898:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323039","id":858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20957:3:2","typeDescriptions":{"typeIdentifier":"t_rational_209_by_1","typeString":"int_const 209"},"value":"209"},"visibility":"internal"},{"constant":true,"id":862,"mutability":"constant","name":"IDENTICAL_SCHEDULE_ALREADY_CREATED","nameLocation":"21057:34:2","nodeType":"VariableDeclaration","scope":1220,"src":"21033:64:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":860,"name":"int32","nodeType":"ElementaryTypeName","src":"21033:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323130","id":861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21094:3:2","typeDescriptions":{"typeIdentifier":"t_rational_210_by_1","typeString":"int_const 210"},"value":"210"},"visibility":"internal"},{"constant":true,"id":865,"mutability":"constant","name":"INVALID_ZERO_BYTE_IN_STRING","nameLocation":"21277:27:2","nodeType":"VariableDeclaration","scope":1220,"src":"21253:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":863,"name":"int32","nodeType":"ElementaryTypeName","src":"21253:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323131","id":864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21307:3:2","typeDescriptions":{"typeIdentifier":"t_rational_211_by_1","typeString":"int_const 211"},"value":"211"},"visibility":"internal"},{"constant":true,"id":868,"mutability":"constant","name":"SCHEDULE_ALREADY_DELETED","nameLocation":"21428:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"21404:54:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":866,"name":"int32","nodeType":"ElementaryTypeName","src":"21404:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323132","id":867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21455:3:2","typeDescriptions":{"typeIdentifier":"t_rational_212_by_1","typeString":"int_const 212"},"value":"212"},"visibility":"internal"},{"constant":true,"id":871,"mutability":"constant","name":"SCHEDULE_ALREADY_EXECUTED","nameLocation":"21551:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"21527:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":869,"name":"int32","nodeType":"ElementaryTypeName","src":"21527:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323133","id":870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21579:3:2","typeDescriptions":{"typeIdentifier":"t_rational_213_by_1","typeString":"int_const 213"},"value":"213"},"visibility":"internal"},{"constant":true,"id":874,"mutability":"constant","name":"MESSAGE_SIZE_TOO_LARGE","nameLocation":"21676:22:2","nodeType":"VariableDeclaration","scope":1220,"src":"21652:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":872,"name":"int32","nodeType":"ElementaryTypeName","src":"21652:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323134","id":873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21701:3:2","typeDescriptions":{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"},"value":"214"},"visibility":"internal"},{"constant":true,"id":877,"mutability":"constant","name":"OPERATION_REPEATED_IN_BUCKET_GROUPS","nameLocation":"21807:35:2","nodeType":"VariableDeclaration","scope":1220,"src":"21783:65:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":875,"name":"int32","nodeType":"ElementaryTypeName","src":"21783:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323135","id":876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21845:3:2","typeDescriptions":{"typeIdentifier":"t_rational_215_by_1","typeString":"int_const 215"},"value":"215"},"visibility":"internal"},{"constant":true,"id":880,"mutability":"constant","name":"BUCKET_CAPACITY_OVERFLOW","nameLocation":"21957:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"21933:54:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":878,"name":"int32","nodeType":"ElementaryTypeName","src":"21933:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323136","id":879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21984:3:2","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"216"},"visibility":"internal"},{"constant":true,"id":883,"mutability":"constant","name":"NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION","nameLocation":"22125:42:2","nodeType":"VariableDeclaration","scope":1220,"src":"22101:72:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":881,"name":"int32","nodeType":"ElementaryTypeName","src":"22101:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323137","id":882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22170:3:2","typeDescriptions":{"typeIdentifier":"t_rational_217_by_1","typeString":"int_const 217"},"value":"217"},"visibility":"internal"},{"constant":true,"id":886,"mutability":"constant","name":"BUCKET_HAS_NO_THROTTLE_GROUPS","nameLocation":"22396:29:2","nodeType":"VariableDeclaration","scope":1220,"src":"22372:59:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":884,"name":"int32","nodeType":"ElementaryTypeName","src":"22372:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323138","id":885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22428:3:2","typeDescriptions":{"typeIdentifier":"t_rational_218_by_1","typeString":"int_const 218"},"value":"218"},"visibility":"internal"},{"constant":true,"id":889,"mutability":"constant","name":"THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC","nameLocation":"22513:35:2","nodeType":"VariableDeclaration","scope":1220,"src":"22489:65:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":887,"name":"int32","nodeType":"ElementaryTypeName","src":"22489:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323139","id":888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22551:3:2","typeDescriptions":{"typeIdentifier":"t_rational_219_by_1","typeString":"int_const 219"},"value":"219"},"visibility":"internal"},{"constant":true,"id":892,"mutability":"constant","name":"SUCCESS_BUT_MISSING_EXPECTED_OPERATION","nameLocation":"22631:38:2","nodeType":"VariableDeclaration","scope":1220,"src":"22607:68:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":890,"name":"int32","nodeType":"ElementaryTypeName","src":"22607:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323230","id":891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22672:3:2","typeDescriptions":{"typeIdentifier":"t_rational_220_by_1","typeString":"int_const 220"},"value":"220"},"visibility":"internal"},{"constant":true,"id":895,"mutability":"constant","name":"UNPARSEABLE_THROTTLE_DEFINITIONS","nameLocation":"22808:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"22784:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":893,"name":"int32","nodeType":"ElementaryTypeName","src":"22784:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323231","id":894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22843:3:2","typeDescriptions":{"typeIdentifier":"t_rational_221_by_1","typeString":"int_const 221"},"value":"221"},"visibility":"internal"},{"constant":true,"id":898,"mutability":"constant","name":"INVALID_THROTTLE_DEFINITIONS","nameLocation":"22961:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"22937:58:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":896,"name":"int32","nodeType":"ElementaryTypeName","src":"22937:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323232","id":897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22992:3:2","typeDescriptions":{"typeIdentifier":"t_rational_222_by_1","typeString":"int_const 222"},"value":"222"},"visibility":"internal"},{"constant":true,"id":901,"mutability":"constant","name":"ACCOUNT_EXPIRED_AND_PENDING_REMOVAL","nameLocation":"23127:35:2","nodeType":"VariableDeclaration","scope":1220,"src":"23103:65:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":899,"name":"int32","nodeType":"ElementaryTypeName","src":"23103:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323233","id":900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23165:3:2","typeDescriptions":{"typeIdentifier":"t_rational_223_by_1","typeString":"int_const 223"},"value":"223"},"visibility":"internal"},{"constant":true,"id":904,"mutability":"constant","name":"INVALID_TOKEN_MAX_SUPPLY","nameLocation":"23399:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"23375:54:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":902,"name":"int32","nodeType":"ElementaryTypeName","src":"23375:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323234","id":903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23426:3:2","typeDescriptions":{"typeIdentifier":"t_rational_224_by_1","typeString":"int_const 224"},"value":"224"},"visibility":"internal"},{"constant":true,"id":907,"mutability":"constant","name":"INVALID_TOKEN_NFT_SERIAL_NUMBER","nameLocation":"23487:31:2","nodeType":"VariableDeclaration","scope":1220,"src":"23463:61:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":905,"name":"int32","nodeType":"ElementaryTypeName","src":"23463:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323235","id":906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23521:3:2","typeDescriptions":{"typeIdentifier":"t_rational_225_by_1","typeString":"int_const 225"},"value":"225"},"visibility":"internal"},{"constant":true,"id":910,"mutability":"constant","name":"INVALID_NFT_ID","nameLocation":"23589:14:2","nodeType":"VariableDeclaration","scope":1220,"src":"23565:44:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":908,"name":"int32","nodeType":"ElementaryTypeName","src":"23565:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323236","id":909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23606:3:2","typeDescriptions":{"typeIdentifier":"t_rational_226_by_1","typeString":"int_const 226"},"value":"226"},"visibility":"internal"},{"constant":true,"id":913,"mutability":"constant","name":"METADATA_TOO_LONG","nameLocation":"23657:17:2","nodeType":"VariableDeclaration","scope":1220,"src":"23633:47:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":911,"name":"int32","nodeType":"ElementaryTypeName","src":"23633:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323237","id":912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23677:3:2","typeDescriptions":{"typeIdentifier":"t_rational_227_by_1","typeString":"int_const 227"},"value":"227"},"visibility":"internal"},{"constant":true,"id":916,"mutability":"constant","name":"BATCH_SIZE_LIMIT_EXCEEDED","nameLocation":"23738:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"23714:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":914,"name":"int32","nodeType":"ElementaryTypeName","src":"23714:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323238","id":915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23766:3:2","typeDescriptions":{"typeIdentifier":"t_rational_228_by_1","typeString":"int_const 228"},"value":"228"},"visibility":"internal"},{"constant":true,"id":919,"mutability":"constant","name":"INVALID_QUERY_RANGE","nameLocation":"23846:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"23822:49:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":917,"name":"int32","nodeType":"ElementaryTypeName","src":"23822:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323239","id":918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23868:3:2","typeDescriptions":{"typeIdentifier":"t_rational_229_by_1","typeString":"int_const 229"},"value":"229"},"visibility":"internal"},{"constant":true,"id":922,"mutability":"constant","name":"FRACTION_DIVIDES_BY_ZERO","nameLocation":"23966:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"23942:54:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":920,"name":"int32","nodeType":"ElementaryTypeName","src":"23942:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323330","id":921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23993:3:2","typeDescriptions":{"typeIdentifier":"t_rational_230_by_1","typeString":"int_const 230"},"value":"230"},"visibility":"internal"},{"constant":true,"id":925,"mutability":"constant","name":"INSUFFICIENT_PAYER_BALANCE_FOR_CUSTOM_FEE","nameLocation":"24079:41:2","nodeType":"VariableDeclaration","scope":1220,"src":"24055:71:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":923,"name":"int32","nodeType":"ElementaryTypeName","src":"24055:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323331","id":924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24123:3:2","typeDescriptions":{"typeIdentifier":"t_rational_231_by_1","typeString":"int_const 231"},"value":"231"},"visibility":"internal"},{"constant":true,"id":928,"mutability":"constant","name":"CUSTOM_FEES_LIST_TOO_LONG","nameLocation":"24211:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"24187:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":926,"name":"int32","nodeType":"ElementaryTypeName","src":"24187:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323332","id":927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24239:3:2","typeDescriptions":{"typeIdentifier":"t_rational_232_by_1","typeString":"int_const 232"},"value":"232"},"visibility":"internal"},{"constant":true,"id":931,"mutability":"constant","name":"INVALID_CUSTOM_FEE_COLLECTOR","nameLocation":"24315:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"24291:58:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":929,"name":"int32","nodeType":"ElementaryTypeName","src":"24291:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323333","id":930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24346:3:2","typeDescriptions":{"typeIdentifier":"t_rational_233_by_1","typeString":"int_const 233"},"value":"233"},"visibility":"internal"},{"constant":true,"id":934,"mutability":"constant","name":"INVALID_TOKEN_ID_IN_CUSTOM_FEES","nameLocation":"24441:31:2","nodeType":"VariableDeclaration","scope":1220,"src":"24417:61:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":932,"name":"int32","nodeType":"ElementaryTypeName","src":"24417:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323334","id":933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24475:3:2","typeDescriptions":{"typeIdentifier":"t_rational_234_by_1","typeString":"int_const 234"},"value":"234"},"visibility":"internal"},{"constant":true,"id":937,"mutability":"constant","name":"TOKEN_NOT_ASSOCIATED_TO_FEE_COLLECTOR","nameLocation":"24557:37:2","nodeType":"VariableDeclaration","scope":1220,"src":"24533:67:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":935,"name":"int32","nodeType":"ElementaryTypeName","src":"24533:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323335","id":936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24597:3:2","typeDescriptions":{"typeIdentifier":"t_rational_235_by_1","typeString":"int_const 235"},"value":"235"},"visibility":"internal"},{"constant":true,"id":940,"mutability":"constant","name":"TOKEN_MAX_SUPPLY_REACHED","nameLocation":"24703:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"24679:54:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":938,"name":"int32","nodeType":"ElementaryTypeName","src":"24679:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323336","id":939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24730:3:2","typeDescriptions":{"typeIdentifier":"t_rational_236_by_1","typeString":"int_const 236"},"value":"236"},"visibility":"internal"},{"constant":true,"id":943,"mutability":"constant","name":"SENDER_DOES_NOT_OWN_NFT_SERIAL_NO","nameLocation":"24841:33:2","nodeType":"VariableDeclaration","scope":1220,"src":"24817:63:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":941,"name":"int32","nodeType":"ElementaryTypeName","src":"24817:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323337","id":942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24877:3:2","typeDescriptions":{"typeIdentifier":"t_rational_237_by_1","typeString":"int_const 237"},"value":"237"},"visibility":"internal"},{"constant":true,"id":946,"mutability":"constant","name":"CUSTOM_FEE_NOT_FULLY_SPECIFIED","nameLocation":"25005:30:2","nodeType":"VariableDeclaration","scope":1220,"src":"24981:60:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":944,"name":"int32","nodeType":"ElementaryTypeName","src":"24981:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323338","id":945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25038:3:2","typeDescriptions":{"typeIdentifier":"t_rational_238_by_1","typeString":"int_const 238"},"value":"238"},"visibility":"internal"},{"constant":true,"id":949,"mutability":"constant","name":"CUSTOM_FEE_MUST_BE_POSITIVE","nameLocation":"25151:27:2","nodeType":"VariableDeclaration","scope":1220,"src":"25127:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":947,"name":"int32","nodeType":"ElementaryTypeName","src":"25127:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323339","id":948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25181:3:2","typeDescriptions":{"typeIdentifier":"t_rational_239_by_1","typeString":"int_const 239"},"value":"239"},"visibility":"internal"},{"constant":true,"id":952,"mutability":"constant","name":"TOKEN_HAS_NO_FEE_SCHEDULE_KEY","nameLocation":"25265:29:2","nodeType":"VariableDeclaration","scope":1220,"src":"25241:59:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":950,"name":"int32","nodeType":"ElementaryTypeName","src":"25241:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323430","id":951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25297:3:2","typeDescriptions":{"typeIdentifier":"t_rational_240_by_1","typeString":"int_const 240"},"value":"240"},"visibility":"internal"},{"constant":true,"id":955,"mutability":"constant","name":"CUSTOM_FEE_OUTSIDE_NUMERIC_RANGE","nameLocation":"25370:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"25346:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":953,"name":"int32","nodeType":"ElementaryTypeName","src":"25346:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323431","id":954,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25405:3:2","typeDescriptions":{"typeIdentifier":"t_rational_241_by_1","typeString":"int_const 241"},"value":"241"},"visibility":"internal"},{"constant":true,"id":958,"mutability":"constant","name":"ROYALTY_FRACTION_CANNOT_EXCEED_ONE","nameLocation":"25511:34:2","nodeType":"VariableDeclaration","scope":1220,"src":"25487:64:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":956,"name":"int32","nodeType":"ElementaryTypeName","src":"25487:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323432","id":957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25548:3:2","typeDescriptions":{"typeIdentifier":"t_rational_242_by_1","typeString":"int_const 242"},"value":"242"},"visibility":"internal"},{"constant":true,"id":961,"mutability":"constant","name":"FRACTIONAL_FEE_MAX_AMOUNT_LESS_THAN_MIN_AMOUNT","nameLocation":"25654:46:2","nodeType":"VariableDeclaration","scope":1220,"src":"25630:76:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":959,"name":"int32","nodeType":"ElementaryTypeName","src":"25630:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323433","id":960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25703:3:2","typeDescriptions":{"typeIdentifier":"t_rational_243_by_1","typeString":"int_const 243"},"value":"243"},"visibility":"internal"},{"constant":true,"id":964,"mutability":"constant","name":"CUSTOM_SCHEDULE_ALREADY_HAS_NO_FEES","nameLocation":"25838:35:2","nodeType":"VariableDeclaration","scope":1220,"src":"25814:65:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":962,"name":"int32","nodeType":"ElementaryTypeName","src":"25814:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323434","id":963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25876:3:2","typeDescriptions":{"typeIdentifier":"t_rational_244_by_1","typeString":"int_const 244"},"value":"244"},"visibility":"internal"},{"constant":true,"id":967,"mutability":"constant","name":"CUSTOM_FEE_DENOMINATION_MUST_BE_FUNGIBLE_COMMON","nameLocation":"26015:47:2","nodeType":"VariableDeclaration","scope":1220,"src":"25991:77:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":965,"name":"int32","nodeType":"ElementaryTypeName","src":"25991:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323435","id":966,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26065:3:2","typeDescriptions":{"typeIdentifier":"t_rational_245_by_1","typeString":"int_const 245"},"value":"245"},"visibility":"internal"},{"constant":true,"id":970,"mutability":"constant","name":"CUSTOM_FRACTIONAL_FEE_ONLY_ALLOWED_FOR_FUNGIBLE_COMMON","nameLocation":"26182:54:2","nodeType":"VariableDeclaration","scope":1220,"src":"26158:84:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":968,"name":"int32","nodeType":"ElementaryTypeName","src":"26158:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323436","id":969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26239:3:2","typeDescriptions":{"typeIdentifier":"t_rational_246_by_1","typeString":"int_const 246"},"value":"246"},"visibility":"internal"},{"constant":true,"id":973,"mutability":"constant","name":"INVALID_CUSTOM_FEE_SCHEDULE_KEY","nameLocation":"26336:31:2","nodeType":"VariableDeclaration","scope":1220,"src":"26312:61:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":971,"name":"int32","nodeType":"ElementaryTypeName","src":"26312:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323437","id":972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26370:3:2","typeDescriptions":{"typeIdentifier":"t_rational_247_by_1","typeString":"int_const 247"},"value":"247"},"visibility":"internal"},{"constant":true,"id":976,"mutability":"constant","name":"INVALID_TOKEN_MINT_METADATA","nameLocation":"26455:27:2","nodeType":"VariableDeclaration","scope":1220,"src":"26431:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":974,"name":"int32","nodeType":"ElementaryTypeName","src":"26431:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323438","id":975,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26485:3:2","typeDescriptions":{"typeIdentifier":"t_rational_248_by_1","typeString":"int_const 248"},"value":"248"},"visibility":"internal"},{"constant":true,"id":979,"mutability":"constant","name":"INVALID_TOKEN_BURN_METADATA","nameLocation":"26567:27:2","nodeType":"VariableDeclaration","scope":1220,"src":"26543:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":977,"name":"int32","nodeType":"ElementaryTypeName","src":"26543:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323439","id":978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26597:3:2","typeDescriptions":{"typeIdentifier":"t_rational_249_by_1","typeString":"int_const 249"},"value":"249"},"visibility":"internal"},{"constant":true,"id":982,"mutability":"constant","name":"CURRENT_TREASURY_STILL_OWNS_NFTS","nameLocation":"26679:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"26655:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":980,"name":"int32","nodeType":"ElementaryTypeName","src":"26655:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323530","id":981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26714:3:2","typeDescriptions":{"typeIdentifier":"t_rational_250_by_1","typeString":"int_const 250"},"value":"250"},"visibility":"internal"},{"constant":true,"id":985,"mutability":"constant","name":"ACCOUNT_STILL_OWNS_NFTS","nameLocation":"26822:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"26798:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":983,"name":"int32","nodeType":"ElementaryTypeName","src":"26798:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323531","id":984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26848:3:2","typeDescriptions":{"typeIdentifier":"t_rational_251_by_1","typeString":"int_const 251"},"value":"251"},"visibility":"internal"},{"constant":true,"id":988,"mutability":"constant","name":"TREASURY_MUST_OWN_BURNED_NFT","nameLocation":"26967:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"26943:58:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":986,"name":"int32","nodeType":"ElementaryTypeName","src":"26943:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323532","id":987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26998:3:2","typeDescriptions":{"typeIdentifier":"t_rational_252_by_1","typeString":"int_const 252"},"value":"252"},"visibility":"internal"},{"constant":true,"id":991,"mutability":"constant","name":"ACCOUNT_DOES_NOT_OWN_WIPED_NFT","nameLocation":"27101:30:2","nodeType":"VariableDeclaration","scope":1220,"src":"27077:60:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":989,"name":"int32","nodeType":"ElementaryTypeName","src":"27077:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323533","id":990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27134:3:2","typeDescriptions":{"typeIdentifier":"t_rational_253_by_1","typeString":"int_const 253"},"value":"253"},"visibility":"internal"},{"constant":true,"id":994,"mutability":"constant","name":"ACCOUNT_AMOUNT_TRANSFERS_ONLY_ALLOWED_FOR_FUNGIBLE_COMMON","nameLocation":"27213:57:2","nodeType":"VariableDeclaration","scope":1220,"src":"27189:87:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":992,"name":"int32","nodeType":"ElementaryTypeName","src":"27189:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323534","id":993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27273:3:2","typeDescriptions":{"typeIdentifier":"t_rational_254_by_1","typeString":"int_const 254"},"value":"254"},"visibility":"internal"},{"constant":true,"id":997,"mutability":"constant","name":"MAX_NFTS_IN_PRICE_REGIME_HAVE_BEEN_MINTED","nameLocation":"27398:41:2","nodeType":"VariableDeclaration","scope":1220,"src":"27374:71:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":995,"name":"int32","nodeType":"ElementaryTypeName","src":"27374:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323535","id":996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27442:3:2","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"visibility":"internal"},{"constant":true,"id":1000,"mutability":"constant","name":"PAYER_ACCOUNT_DELETED","nameLocation":"27552:21:2","nodeType":"VariableDeclaration","scope":1220,"src":"27528:51:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":998,"name":"int32","nodeType":"ElementaryTypeName","src":"27528:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323536","id":999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27576:3:2","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"visibility":"internal"},{"constant":true,"id":1003,"mutability":"constant","name":"CUSTOM_FEE_CHARGING_EXCEEDED_MAX_RECURSION_DEPTH","nameLocation":"27657:48:2","nodeType":"VariableDeclaration","scope":1220,"src":"27633:78:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1001,"name":"int32","nodeType":"ElementaryTypeName","src":"27633:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323537","id":1002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27708:3:2","typeDescriptions":{"typeIdentifier":"t_rational_257_by_1","typeString":"int_const 257"},"value":"257"},"visibility":"internal"},{"constant":true,"id":1006,"mutability":"constant","name":"CUSTOM_FEE_CHARGING_EXCEEDED_MAX_ACCOUNT_AMOUNTS","nameLocation":"27836:48:2","nodeType":"VariableDeclaration","scope":1220,"src":"27812:78:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1004,"name":"int32","nodeType":"ElementaryTypeName","src":"27812:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323538","id":1005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27887:3:2","typeDescriptions":{"typeIdentifier":"t_rational_258_by_1","typeString":"int_const 258"},"value":"258"},"visibility":"internal"},{"constant":true,"id":1009,"mutability":"constant","name":"INSUFFICIENT_SENDER_ACCOUNT_BALANCE_FOR_CUSTOM_FEE","nameLocation":"28025:50:2","nodeType":"VariableDeclaration","scope":1220,"src":"28001:80:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1007,"name":"int32","nodeType":"ElementaryTypeName","src":"28001:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323539","id":1008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28078:3:2","typeDescriptions":{"typeIdentifier":"t_rational_259_by_1","typeString":"int_const 259"},"value":"259"},"visibility":"internal"},{"constant":true,"id":1012,"mutability":"constant","name":"SERIAL_NUMBER_LIMIT_REACHED","nameLocation":"28197:27:2","nodeType":"VariableDeclaration","scope":1220,"src":"28173:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1010,"name":"int32","nodeType":"ElementaryTypeName","src":"28173:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323630","id":1011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28227:3:2","typeDescriptions":{"typeIdentifier":"t_rational_260_by_1","typeString":"int_const 260"},"value":"260"},"visibility":"internal"},{"constant":true,"id":1015,"mutability":"constant","name":"CUSTOM_ROYALTY_FEE_ONLY_ALLOWED_FOR_NON_FUNGIBLE_UNIQUE","nameLocation":"28349:55:2","nodeType":"VariableDeclaration","scope":1220,"src":"28325:85:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1013,"name":"int32","nodeType":"ElementaryTypeName","src":"28325:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323631","id":1014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28407:3:2","typeDescriptions":{"typeIdentifier":"t_rational_261_by_1","typeString":"int_const 261"},"value":"261"},"visibility":"internal"},{"constant":true,"id":1018,"mutability":"constant","name":"NO_REMAINING_AUTOMATIC_ASSOCIATIONS","nameLocation":"28505:35:2","nodeType":"VariableDeclaration","scope":1220,"src":"28481:65:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1016,"name":"int32","nodeType":"ElementaryTypeName","src":"28481:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323632","id":1017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28543:3:2","typeDescriptions":{"typeIdentifier":"t_rational_262_by_1","typeString":"int_const 262"},"value":"262"},"visibility":"internal"},{"constant":true,"id":1021,"mutability":"constant","name":"EXISTING_AUTOMATIC_ASSOCIATIONS_EXCEED_GIVEN_LIMIT","nameLocation":"28650:50:2","nodeType":"VariableDeclaration","scope":1220,"src":"28626:80:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1019,"name":"int32","nodeType":"ElementaryTypeName","src":"28626:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323633","id":1020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28703:3:2","typeDescriptions":{"typeIdentifier":"t_rational_263_by_1","typeString":"int_const 263"},"value":"263"},"visibility":"internal"},{"constant":true,"id":1024,"mutability":"constant","name":"REQUESTED_NUM_AUTOMATIC_ASSOCIATIONS_EXCEEDS_ASSOCIATION_LIMIT","nameLocation":"28833:62:2","nodeType":"VariableDeclaration","scope":1220,"src":"28809:92:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1022,"name":"int32","nodeType":"ElementaryTypeName","src":"28809:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323634","id":1023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28898:3:2","typeDescriptions":{"typeIdentifier":"t_rational_264_by_1","typeString":"int_const 264"},"value":"264"},"visibility":"internal"},{"constant":true,"id":1027,"mutability":"constant","name":"TOKEN_IS_PAUSED","nameLocation":"29049:15:2","nodeType":"VariableDeclaration","scope":1220,"src":"29025:45:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1025,"name":"int32","nodeType":"ElementaryTypeName","src":"29025:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323635","id":1026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29067:3:2","typeDescriptions":{"typeIdentifier":"t_rational_265_by_1","typeString":"int_const 265"},"value":"265"},"visibility":"internal"},{"constant":true,"id":1030,"mutability":"constant","name":"TOKEN_HAS_NO_PAUSE_KEY","nameLocation":"29191:22:2","nodeType":"VariableDeclaration","scope":1220,"src":"29167:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1028,"name":"int32","nodeType":"ElementaryTypeName","src":"29167:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323636","id":1029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29216:3:2","typeDescriptions":{"typeIdentifier":"t_rational_266_by_1","typeString":"int_const 266"},"value":"266"},"visibility":"internal"},{"constant":true,"id":1033,"mutability":"constant","name":"INVALID_PAUSE_KEY","nameLocation":"29282:17:2","nodeType":"VariableDeclaration","scope":1220,"src":"29258:47:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1031,"name":"int32","nodeType":"ElementaryTypeName","src":"29258:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323637","id":1032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29302:3:2","typeDescriptions":{"typeIdentifier":"t_rational_267_by_1","typeString":"int_const 267"},"value":"267"},"visibility":"internal"},{"constant":true,"id":1036,"mutability":"constant","name":"FREEZE_UPDATE_FILE_DOES_NOT_EXIST","nameLocation":"29373:33:2","nodeType":"VariableDeclaration","scope":1220,"src":"29349:63:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1034,"name":"int32","nodeType":"ElementaryTypeName","src":"29349:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323638","id":1035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29409:3:2","typeDescriptions":{"typeIdentifier":"t_rational_268_by_1","typeString":"int_const 268"},"value":"268"},"visibility":"internal"},{"constant":true,"id":1039,"mutability":"constant","name":"FREEZE_UPDATE_FILE_HASH_DOES_NOT_MATCH","nameLocation":"29502:38:2","nodeType":"VariableDeclaration","scope":1220,"src":"29478:68:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1037,"name":"int32","nodeType":"ElementaryTypeName","src":"29478:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323639","id":1038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29543:3:2","typeDescriptions":{"typeIdentifier":"t_rational_269_by_1","typeString":"int_const 269"},"value":"269"},"visibility":"internal"},{"constant":true,"id":1042,"mutability":"constant","name":"NO_UPGRADE_HAS_BEEN_PREPARED","nameLocation":"29667:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"29643:58:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1040,"name":"int32","nodeType":"ElementaryTypeName","src":"29643:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323730","id":1041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29698:3:2","typeDescriptions":{"typeIdentifier":"t_rational_270_by_1","typeString":"int_const 270"},"value":"270"},"visibility":"internal"},{"constant":true,"id":1045,"mutability":"constant","name":"NO_FREEZE_IS_SCHEDULED","nameLocation":"29809:22:2","nodeType":"VariableDeclaration","scope":1220,"src":"29785:52:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1043,"name":"int32","nodeType":"ElementaryTypeName","src":"29785:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323731","id":1044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29834:3:2","typeDescriptions":{"typeIdentifier":"t_rational_271_by_1","typeString":"int_const 271"},"value":"271"},"visibility":"internal"},{"constant":true,"id":1048,"mutability":"constant","name":"UPDATE_FILE_HASH_CHANGED_SINCE_PREPARE_UPGRADE","nameLocation":"29935:46:2","nodeType":"VariableDeclaration","scope":1220,"src":"29911:76:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1046,"name":"int32","nodeType":"ElementaryTypeName","src":"29911:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323732","id":1047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29984:3:2","typeDescriptions":{"typeIdentifier":"t_rational_272_by_1","typeString":"int_const 272"},"value":"272"},"visibility":"internal"},{"constant":true,"id":1051,"mutability":"constant","name":"FREEZE_START_TIME_MUST_BE_FUTURE","nameLocation":"30168:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"30144:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1049,"name":"int32","nodeType":"ElementaryTypeName","src":"30144:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323733","id":1050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30203:3:2","typeDescriptions":{"typeIdentifier":"t_rational_273_by_1","typeString":"int_const 273"},"value":"273"},"visibility":"internal"},{"constant":true,"id":1054,"mutability":"constant","name":"PREPARED_UPDATE_FILE_IS_IMMUTABLE","nameLocation":"30296:33:2","nodeType":"VariableDeclaration","scope":1220,"src":"30272:63:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1052,"name":"int32","nodeType":"ElementaryTypeName","src":"30272:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323734","id":1053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30332:3:2","typeDescriptions":{"typeIdentifier":"t_rational_274_by_1","typeString":"int_const 274"},"value":"274"},"visibility":"internal"},{"constant":true,"id":1057,"mutability":"constant","name":"FREEZE_ALREADY_SCHEDULED","nameLocation":"30504:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"30480:54:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1055,"name":"int32","nodeType":"ElementaryTypeName","src":"30480:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323735","id":1056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30531:3:2","typeDescriptions":{"typeIdentifier":"t_rational_275_by_1","typeString":"int_const 275"},"value":"275"},"visibility":"internal"},{"constant":true,"id":1060,"mutability":"constant","name":"FREEZE_UPGRADE_IN_PROGRESS","nameLocation":"30664:26:2","nodeType":"VariableDeclaration","scope":1220,"src":"30640:56:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1058,"name":"int32","nodeType":"ElementaryTypeName","src":"30640:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323736","id":1059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30693:3:2","typeDescriptions":{"typeIdentifier":"t_rational_276_by_1","typeString":"int_const 276"},"value":"276"},"visibility":"internal"},{"constant":true,"id":1063,"mutability":"constant","name":"UPDATE_FILE_ID_DOES_NOT_MATCH_PREPARED","nameLocation":"30870:38:2","nodeType":"VariableDeclaration","scope":1220,"src":"30846:68:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1061,"name":"int32","nodeType":"ElementaryTypeName","src":"30846:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323737","id":1062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30911:3:2","typeDescriptions":{"typeIdentifier":"t_rational_277_by_1","typeString":"int_const 277"},"value":"277"},"visibility":"internal"},{"constant":true,"id":1066,"mutability":"constant","name":"UPDATE_FILE_HASH_DOES_NOT_MATCH_PREPARED","nameLocation":"31085:40:2","nodeType":"VariableDeclaration","scope":1220,"src":"31061:70:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1064,"name":"int32","nodeType":"ElementaryTypeName","src":"31061:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323738","id":1065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31128:3:2","typeDescriptions":{"typeIdentifier":"t_rational_278_by_1","typeString":"int_const 278"},"value":"278"},"visibility":"internal"},{"constant":true,"id":1069,"mutability":"constant","name":"CONSENSUS_GAS_EXHAUSTED","nameLocation":"31304:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"31280:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1067,"name":"int32","nodeType":"ElementaryTypeName","src":"31280:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323739","id":1068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31330:3:2","typeDescriptions":{"typeIdentifier":"t_rational_279_by_1","typeString":"int_const 279"},"value":"279"},"visibility":"internal"},{"constant":true,"id":1072,"mutability":"constant","name":"REVERTED_SUCCESS","nameLocation":"31470:16:2","nodeType":"VariableDeclaration","scope":1220,"src":"31446:46:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1070,"name":"int32","nodeType":"ElementaryTypeName","src":"31446:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323830","id":1071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31489:3:2","typeDescriptions":{"typeIdentifier":"t_rational_280_by_1","typeString":"int_const 280"},"value":"280"},"visibility":"internal"},{"constant":true,"id":1075,"mutability":"constant","name":"MAX_STORAGE_IN_PRICE_REGIME_HAS_BEEN_USED","nameLocation":"31583:41:2","nodeType":"VariableDeclaration","scope":1220,"src":"31559:71:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1073,"name":"int32","nodeType":"ElementaryTypeName","src":"31559:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323831","id":1074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31627:3:2","typeDescriptions":{"typeIdentifier":"t_rational_281_by_1","typeString":"int_const 281"},"value":"281"},"visibility":"internal"},{"constant":true,"id":1078,"mutability":"constant","name":"INVALID_ALIAS_KEY","nameLocation":"31741:17:2","nodeType":"VariableDeclaration","scope":1220,"src":"31717:47:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1076,"name":"int32","nodeType":"ElementaryTypeName","src":"31717:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323832","id":1077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31761:3:2","typeDescriptions":{"typeIdentifier":"t_rational_282_by_1","typeString":"int_const 282"},"value":"282"},"visibility":"internal"},{"constant":true,"id":1081,"mutability":"constant","name":"UNEXPECTED_TOKEN_DECIMALS","nameLocation":"31998:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"31974:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1079,"name":"int32","nodeType":"ElementaryTypeName","src":"31974:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323833","id":1080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32026:3:2","typeDescriptions":{"typeIdentifier":"t_rational_283_by_1","typeString":"int_const 283"},"value":"283"},"visibility":"internal"},{"constant":true,"id":1084,"mutability":"constant","name":"INVALID_PROXY_ACCOUNT_ID","nameLocation":"32165:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"32141:54:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1082,"name":"int32","nodeType":"ElementaryTypeName","src":"32141:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323834","id":1083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32192:3:2","typeDescriptions":{"typeIdentifier":"t_rational_284_by_1","typeString":"int_const 284"},"value":"284"},"visibility":"internal"},{"constant":true,"id":1087,"mutability":"constant","name":"INVALID_TRANSFER_ACCOUNT_ID","nameLocation":"32292:27:2","nodeType":"VariableDeclaration","scope":1220,"src":"32268:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1085,"name":"int32","nodeType":"ElementaryTypeName","src":"32268:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323835","id":1086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32322:3:2","typeDescriptions":{"typeIdentifier":"t_rational_285_by_1","typeString":"int_const 285"},"value":"285"},"visibility":"internal"},{"constant":true,"id":1090,"mutability":"constant","name":"INVALID_FEE_COLLECTOR_ACCOUNT_ID","nameLocation":"32440:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"32416:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1088,"name":"int32","nodeType":"ElementaryTypeName","src":"32416:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323836","id":1089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32475:3:2","typeDescriptions":{"typeIdentifier":"t_rational_286_by_1","typeString":"int_const 286"},"value":"286"},"visibility":"internal"},{"constant":true,"id":1093,"mutability":"constant","name":"ALIAS_IS_IMMUTABLE","nameLocation":"32596:18:2","nodeType":"VariableDeclaration","scope":1220,"src":"32572:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1091,"name":"int32","nodeType":"ElementaryTypeName","src":"32572:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323837","id":1092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32617:3:2","typeDescriptions":{"typeIdentifier":"t_rational_287_by_1","typeString":"int_const 287"},"value":"287"},"visibility":"internal"},{"constant":true,"id":1096,"mutability":"constant","name":"SPENDER_ACCOUNT_SAME_AS_OWNER","nameLocation":"32739:29:2","nodeType":"VariableDeclaration","scope":1220,"src":"32715:59:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1094,"name":"int32","nodeType":"ElementaryTypeName","src":"32715:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323838","id":1095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32771:3:2","typeDescriptions":{"typeIdentifier":"t_rational_288_by_1","typeString":"int_const 288"},"value":"288"},"visibility":"internal"},{"constant":true,"id":1099,"mutability":"constant","name":"AMOUNT_EXCEEDS_TOKEN_MAX_SUPPLY","nameLocation":"32907:31:2","nodeType":"VariableDeclaration","scope":1220,"src":"32883:61:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1097,"name":"int32","nodeType":"ElementaryTypeName","src":"32883:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323839","id":1098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32941:3:2","typeDescriptions":{"typeIdentifier":"t_rational_289_by_1","typeString":"int_const 289"},"value":"289"},"visibility":"internal"},{"constant":true,"id":1102,"mutability":"constant","name":"NEGATIVE_ALLOWANCE_AMOUNT","nameLocation":"33096:25:2","nodeType":"VariableDeclaration","scope":1220,"src":"33072:55:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1100,"name":"int32","nodeType":"ElementaryTypeName","src":"33072:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323930","id":1101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33124:3:2","typeDescriptions":{"typeIdentifier":"t_rational_290_by_1","typeString":"int_const 290"},"value":"290"},"visibility":"internal"},{"constant":true,"id":1105,"mutability":"constant","name":"CANNOT_APPROVE_FOR_ALL_FUNGIBLE_COMMON","nameLocation":"33227:38:2","nodeType":"VariableDeclaration","scope":1220,"src":"33203:68:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1103,"name":"int32","nodeType":"ElementaryTypeName","src":"33203:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323931","id":1104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33268:3:2","typeDescriptions":{"typeIdentifier":"t_rational_291_by_1","typeString":"int_const 291"},"value":"291"},"visibility":"internal"},{"constant":true,"id":1108,"mutability":"constant","name":"SPENDER_DOES_NOT_HAVE_ALLOWANCE","nameLocation":"33376:31:2","nodeType":"VariableDeclaration","scope":1220,"src":"33352:61:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1106,"name":"int32","nodeType":"ElementaryTypeName","src":"33352:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323932","id":1107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33410:3:2","typeDescriptions":{"typeIdentifier":"t_rational_292_by_1","typeString":"int_const 292"},"value":"292"},"visibility":"internal"},{"constant":true,"id":1111,"mutability":"constant","name":"AMOUNT_EXCEEDS_ALLOWANCE","nameLocation":"33530:24:2","nodeType":"VariableDeclaration","scope":1220,"src":"33506:54:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1109,"name":"int32","nodeType":"ElementaryTypeName","src":"33506:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323933","id":1110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33557:3:2","typeDescriptions":{"typeIdentifier":"t_rational_293_by_1","typeString":"int_const 293"},"value":"293"},"visibility":"internal"},{"constant":true,"id":1114,"mutability":"constant","name":"MAX_ALLOWANCES_EXCEEDED","nameLocation":"33677:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"33653:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1112,"name":"int32","nodeType":"ElementaryTypeName","src":"33653:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323934","id":1113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33703:3:2","typeDescriptions":{"typeIdentifier":"t_rational_294_by_1","typeString":"int_const 294"},"value":"294"},"visibility":"internal"},{"constant":true,"id":1117,"mutability":"constant","name":"EMPTY_ALLOWANCES","nameLocation":"33881:16:2","nodeType":"VariableDeclaration","scope":1220,"src":"33857:46:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1115,"name":"int32","nodeType":"ElementaryTypeName","src":"33857:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323935","id":1116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33900:3:2","typeDescriptions":{"typeIdentifier":"t_rational_295_by_1","typeString":"int_const 295"},"value":"295"},"visibility":"internal"},{"constant":true,"id":1120,"mutability":"constant","name":"SPENDER_ACCOUNT_REPEATED_IN_ALLOWANCES","nameLocation":"33999:38:2","nodeType":"VariableDeclaration","scope":1220,"src":"33975:68:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1118,"name":"int32","nodeType":"ElementaryTypeName","src":"33975:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323936","id":1119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34040:3:2","typeDescriptions":{"typeIdentifier":"t_rational_296_by_1","typeString":"int_const 296"},"value":"296"},"visibility":"internal"},{"constant":true,"id":1123,"mutability":"constant","name":"REPEATED_SERIAL_NUMS_IN_NFT_ALLOWANCES","nameLocation":"34214:38:2","nodeType":"VariableDeclaration","scope":1220,"src":"34190:68:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1121,"name":"int32","nodeType":"ElementaryTypeName","src":"34190:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323937","id":1122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34255:3:2","typeDescriptions":{"typeIdentifier":"t_rational_297_by_1","typeString":"int_const 297"},"value":"297"},"visibility":"internal"},{"constant":true,"id":1126,"mutability":"constant","name":"FUNGIBLE_TOKEN_IN_NFT_ALLOWANCES","nameLocation":"34378:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"34354:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1124,"name":"int32","nodeType":"ElementaryTypeName","src":"34354:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323938","id":1125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34413:3:2","typeDescriptions":{"typeIdentifier":"t_rational_298_by_1","typeString":"int_const 298"},"value":"298"},"visibility":"internal"},{"constant":true,"id":1129,"mutability":"constant","name":"NFT_IN_FUNGIBLE_TOKEN_ALLOWANCES","nameLocation":"34494:32:2","nodeType":"VariableDeclaration","scope":1220,"src":"34470:62:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1127,"name":"int32","nodeType":"ElementaryTypeName","src":"34470:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"323939","id":1128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34529:3:2","typeDescriptions":{"typeIdentifier":"t_rational_299_by_1","typeString":"int_const 299"},"value":"299"},"visibility":"internal"},{"constant":true,"id":1132,"mutability":"constant","name":"INVALID_ALLOWANCE_OWNER_ID","nameLocation":"34618:26:2","nodeType":"VariableDeclaration","scope":1220,"src":"34594:56:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1130,"name":"int32","nodeType":"ElementaryTypeName","src":"34594:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333030","id":1131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34647:3:2","typeDescriptions":{"typeIdentifier":"t_rational_300_by_1","typeString":"int_const 300"},"value":"300"},"visibility":"internal"},{"constant":true,"id":1135,"mutability":"constant","name":"INVALID_ALLOWANCE_SPENDER_ID","nameLocation":"34751:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"34727:58:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1133,"name":"int32","nodeType":"ElementaryTypeName","src":"34727:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333031","id":1134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34782:3:2","typeDescriptions":{"typeIdentifier":"t_rational_301_by_1","typeString":"int_const 301"},"value":"301"},"visibility":"internal"},{"constant":true,"id":1138,"mutability":"constant","name":"REPEATED_ALLOWANCES_TO_DELETE","nameLocation":"34888:29:2","nodeType":"VariableDeclaration","scope":1220,"src":"34864:59:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1136,"name":"int32","nodeType":"ElementaryTypeName","src":"34864:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333032","id":1137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"34920:3:2","typeDescriptions":{"typeIdentifier":"t_rational_302_by_1","typeString":"int_const 302"},"value":"302"},"visibility":"internal"},{"constant":true,"id":1141,"mutability":"constant","name":"INVALID_DELEGATING_SPENDER","nameLocation":"35068:26:2","nodeType":"VariableDeclaration","scope":1220,"src":"35044:56:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1139,"name":"int32","nodeType":"ElementaryTypeName","src":"35044:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333033","id":1140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35097:3:2","typeDescriptions":{"typeIdentifier":"t_rational_303_by_1","typeString":"int_const 303"},"value":"303"},"visibility":"internal"},{"constant":true,"id":1144,"mutability":"constant","name":"DELEGATING_SPENDER_CANNOT_GRANT_APPROVE_FOR_ALL","nameLocation":"35217:47:2","nodeType":"VariableDeclaration","scope":1220,"src":"35193:77:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1142,"name":"int32","nodeType":"ElementaryTypeName","src":"35193:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333034","id":1143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35267:3:2","typeDescriptions":{"typeIdentifier":"t_rational_304_by_1","typeString":"int_const 304"},"value":"304"},"visibility":"internal"},{"constant":true,"id":1147,"mutability":"constant","name":"DELEGATING_SPENDER_DOES_NOT_HAVE_APPROVE_FOR_ALL","nameLocation":"35404:48:2","nodeType":"VariableDeclaration","scope":1220,"src":"35380:78:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1145,"name":"int32","nodeType":"ElementaryTypeName","src":"35380:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333035","id":1146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35455:3:2","typeDescriptions":{"typeIdentifier":"t_rational_305_by_1","typeString":"int_const 305"},"value":"305"},"visibility":"internal"},{"constant":true,"id":1150,"mutability":"constant","name":"SCHEDULE_EXPIRATION_TIME_TOO_FAR_IN_FUTURE","nameLocation":"35633:42:2","nodeType":"VariableDeclaration","scope":1220,"src":"35609:72:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1148,"name":"int32","nodeType":"ElementaryTypeName","src":"35609:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333036","id":1149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35678:3:2","typeDescriptions":{"typeIdentifier":"t_rational_306_by_1","typeString":"int_const 306"},"value":"306"},"visibility":"internal"},{"constant":true,"id":1153,"mutability":"constant","name":"SCHEDULE_EXPIRATION_TIME_MUST_BE_HIGHER_THAN_CONSENSUS_TIME","nameLocation":"35817:59:2","nodeType":"VariableDeclaration","scope":1220,"src":"35793:89:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1151,"name":"int32","nodeType":"ElementaryTypeName","src":"35793:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333037","id":1152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"35879:3:2","typeDescriptions":{"typeIdentifier":"t_rational_307_by_1","typeString":"int_const 307"},"value":"307"},"visibility":"internal"},{"constant":true,"id":1156,"mutability":"constant","name":"SCHEDULE_FUTURE_THROTTLE_EXCEEDED","nameLocation":"36037:33:2","nodeType":"VariableDeclaration","scope":1220,"src":"36013:63:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1154,"name":"int32","nodeType":"ElementaryTypeName","src":"36013:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333038","id":1155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36073:3:2","typeDescriptions":{"typeIdentifier":"t_rational_308_by_1","typeString":"int_const 308"},"value":"308"},"visibility":"internal"},{"constant":true,"id":1159,"mutability":"constant","name":"SCHEDULE_FUTURE_GAS_LIMIT_EXCEEDED","nameLocation":"36238:34:2","nodeType":"VariableDeclaration","scope":1220,"src":"36214:64:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1157,"name":"int32","nodeType":"ElementaryTypeName","src":"36214:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333039","id":1158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36275:3:2","typeDescriptions":{"typeIdentifier":"t_rational_309_by_1","typeString":"int_const 309"},"value":"309"},"visibility":"internal"},{"constant":true,"id":1162,"mutability":"constant","name":"INVALID_ETHEREUM_TRANSACTION","nameLocation":"36444:28:2","nodeType":"VariableDeclaration","scope":1220,"src":"36420:58:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1160,"name":"int32","nodeType":"ElementaryTypeName","src":"36420:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333130","id":1161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36475:3:2","typeDescriptions":{"typeIdentifier":"t_rational_310_by_1","typeString":"int_const 310"},"value":"310"},"visibility":"internal"},{"constant":true,"id":1165,"mutability":"constant","name":"WRONG_CHAIN_ID","nameLocation":"36668:14:2","nodeType":"VariableDeclaration","scope":1220,"src":"36644:44:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1163,"name":"int32","nodeType":"ElementaryTypeName","src":"36644:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333131","id":1164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36685:3:2","typeDescriptions":{"typeIdentifier":"t_rational_311_by_1","typeString":"int_const 311"},"value":"311"},"visibility":"internal"},{"constant":true,"id":1168,"mutability":"constant","name":"WRONG_NONCE","nameLocation":"36806:11:2","nodeType":"VariableDeclaration","scope":1220,"src":"36782:41:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1166,"name":"int32","nodeType":"ElementaryTypeName","src":"36782:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333132","id":1167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36820:3:2","typeDescriptions":{"typeIdentifier":"t_rational_312_by_1","typeString":"int_const 312"},"value":"312"},"visibility":"internal"},{"constant":true,"id":1171,"mutability":"constant","name":"ACCESS_LIST_UNSUPPORTED","nameLocation":"36954:23:2","nodeType":"VariableDeclaration","scope":1220,"src":"36930:53:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1169,"name":"int32","nodeType":"ElementaryTypeName","src":"36930:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333133","id":1170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36980:3:2","typeDescriptions":{"typeIdentifier":"t_rational_313_by_1","typeString":"int_const 313"},"value":"313"},"visibility":"internal"},{"constant":true,"id":1174,"mutability":"constant","name":"SCHEDULE_PENDING_EXPIRATION","nameLocation":"37103:27:2","nodeType":"VariableDeclaration","scope":1220,"src":"37079:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1172,"name":"int32","nodeType":"ElementaryTypeName","src":"37079:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333134","id":1173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37133:3:2","typeDescriptions":{"typeIdentifier":"t_rational_314_by_1","typeString":"int_const 314"},"value":"314"},"visibility":"internal"},{"constant":true,"id":1177,"mutability":"constant","name":"CONTRACT_IS_TOKEN_TREASURY","nameLocation":"37292:26:2","nodeType":"VariableDeclaration","scope":1220,"src":"37268:56:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1175,"name":"int32","nodeType":"ElementaryTypeName","src":"37268:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333135","id":1176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37321:3:2","typeDescriptions":{"typeIdentifier":"t_rational_315_by_1","typeString":"int_const 315"},"value":"315"},"visibility":"internal"},{"constant":true,"id":1180,"mutability":"constant","name":"CONTRACT_HAS_NON_ZERO_TOKEN_BALANCES","nameLocation":"37436:36:2","nodeType":"VariableDeclaration","scope":1220,"src":"37412:66:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1178,"name":"int32","nodeType":"ElementaryTypeName","src":"37412:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333136","id":1179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37475:3:2","typeDescriptions":{"typeIdentifier":"t_rational_316_by_1","typeString":"int_const 316"},"value":"316"},"visibility":"internal"},{"constant":true,"id":1183,"mutability":"constant","name":"CONTRACT_EXPIRED_AND_PENDING_REMOVAL","nameLocation":"37594:36:2","nodeType":"VariableDeclaration","scope":1220,"src":"37570:66:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1181,"name":"int32","nodeType":"ElementaryTypeName","src":"37570:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333137","id":1182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37633:3:2","typeDescriptions":{"typeIdentifier":"t_rational_317_by_1","typeString":"int_const 317"},"value":"317"},"visibility":"internal"},{"constant":true,"id":1186,"mutability":"constant","name":"CONTRACT_HAS_NO_AUTO_RENEW_ACCOUNT","nameLocation":"37841:34:2","nodeType":"VariableDeclaration","scope":1220,"src":"37817:64:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1184,"name":"int32","nodeType":"ElementaryTypeName","src":"37817:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333138","id":1185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"37878:3:2","typeDescriptions":{"typeIdentifier":"t_rational_318_by_1","typeString":"int_const 318"},"value":"318"},"visibility":"internal"},{"constant":true,"id":1189,"mutability":"constant","name":"PERMANENT_REMOVAL_REQUIRES_SYSTEM_INITIATION","nameLocation":"38030:44:2","nodeType":"VariableDeclaration","scope":1220,"src":"38006:74:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1187,"name":"int32","nodeType":"ElementaryTypeName","src":"38006:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333139","id":1188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38077:3:2","typeDescriptions":{"typeIdentifier":"t_rational_319_by_1","typeString":"int_const 319"},"value":"319"},"visibility":"internal"},{"constant":true,"id":1192,"mutability":"constant","name":"PROXY_ACCOUNT_ID_FIELD_IS_DEPRECATED","nameLocation":"38180:36:2","nodeType":"VariableDeclaration","scope":1220,"src":"38156:66:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1190,"name":"int32","nodeType":"ElementaryTypeName","src":"38156:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333230","id":1191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38219:3:2","typeDescriptions":{"typeIdentifier":"t_rational_320_by_1","typeString":"int_const 320"},"value":"320"},"visibility":"internal"},{"constant":true,"id":1195,"mutability":"constant","name":"SELF_STAKING_IS_NOT_ALLOWED","nameLocation":"38330:27:2","nodeType":"VariableDeclaration","scope":1220,"src":"38306:57:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1193,"name":"int32","nodeType":"ElementaryTypeName","src":"38306:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333231","id":1194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38360:3:2","typeDescriptions":{"typeIdentifier":"t_rational_321_by_1","typeString":"int_const 321"},"value":"321"},"visibility":"internal"},{"constant":true,"id":1198,"mutability":"constant","name":"INVALID_STAKING_ID","nameLocation":"38491:18:2","nodeType":"VariableDeclaration","scope":1220,"src":"38467:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1196,"name":"int32","nodeType":"ElementaryTypeName","src":"38467:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333232","id":1197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38512:3:2","typeDescriptions":{"typeIdentifier":"t_rational_322_by_1","typeString":"int_const 322"},"value":"322"},"visibility":"internal"},{"constant":true,"id":1201,"mutability":"constant","name":"STAKING_NOT_ENABLED","nameLocation":"38626:19:2","nodeType":"VariableDeclaration","scope":1220,"src":"38602:49:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1199,"name":"int32","nodeType":"ElementaryTypeName","src":"38602:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333233","id":1200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38648:3:2","typeDescriptions":{"typeIdentifier":"t_rational_323_by_1","typeString":"int_const 323"},"value":"323"},"visibility":"internal"},{"constant":true,"id":1204,"mutability":"constant","name":"INVALID_PRNG_RANGE","nameLocation":"38755:18:2","nodeType":"VariableDeclaration","scope":1220,"src":"38731:48:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1202,"name":"int32","nodeType":"ElementaryTypeName","src":"38731:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333234","id":1203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38776:3:2","typeDescriptions":{"typeIdentifier":"t_rational_324_by_1","typeString":"int_const 324"},"value":"324"},"visibility":"internal"},{"constant":true,"id":1207,"mutability":"constant","name":"MAX_ENTITIES_IN_PRICE_REGIME_HAVE_BEEN_CREATED","nameLocation":"38868:46:2","nodeType":"VariableDeclaration","scope":1220,"src":"38844:76:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1205,"name":"int32","nodeType":"ElementaryTypeName","src":"38844:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333235","id":1206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"38917:3:2","typeDescriptions":{"typeIdentifier":"t_rational_325_by_1","typeString":"int_const 325"},"value":"325"},"visibility":"internal"},{"constant":true,"id":1210,"mutability":"constant","name":"INVALID_FULL_PREFIX_SIGNATURE_FOR_PRECOMPILE","nameLocation":"39039:44:2","nodeType":"VariableDeclaration","scope":1220,"src":"39015:74:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1208,"name":"int32","nodeType":"ElementaryTypeName","src":"39015:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333236","id":1209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39086:3:2","typeDescriptions":{"typeIdentifier":"t_rational_326_by_1","typeString":"int_const 326"},"value":"326"},"visibility":"internal"},{"constant":true,"id":1213,"mutability":"constant","name":"INSUFFICIENT_BALANCES_FOR_STORAGE_RENT","nameLocation":"39176:38:2","nodeType":"VariableDeclaration","scope":1220,"src":"39152:68:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1211,"name":"int32","nodeType":"ElementaryTypeName","src":"39152:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333237","id":1212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39217:3:2","typeDescriptions":{"typeIdentifier":"t_rational_327_by_1","typeString":"int_const 327"},"value":"327"},"visibility":"internal"},{"constant":true,"id":1216,"mutability":"constant","name":"MAX_CHILD_RECORDS_EXCEEDED","nameLocation":"39399:26:2","nodeType":"VariableDeclaration","scope":1220,"src":"39375:56:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1214,"name":"int32","nodeType":"ElementaryTypeName","src":"39375:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333238","id":1215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39428:3:2","typeDescriptions":{"typeIdentifier":"t_rational_328_by_1","typeString":"int_const 328"},"value":"328"},"visibility":"internal"},{"constant":true,"id":1219,"mutability":"constant","name":"INSUFFICIENT_BALANCES_FOR_RENEWAL_FEES","nameLocation":"39614:38:2","nodeType":"VariableDeclaration","scope":1220,"src":"39590:68:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1217,"name":"int32","nodeType":"ElementaryTypeName","src":"39590:5:2","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"333239","id":1218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39655:3:2","typeDescriptions":{"typeIdentifier":"t_rational_329_by_1","typeString":"int_const 329"},"value":"329"},"visibility":"internal"}],"scope":1221,"src":"72:39743:2","usedErrors":[]}],"src":"39:39776:2"},"id":2},"contracts/utils/HederaTokenService.sol":{"ast":{"absolutePath":"contracts/utils/HederaTokenService.sol","exportedSymbols":{"HederaResponseCodes":[1220],"HederaTokenService":[3726],"IHederaTokenService":[4596]},"id":3727,"license":"Apache-2.0","nodeType":"SourceUnit","nodes":[{"id":1222,"literals":["solidity",">=","0.5",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"39:31:3"},{"id":1223,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"71:33:3"},{"absolutePath":"contracts/utils/HederaResponseCodes.sol","file":"./HederaResponseCodes.sol","id":1224,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3727,"sourceUnit":1221,"src":"106:35:3","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/utils/IHederaTokenService.sol","file":"./IHederaTokenService.sol","id":1225,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":3727,"sourceUnit":4597,"src":"142:35:3","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"HederaTokenService","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":3726,"linearizedBaseContracts":[3726],"name":"HederaTokenService","nameLocation":"197:18:3","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":1231,"mutability":"constant","name":"precompileAddress","nameLocation":"239:17:3","nodeType":"VariableDeclaration","scope":3726,"src":"222:51:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1226,"name":"address","nodeType":"ElementaryTypeName","src":"222:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"3078313637","id":1229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"267:5:3","typeDescriptions":{"typeIdentifier":"t_rational_359_by_1","typeString":"int_const 359"},"value":"0x167"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_359_by_1","typeString":"int_const 359"}],"id":1228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"259:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1227,"name":"address","nodeType":"ElementaryTypeName","src":"259:7:3","typeDescriptions":{}}},"id":1230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"259:14:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":true,"id":1234,"mutability":"constant","name":"defaultAutoRenewPeriod","nameLocation":"320:22:3","nodeType":"VariableDeclaration","scope":3726,"src":"305:47:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1232,"name":"int32","nodeType":"ElementaryTypeName","src":"305:5:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"value":{"hexValue":"37373736303030","id":1233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"345:7:3","typeDescriptions":{"typeIdentifier":"t_rational_7776000_by_1","typeString":"int_const 7776000"},"value":"7776000"},"visibility":"internal"},{"body":{"id":1261,"nodeType":"Block","src":"433:172:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1249,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int64","typeString":"int64"},"id":1243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":1239,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1237,"src":"447:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},"id":1240,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"453:6:3","memberName":"expiry","nodeType":"MemberAccess","referencedDeclaration":3806,"src":"447:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}},"id":1241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"460:6:3","memberName":"second","nodeType":"MemberAccess","referencedDeclaration":3763,"src":"447:19:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"470:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"447:24:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_int64","typeString":"int64"},"id":1248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":1244,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1237,"src":"475:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},"id":1245,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"481:6:3","memberName":"expiry","nodeType":"MemberAccess","referencedDeclaration":3806,"src":"475:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}},"id":1246,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"488:15:3","memberName":"autoRenewPeriod","nodeType":"MemberAccess","referencedDeclaration":3767,"src":"475:28:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"507:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"475:33:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"447:61:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1259,"nodeType":"IfStatement","src":"443:145:3","trueBody":{"id":1258,"nodeType":"Block","src":"510:78:3","statements":[{"expression":{"id":1256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"expression":{"id":1250,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1237,"src":"524:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},"id":1253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"530:6:3","memberName":"expiry","nodeType":"MemberAccess","referencedDeclaration":3806,"src":"524:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}},"id":1254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"537:15:3","memberName":"autoRenewPeriod","nodeType":"MemberAccess","referencedDeclaration":3767,"src":"524:28:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1255,"name":"defaultAutoRenewPeriod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1234,"src":"555:22:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"524:53:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":1257,"nodeType":"ExpressionStatement","src":"524:53:3"}]}},{"id":1260,"nodeType":"PlaceholderStatement","src":"597:1:3"}]},"id":1262,"name":"nonEmptyExpiry","nameLocation":"368:14:3","nodeType":"ModifierDefinition","parameters":{"id":1238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1237,"mutability":"mutable","name":"token","nameLocation":"422:5:3","nodeType":"VariableDeclaration","scope":1262,"src":"383:44:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":1236,"nodeType":"UserDefinedTypeName","pathNode":{"id":1235,"name":"IHederaTokenService.HederaToken","nameLocations":["383:19:3","403:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"383:31:3"},"referencedDeclaration":3807,"src":"383:31:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"}],"src":"382:46:3"},"src":"359:246:3","virtual":false,"visibility":"internal"},{"anonymous":false,"documentation":{"id":1263,"nodeType":"StructuredDocumentation","src":"611:17:3","text":"Generic event"},"eventSelector":"4af4780e06fe8cb9df64b0794fa6f01399af979175bb988e35e0e57e594567bc","id":1269,"name":"CallResponseEvent","nameLocation":"639:17:3","nodeType":"EventDefinition","parameters":{"id":1268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1265,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1269,"src":"657:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1264,"name":"bool","nodeType":"ElementaryTypeName","src":"657:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1267,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1269,"src":"663:5:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1266,"name":"bytes","nodeType":"ElementaryTypeName","src":"663:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"656:13:3"},"src":"633:37:3"},{"body":{"id":1312,"nodeType":"Block","src":"1269:281:3","statements":[{"assignments":[1283,1285],"declarations":[{"constant":false,"id":1283,"mutability":"mutable","name":"success","nameLocation":"1285:7:3","nodeType":"VariableDeclaration","scope":1312,"src":"1280:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1282,"name":"bool","nodeType":"ElementaryTypeName","src":"1280:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1285,"mutability":"mutable","name":"result","nameLocation":"1307:6:3","nodeType":"VariableDeclaration","scope":1312,"src":"1294:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1284,"name":"bytes","nodeType":"ElementaryTypeName","src":"1294:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1297,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1290,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"1376:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1396:14:3","memberName":"cryptoTransfer","nodeType":"MemberAccess","referencedDeclaration":3934,"src":"1376:34:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_struct$_TransferList_$3761_memory_ptr_$_t_array$_t_struct$_TokenTransferList_$3756_memory_ptr_$dyn_memory_ptr_$returns$_t_int64_$","typeString":"function IHederaTokenService.cryptoTransfer(struct IHederaTokenService.TransferList memory,struct IHederaTokenService.TokenTransferList memory[] memory) returns (int64)"}},"id":1292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1411:8:3","memberName":"selector","nodeType":"MemberAccess","src":"1376:43:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1293,"name":"transferList","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1273,"src":"1421:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_TransferList_$3761_memory_ptr","typeString":"struct IHederaTokenService.TransferList memory"}},{"id":1294,"name":"tokenTransfers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1277,"src":"1435:14:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenTransferList_$3756_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenTransferList memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_TransferList_$3761_memory_ptr","typeString":"struct IHederaTokenService.TransferList memory"},{"typeIdentifier":"t_array$_t_struct$_TokenTransferList_$3756_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenTransferList memory[] memory"}],"expression":{"id":1288,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1353:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1357:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1353:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1353:97:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1286,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"1317:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1335:4:3","memberName":"call","nodeType":"MemberAccess","src":"1317:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1317:134:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1279:172:3"},{"expression":{"id":1310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1298,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1280,"src":"1461:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1299,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1283,"src":"1476:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":1307,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"1516:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1308,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1536:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"1516:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":1309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1476:67:3","trueExpression":{"arguments":[{"id":1302,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1285,"src":"1497:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1506:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1303,"name":"int32","nodeType":"ElementaryTypeName","src":"1506:5:3","typeDescriptions":{}}}],"id":1305,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"1505:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":1300,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1486:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1490:6:3","memberName":"decode","nodeType":"MemberAccess","src":"1486:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1486:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"1461:82:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1311,"nodeType":"ExpressionStatement","src":"1461:82:3"}]},"documentation":{"id":1270,"nodeType":"StructuredDocumentation","src":"676:403:3","text":"Performs transfers among combinations of tokens and hbars\n @param transferList the list of hbar transfers to do\n @param tokenTransfers the list of transfers to do\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @custom:version 0.3.0 the signature of the previous version was cryptoTransfer(TokenTransferList[] memory tokenTransfers)"},"id":1313,"implemented":true,"kind":"function","modifiers":[],"name":"cryptoTransfer","nameLocation":"1093:14:3","nodeType":"FunctionDefinition","parameters":{"id":1278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1273,"mutability":"mutable","name":"transferList","nameLocation":"1148:12:3","nodeType":"VariableDeclaration","scope":1313,"src":"1108:52:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TransferList_$3761_memory_ptr","typeString":"struct IHederaTokenService.TransferList"},"typeName":{"id":1272,"nodeType":"UserDefinedTypeName","pathNode":{"id":1271,"name":"IHederaTokenService.TransferList","nameLocations":["1108:19:3","1128:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":3761,"src":"1108:32:3"},"referencedDeclaration":3761,"src":"1108:32:3","typeDescriptions":{"typeIdentifier":"t_struct$_TransferList_$3761_storage_ptr","typeString":"struct IHederaTokenService.TransferList"}},"visibility":"internal"},{"constant":false,"id":1277,"mutability":"mutable","name":"tokenTransfers","nameLocation":"1209:14:3","nodeType":"VariableDeclaration","scope":1313,"src":"1162:61:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenTransferList_$3756_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenTransferList[]"},"typeName":{"baseType":{"id":1275,"nodeType":"UserDefinedTypeName","pathNode":{"id":1274,"name":"IHederaTokenService.TokenTransferList","nameLocations":["1162:19:3","1182:17:3"],"nodeType":"IdentifierPath","referencedDeclaration":3756,"src":"1162:37:3"},"referencedDeclaration":3756,"src":"1162:37:3","typeDescriptions":{"typeIdentifier":"t_struct$_TokenTransferList_$3756_storage_ptr","typeString":"struct IHederaTokenService.TokenTransferList"}},"id":1276,"nodeType":"ArrayTypeName","src":"1162:39:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenTransferList_$3756_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenTransferList[]"}},"visibility":"internal"}],"src":"1107:117:3"},"returnParameters":{"id":1281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1280,"mutability":"mutable","name":"responseCode","nameLocation":"1251:12:3","nodeType":"VariableDeclaration","scope":1313,"src":"1247:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1279,"name":"int","nodeType":"ElementaryTypeName","src":"1247:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1246:18:3"},"scope":3726,"src":"1084:466:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1380,"nodeType":"Block","src":"2714:408:3","statements":[{"assignments":[1332,1334],"declarations":[{"constant":false,"id":1332,"mutability":"mutable","name":"success","nameLocation":"2730:7:3","nodeType":"VariableDeclaration","scope":1380,"src":"2725:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1331,"name":"bool","nodeType":"ElementaryTypeName","src":"2725:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1334,"mutability":"mutable","name":"result","nameLocation":"2752:6:3","nodeType":"VariableDeclaration","scope":1380,"src":"2739:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1333,"name":"bytes","nodeType":"ElementaryTypeName","src":"2739:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1347,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1339,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"2821:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1340,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2841:9:3","memberName":"mintToken","nodeType":"MemberAccess","referencedDeclaration":3952,"src":"2821:29:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_int64_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$returns$_t_int64_$_t_int64_$_t_array$_t_int64_$dyn_memory_ptr_$","typeString":"function IHederaTokenService.mintToken(address,int64,bytes memory[] memory) returns (int64,int64,int64[] memory)"}},"id":1341,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2851:8:3","memberName":"selector","nodeType":"MemberAccess","src":"2821:38:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1342,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1316,"src":"2877:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1343,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1318,"src":"2884:6:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},{"id":1344,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1321,"src":"2892:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int64","typeString":"int64"},{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}],"expression":{"id":1337,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2798:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2802:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2798:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2798:103:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1335,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"2762:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2780:4:3","memberName":"call","nodeType":"MemberAccess","src":"2762:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2762:140:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2724:178:3"},{"expression":{"id":1378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1348,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1324,"src":"2913:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1349,"name":"newTotalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1326,"src":"2927:14:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},{"id":1350,"name":"serialNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1329,"src":"2943:13:3","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[] memory"}}],"id":1351,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"2912:45:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_int64_$_t_array$_t_int64_$dyn_memory_ptr_$","typeString":"tuple(int256,int64,int64[] memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1352,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1332,"src":"2972:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":1365,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"3061:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3081:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"3061:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"arguments":[{"hexValue":"30","id":1369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3096:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1368,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3090:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int64_$","typeString":"type(int64)"},"typeName":{"id":1367,"name":"int64","nodeType":"ElementaryTypeName","src":"3090:5:3","typeDescriptions":{}}},"id":1370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3090:8:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},{"arguments":[{"hexValue":"30","id":1374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3112:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3100:11:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_int64_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (int64[] memory)"},"typeName":{"baseType":{"id":1371,"name":"int64","nodeType":"ElementaryTypeName","src":"3104:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":1372,"nodeType":"ArrayTypeName","src":"3104:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}}},"id":1375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3100:14:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[] memory"}}],"id":1376,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3060:55:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_int64_$_t_array$_t_int64_$dyn_memory_ptr_$","typeString":"tuple(int32,int64,int64[] memory)"}},"id":1377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2972:143:3","trueExpression":{"arguments":[{"id":1355,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1334,"src":"3009:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3018:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1356,"name":"int32","nodeType":"ElementaryTypeName","src":"3018:5:3","typeDescriptions":{}}},{"id":1359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3025:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int64_$","typeString":"type(int64)"},"typeName":{"id":1358,"name":"int64","nodeType":"ElementaryTypeName","src":"3025:5:3","typeDescriptions":{}}},{"baseExpression":{"id":1361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3032:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int64_$","typeString":"type(int64)"},"typeName":{"id":1360,"name":"int64","nodeType":"ElementaryTypeName","src":"3032:5:3","typeDescriptions":{}}},"id":1362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"3032:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_int64_$dyn_memory_ptr_$","typeString":"type(int64[] memory)"}}],"id":1363,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3017:23:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_int64_$_$_t_type$_t_array$_t_int64_$dyn_memory_ptr_$_$","typeString":"tuple(type(int32),type(int64),type(int64[] memory))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_int64_$_$_t_type$_t_array$_t_int64_$dyn_memory_ptr_$_$","typeString":"tuple(type(int32),type(int64),type(int64[] memory))"}],"expression":{"id":1353,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2998:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3002:6:3","memberName":"decode","nodeType":"MemberAccess","src":"2998:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2998:43:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_int64_$_t_array$_t_int64_$dyn_memory_ptr_$","typeString":"tuple(int32,int64,int64[] memory)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_int64_$_t_array$_t_int64_$dyn_memory_ptr_$","typeString":"tuple(int32,int64,int64[] memory)"}},"src":"2912:203:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1379,"nodeType":"ExpressionStatement","src":"2912:203:3"}]},"documentation":{"id":1314,"nodeType":"StructuredDocumentation","src":"1556:984:3","text":"Mints an amount of the token to the defined treasury account\n @param token The token for which to mint tokens. If token does not exist, transaction results in\n INVALID_TOKEN_ID\n @param amount Applicable to tokens of type FUNGIBLE_COMMON. The amount to mint to the Treasury Account.\n Amount must be a positive non-zero number represented in the lowest denomination of the\n token. The new supply must be lower than 2^63.\n @param metadata Applicable to tokens of type NON_FUNGIBLE_UNIQUE. A list of metadata that are being created.\n Maximum allowed size of each metadata is 100 bytes\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return newTotalSupply The new supply of tokens. For NFTs it is the total count of NFTs\n @return serialNumbers If the token is an NFT the newly generate serial numbers, otherwise empty."},"id":1381,"implemented":true,"kind":"function","modifiers":[],"name":"mintToken","nameLocation":"2554:9:3","nodeType":"FunctionDefinition","parameters":{"id":1322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1316,"mutability":"mutable","name":"token","nameLocation":"2572:5:3","nodeType":"VariableDeclaration","scope":1381,"src":"2564:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1315,"name":"address","nodeType":"ElementaryTypeName","src":"2564:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1318,"mutability":"mutable","name":"amount","nameLocation":"2585:6:3","nodeType":"VariableDeclaration","scope":1381,"src":"2579:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":1317,"name":"int64","nodeType":"ElementaryTypeName","src":"2579:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":1321,"mutability":"mutable","name":"metadata","nameLocation":"2608:8:3","nodeType":"VariableDeclaration","scope":1381,"src":"2593:23:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":1319,"name":"bytes","nodeType":"ElementaryTypeName","src":"2593:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":1320,"nodeType":"ArrayTypeName","src":"2593:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"2563:54:3"},"returnParameters":{"id":1330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1324,"mutability":"mutable","name":"responseCode","nameLocation":"2644:12:3","nodeType":"VariableDeclaration","scope":1381,"src":"2640:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1323,"name":"int","nodeType":"ElementaryTypeName","src":"2640:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1326,"mutability":"mutable","name":"newTotalSupply","nameLocation":"2664:14:3","nodeType":"VariableDeclaration","scope":1381,"src":"2658:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":1325,"name":"int64","nodeType":"ElementaryTypeName","src":"2658:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":1329,"mutability":"mutable","name":"serialNumbers","nameLocation":"2695:13:3","nodeType":"VariableDeclaration","scope":1381,"src":"2680:28:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[]"},"typeName":{"baseType":{"id":1327,"name":"int64","nodeType":"ElementaryTypeName","src":"2680:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":1328,"nodeType":"ArrayTypeName","src":"2680:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}},"visibility":"internal"}],"src":"2639:70:3"},"scope":3726,"src":"2545:577:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1436,"nodeType":"Block","src":"4111:373:3","statements":[{"assignments":[1397,1399],"declarations":[{"constant":false,"id":1397,"mutability":"mutable","name":"success","nameLocation":"4127:7:3","nodeType":"VariableDeclaration","scope":1436,"src":"4122:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1396,"name":"bool","nodeType":"ElementaryTypeName","src":"4122:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1399,"mutability":"mutable","name":"result","nameLocation":"4149:6:3","nodeType":"VariableDeclaration","scope":1436,"src":"4136:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1398,"name":"bytes","nodeType":"ElementaryTypeName","src":"4136:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1412,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1404,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"4218:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4238:9:3","memberName":"burnToken","nodeType":"MemberAccess","referencedDeclaration":3967,"src":"4218:29:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_int64_$_t_array$_t_int64_$dyn_memory_ptr_$returns$_t_int64_$_t_int64_$","typeString":"function IHederaTokenService.burnToken(address,int64,int64[] memory) returns (int64,int64)"}},"id":1406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4248:8:3","memberName":"selector","nodeType":"MemberAccess","src":"4218:38:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1407,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1384,"src":"4274:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1408,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1386,"src":"4281:6:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},{"id":1409,"name":"serialNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1389,"src":"4289:13:3","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int64","typeString":"int64"},{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[] memory"}],"expression":{"id":1402,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4195:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1403,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4199:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4195:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4195:108:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1400,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"4159:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4177:4:3","memberName":"call","nodeType":"MemberAccess","src":"4159:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4159:145:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4121:183:3"},{"expression":{"id":1434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1413,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1392,"src":"4315:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1414,"name":"newTotalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1394,"src":"4329:14:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"id":1415,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"4314:30:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_int64_$","typeString":"tuple(int256,int64)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1416,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1397,"src":"4359:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":1426,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"4439:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4459:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"4439:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"arguments":[{"hexValue":"30","id":1430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4474:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4468:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int64_$","typeString":"type(int64)"},"typeName":{"id":1428,"name":"int64","nodeType":"ElementaryTypeName","src":"4468:5:3","typeDescriptions":{}}},"id":1431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4468:8:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"id":1432,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4438:39:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_int64_$","typeString":"tuple(int32,int64)"}},"id":1433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"4359:118:3","trueExpression":{"arguments":[{"id":1419,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1399,"src":"4396:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4405:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1420,"name":"int32","nodeType":"ElementaryTypeName","src":"4405:5:3","typeDescriptions":{}}},{"id":1423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4412:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int64_$","typeString":"type(int64)"},"typeName":{"id":1422,"name":"int64","nodeType":"ElementaryTypeName","src":"4412:5:3","typeDescriptions":{}}}],"id":1424,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4404:14:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_int64_$_$","typeString":"tuple(type(int32),type(int64))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_int64_$_$","typeString":"tuple(type(int32),type(int64))"}],"expression":{"id":1417,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4385:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4389:6:3","memberName":"decode","nodeType":"MemberAccess","src":"4385:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4385:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_int64_$","typeString":"tuple(int32,int64)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_int64_$","typeString":"tuple(int32,int64)"}},"src":"4314:163:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1435,"nodeType":"ExpressionStatement","src":"4314:163:3"}]},"documentation":{"id":1382,"nodeType":"StructuredDocumentation","src":"3128:834:3","text":"Burns an amount of the token from the defined treasury account\n @param token The token for which to burn tokens. If token does not exist, transaction results in\n INVALID_TOKEN_ID\n @param amount Applicable to tokens of type FUNGIBLE_COMMON. The amount to burn from the Treasury Account.\n Amount must be a positive non-zero number, not bigger than the token balance of the treasury\n account (0; balance], represented in the lowest denomination.\n @param serialNumbers Applicable to tokens of type NON_FUNGIBLE_UNIQUE. The list of serial numbers to be burned.\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return newTotalSupply The new supply of tokens. For NFTs it is the total count of NFTs"},"id":1437,"implemented":true,"kind":"function","modifiers":[],"name":"burnToken","nameLocation":"3976:9:3","nodeType":"FunctionDefinition","parameters":{"id":1390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1384,"mutability":"mutable","name":"token","nameLocation":"3994:5:3","nodeType":"VariableDeclaration","scope":1437,"src":"3986:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1383,"name":"address","nodeType":"ElementaryTypeName","src":"3986:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1386,"mutability":"mutable","name":"amount","nameLocation":"4007:6:3","nodeType":"VariableDeclaration","scope":1437,"src":"4001:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":1385,"name":"int64","nodeType":"ElementaryTypeName","src":"4001:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":1389,"mutability":"mutable","name":"serialNumbers","nameLocation":"4030:13:3","nodeType":"VariableDeclaration","scope":1437,"src":"4015:28:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[]"},"typeName":{"baseType":{"id":1387,"name":"int64","nodeType":"ElementaryTypeName","src":"4015:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":1388,"nodeType":"ArrayTypeName","src":"4015:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}},"visibility":"internal"}],"src":"3985:59:3"},"returnParameters":{"id":1395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1392,"mutability":"mutable","name":"responseCode","nameLocation":"4071:12:3","nodeType":"VariableDeclaration","scope":1437,"src":"4067:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1391,"name":"int","nodeType":"ElementaryTypeName","src":"4067:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1394,"mutability":"mutable","name":"newTotalSupply","nameLocation":"4091:14:3","nodeType":"VariableDeclaration","scope":1437,"src":"4085:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":1393,"name":"int64","nodeType":"ElementaryTypeName","src":"4085:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"4066:40:3"},"scope":3726,"src":"3967:517:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1478,"nodeType":"Block","src":"6113:285:3","statements":[{"assignments":[1449,1451],"declarations":[{"constant":false,"id":1449,"mutability":"mutable","name":"success","nameLocation":"6129:7:3","nodeType":"VariableDeclaration","scope":1478,"src":"6124:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1448,"name":"bool","nodeType":"ElementaryTypeName","src":"6124:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1451,"mutability":"mutable","name":"result","nameLocation":"6151:6:3","nodeType":"VariableDeclaration","scope":1478,"src":"6138:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1450,"name":"bytes","nodeType":"ElementaryTypeName","src":"6138:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1463,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1456,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"6220:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6240:15:3","memberName":"associateTokens","nodeType":"MemberAccess","referencedDeclaration":3978,"src":"6220:35:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_int64_$","typeString":"function IHederaTokenService.associateTokens(address,address[] memory) returns (int64)"}},"id":1458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6256:8:3","memberName":"selector","nodeType":"MemberAccess","src":"6220:44:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1459,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1440,"src":"6282:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1460,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1443,"src":"6291:6:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":1454,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6197:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6201:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6197:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6197:101:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1452,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"6161:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6179:4:3","memberName":"call","nodeType":"MemberAccess","src":"6161:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6161:138:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6123:176:3"},{"expression":{"id":1476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1464,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1446,"src":"6309:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1465,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1449,"src":"6324:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":1473,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"6364:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6384:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"6364:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":1475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6324:67:3","trueExpression":{"arguments":[{"id":1468,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1451,"src":"6345:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1470,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6354:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1469,"name":"int32","nodeType":"ElementaryTypeName","src":"6354:5:3","typeDescriptions":{}}}],"id":1471,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6353:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":1466,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6334:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6338:6:3","memberName":"decode","nodeType":"MemberAccess","src":"6334:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6334:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"6309:82:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1477,"nodeType":"ExpressionStatement","src":"6309:82:3"}]},"documentation":{"id":1438,"nodeType":"StructuredDocumentation","src":"4490:1515:3","text":"Associates the provided account with the provided tokens. Must be signed by the provided\n Account's key or called from the accounts contract key\n If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID.\n If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED.\n If any of the provided tokens is not found, the transaction will resolve to INVALID_TOKEN_REF.\n If any of the provided tokens has been deleted, the transaction will resolve to TOKEN_WAS_DELETED.\n If an association between the provided account and any of the tokens already exists, the\n transaction will resolve to TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT.\n If the provided account's associations count exceed the constraint of maximum token associations\n per account, the transaction will resolve to TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED.\n On success, associations between the provided account and tokens are made and the account is\n ready to interact with the tokens.\n @param account The account to be associated with the provided tokens\n @param tokens The tokens to be associated with the provided account. In the case of NON_FUNGIBLE_UNIQUE\n Type, once an account is associated, it can hold any number of NFTs (serial numbers) of that\n token type\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":1479,"implemented":true,"kind":"function","modifiers":[],"name":"associateTokens","nameLocation":"6019:15:3","nodeType":"FunctionDefinition","parameters":{"id":1444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1440,"mutability":"mutable","name":"account","nameLocation":"6043:7:3","nodeType":"VariableDeclaration","scope":1479,"src":"6035:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1439,"name":"address","nodeType":"ElementaryTypeName","src":"6035:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1443,"mutability":"mutable","name":"tokens","nameLocation":"6069:6:3","nodeType":"VariableDeclaration","scope":1479,"src":"6052:23:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1441,"name":"address","nodeType":"ElementaryTypeName","src":"6052:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1442,"nodeType":"ArrayTypeName","src":"6052:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"6034:42:3"},"returnParameters":{"id":1447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1446,"mutability":"mutable","name":"responseCode","nameLocation":"6099:12:3","nodeType":"VariableDeclaration","scope":1479,"src":"6095:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1445,"name":"int","nodeType":"ElementaryTypeName","src":"6095:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6094:18:3"},"scope":3726,"src":"6010:388:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1518,"nodeType":"Block","src":"6496:283:3","statements":[{"assignments":[1489,1491],"declarations":[{"constant":false,"id":1489,"mutability":"mutable","name":"success","nameLocation":"6512:7:3","nodeType":"VariableDeclaration","scope":1518,"src":"6507:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1488,"name":"bool","nodeType":"ElementaryTypeName","src":"6507:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1491,"mutability":"mutable","name":"result","nameLocation":"6534:6:3","nodeType":"VariableDeclaration","scope":1518,"src":"6521:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1490,"name":"bytes","nodeType":"ElementaryTypeName","src":"6521:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1503,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1496,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"6603:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6623:14:3","memberName":"associateToken","nodeType":"MemberAccess","referencedDeclaration":3988,"src":"6603:34:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$returns$_t_int64_$","typeString":"function IHederaTokenService.associateToken(address,address) returns (int64)"}},"id":1498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6638:8:3","memberName":"selector","nodeType":"MemberAccess","src":"6603:43:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1499,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1481,"src":"6664:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1500,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1483,"src":"6673:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1494,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6580:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1495,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6584:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"6580:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6580:99:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1492,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"6544:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6562:4:3","memberName":"call","nodeType":"MemberAccess","src":"6544:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6544:136:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6506:174:3"},{"expression":{"id":1516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1504,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"6690:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1505,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1489,"src":"6705:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":1513,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"6745:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1514,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6765:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"6745:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":1515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6705:67:3","trueExpression":{"arguments":[{"id":1508,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1491,"src":"6726:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6735:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1509,"name":"int32","nodeType":"ElementaryTypeName","src":"6735:5:3","typeDescriptions":{}}}],"id":1511,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6734:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":1506,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6715:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6719:6:3","memberName":"decode","nodeType":"MemberAccess","src":"6715:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6715:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"6690:82:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1517,"nodeType":"ExpressionStatement","src":"6690:82:3"}]},"id":1519,"implemented":true,"kind":"function","modifiers":[],"name":"associateToken","nameLocation":"6413:14:3","nodeType":"FunctionDefinition","parameters":{"id":1484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1481,"mutability":"mutable","name":"account","nameLocation":"6436:7:3","nodeType":"VariableDeclaration","scope":1519,"src":"6428:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1480,"name":"address","nodeType":"ElementaryTypeName","src":"6428:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1483,"mutability":"mutable","name":"token","nameLocation":"6453:5:3","nodeType":"VariableDeclaration","scope":1519,"src":"6445:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1482,"name":"address","nodeType":"ElementaryTypeName","src":"6445:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6427:32:3"},"returnParameters":{"id":1487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1486,"mutability":"mutable","name":"responseCode","nameLocation":"6482:12:3","nodeType":"VariableDeclaration","scope":1519,"src":"6478:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1485,"name":"int","nodeType":"ElementaryTypeName","src":"6478:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6477:18:3"},"scope":3726,"src":"6404:375:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1560,"nodeType":"Block","src":"8427:286:3","statements":[{"assignments":[1531,1533],"declarations":[{"constant":false,"id":1531,"mutability":"mutable","name":"success","nameLocation":"8443:7:3","nodeType":"VariableDeclaration","scope":1560,"src":"8438:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1530,"name":"bool","nodeType":"ElementaryTypeName","src":"8438:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1533,"mutability":"mutable","name":"result","nameLocation":"8465:6:3","nodeType":"VariableDeclaration","scope":1560,"src":"8452:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1532,"name":"bytes","nodeType":"ElementaryTypeName","src":"8452:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1545,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1538,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"8534:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8554:16:3","memberName":"dissociateTokens","nodeType":"MemberAccess","referencedDeclaration":3999,"src":"8534:36:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$returns$_t_int64_$","typeString":"function IHederaTokenService.dissociateTokens(address,address[] memory) returns (int64)"}},"id":1540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8571:8:3","memberName":"selector","nodeType":"MemberAccess","src":"8534:45:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1541,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1522,"src":"8597:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1542,"name":"tokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1525,"src":"8606:6:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}],"expression":{"id":1536,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8511:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8515:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8511:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8511:102:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1534,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"8475:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8493:4:3","memberName":"call","nodeType":"MemberAccess","src":"8475:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8475:139:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"8437:177:3"},{"expression":{"id":1558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1546,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1528,"src":"8624:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1547,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"8639:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":1555,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"8679:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8699:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"8679:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":1557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8639:67:3","trueExpression":{"arguments":[{"id":1550,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1533,"src":"8660:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8669:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1551,"name":"int32","nodeType":"ElementaryTypeName","src":"8669:5:3","typeDescriptions":{}}}],"id":1553,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"8668:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":1548,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8649:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8653:6:3","memberName":"decode","nodeType":"MemberAccess","src":"8649:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8649:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"8624:82:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1559,"nodeType":"ExpressionStatement","src":"8624:82:3"}]},"documentation":{"id":1520,"nodeType":"StructuredDocumentation","src":"6785:1533:3","text":"Dissociates the provided account with the provided tokens. Must be signed by the provided\n Account's key.\n If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID.\n If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED.\n If any of the provided tokens is not found, the transaction will resolve to INVALID_TOKEN_REF.\n If any of the provided tokens has been deleted, the transaction will resolve to TOKEN_WAS_DELETED.\n If an association between the provided account and any of the tokens does not exist, the\n transaction will resolve to TOKEN_NOT_ASSOCIATED_TO_ACCOUNT.\n If a token has not been deleted and has not expired, and the user has a nonzero balance, the\n transaction will resolve to TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES.\n If a fungible token has expired, the user can disassociate even if their token balance is\n not zero.\n If a non fungible token has expired, the user can not disassociate if their token\n balance is not zero. The transaction will resolve to TRANSACTION_REQUIRED_ZERO_TOKEN_BALANCES.\n On success, associations between the provided account and tokens are removed.\n @param account The account to be dissociated from the provided tokens\n @param tokens The tokens to be dissociated from the provided account.\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":1561,"implemented":true,"kind":"function","modifiers":[],"name":"dissociateTokens","nameLocation":"8332:16:3","nodeType":"FunctionDefinition","parameters":{"id":1526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1522,"mutability":"mutable","name":"account","nameLocation":"8357:7:3","nodeType":"VariableDeclaration","scope":1561,"src":"8349:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1521,"name":"address","nodeType":"ElementaryTypeName","src":"8349:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1525,"mutability":"mutable","name":"tokens","nameLocation":"8383:6:3","nodeType":"VariableDeclaration","scope":1561,"src":"8366:23:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1523,"name":"address","nodeType":"ElementaryTypeName","src":"8366:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1524,"nodeType":"ArrayTypeName","src":"8366:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"8348:42:3"},"returnParameters":{"id":1529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1528,"mutability":"mutable","name":"responseCode","nameLocation":"8413:12:3","nodeType":"VariableDeclaration","scope":1561,"src":"8409:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1527,"name":"int","nodeType":"ElementaryTypeName","src":"8409:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8408:18:3"},"scope":3726,"src":"8323:390:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1600,"nodeType":"Block","src":"8812:284:3","statements":[{"assignments":[1571,1573],"declarations":[{"constant":false,"id":1571,"mutability":"mutable","name":"success","nameLocation":"8828:7:3","nodeType":"VariableDeclaration","scope":1600,"src":"8823:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1570,"name":"bool","nodeType":"ElementaryTypeName","src":"8823:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1573,"mutability":"mutable","name":"result","nameLocation":"8850:6:3","nodeType":"VariableDeclaration","scope":1600,"src":"8837:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1572,"name":"bytes","nodeType":"ElementaryTypeName","src":"8837:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1585,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1578,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"8919:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8939:15:3","memberName":"dissociateToken","nodeType":"MemberAccess","referencedDeclaration":4009,"src":"8919:35:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$returns$_t_int64_$","typeString":"function IHederaTokenService.dissociateToken(address,address) returns (int64)"}},"id":1580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8955:8:3","memberName":"selector","nodeType":"MemberAccess","src":"8919:44:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1581,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1563,"src":"8981:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1582,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1565,"src":"8990:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1576,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8896:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8900:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"8896:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8896:100:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1574,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"8860:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8878:4:3","memberName":"call","nodeType":"MemberAccess","src":"8860:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8860:137:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"8822:175:3"},{"expression":{"id":1598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1586,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1568,"src":"9007:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1587,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1571,"src":"9022:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":1595,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"9062:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1596,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9082:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"9062:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":1597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9022:67:3","trueExpression":{"arguments":[{"id":1590,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1573,"src":"9043:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9052:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1591,"name":"int32","nodeType":"ElementaryTypeName","src":"9052:5:3","typeDescriptions":{}}}],"id":1593,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"9051:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":1588,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9032:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9036:6:3","memberName":"decode","nodeType":"MemberAccess","src":"9032:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9032:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"9007:82:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":1599,"nodeType":"ExpressionStatement","src":"9007:82:3"}]},"id":1601,"implemented":true,"kind":"function","modifiers":[],"name":"dissociateToken","nameLocation":"8728:15:3","nodeType":"FunctionDefinition","parameters":{"id":1566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1563,"mutability":"mutable","name":"account","nameLocation":"8752:7:3","nodeType":"VariableDeclaration","scope":1601,"src":"8744:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1562,"name":"address","nodeType":"ElementaryTypeName","src":"8744:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1565,"mutability":"mutable","name":"token","nameLocation":"8769:5:3","nodeType":"VariableDeclaration","scope":1601,"src":"8761:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1564,"name":"address","nodeType":"ElementaryTypeName","src":"8761:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8743:32:3"},"returnParameters":{"id":1569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1568,"mutability":"mutable","name":"responseCode","nameLocation":"8798:12:3","nodeType":"VariableDeclaration","scope":1601,"src":"8794:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1567,"name":"int","nodeType":"ElementaryTypeName","src":"8794:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"8793:18:3"},"scope":3726,"src":"8719:377:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1662,"nodeType":"Block","src":"9897:369:3","statements":[{"assignments":[1620,1622],"declarations":[{"constant":false,"id":1620,"mutability":"mutable","name":"success","nameLocation":"9913:7:3","nodeType":"VariableDeclaration","scope":1662,"src":"9908:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1619,"name":"bool","nodeType":"ElementaryTypeName","src":"9908:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1622,"mutability":"mutable","name":"result","nameLocation":"9935:6:3","nodeType":"VariableDeclaration","scope":1662,"src":"9922:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1621,"name":"bytes","nodeType":"ElementaryTypeName","src":"9922:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1638,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1630,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"10023:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10043:19:3","memberName":"createFungibleToken","nodeType":"MemberAccess","referencedDeclaration":4024,"src":"10023:39:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_struct$_HederaToken_$3807_memory_ptr_$_t_int64_$_t_int32_$returns$_t_int64_$_t_address_$","typeString":"function IHederaTokenService.createFungibleToken(struct IHederaTokenService.HederaToken memory,int64,int32) payable returns (int64,address)"}},"id":1632,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10063:8:3","memberName":"selector","nodeType":"MemberAccess","src":"10023:48:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1633,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1605,"src":"10089:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},{"id":1634,"name":"initialTotalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1607,"src":"10096:18:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},{"id":1635,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1609,"src":"10116:8:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"},{"typeIdentifier":"t_int64","typeString":"int64"},{"typeIdentifier":"t_int32","typeString":"int32"}],"expression":{"id":1628,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10000:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10004:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"10000:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10000:125:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1623,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"9945:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9963:4:3","memberName":"call","nodeType":"MemberAccess","src":"9945:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":1625,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9976:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9980:5:3","memberName":"value","nodeType":"MemberAccess","src":"9976:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"9945:41:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9945:181:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9907:219:3"},{"expression":{"id":1660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1639,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1615,"src":"10139:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1640,"name":"tokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1617,"src":"10153:12:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":1641,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"10138:28:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_address_$","typeString":"tuple(int256,address)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1642,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1620,"src":"10169:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":1652,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"10219:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1653,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10239:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"10219:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"arguments":[{"hexValue":"30","id":1656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10256:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10248:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1654,"name":"address","nodeType":"ElementaryTypeName","src":"10248:7:3","typeDescriptions":{}}},"id":1657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10248:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":1658,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10218:41:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_$","typeString":"tuple(int32,address)"}},"id":1659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"10169:90:3","trueExpression":{"arguments":[{"id":1645,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1622,"src":"10190:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10199:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1646,"name":"int32","nodeType":"ElementaryTypeName","src":"10199:5:3","typeDescriptions":{}}},{"id":1649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10206:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1648,"name":"address","nodeType":"ElementaryTypeName","src":"10206:7:3","typeDescriptions":{}}}],"id":1650,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10198:16:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_address_$_$","typeString":"tuple(type(int32),type(address))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_address_$_$","typeString":"tuple(type(int32),type(address))"}],"expression":{"id":1643,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10179:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10183:6:3","memberName":"decode","nodeType":"MemberAccess","src":"10179:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10179:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_payable_$","typeString":"tuple(int32,address payable)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_$","typeString":"tuple(int32,address)"}},"src":"10138:121:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1661,"nodeType":"ExpressionStatement","src":"10138:121:3"}]},"documentation":{"id":1602,"nodeType":"StructuredDocumentation","src":"9102:564:3","text":"Creates a Fungible Token with the specified properties\n @param token the basic properties of the token being created\n @param initialTotalSupply Specifies the initial supply of tokens to be put in circulation. The\n initial supply is sent to the Treasury Account. The supply is in the lowest denomination possible.\n @param decimals the number of decimal places a token is divisible by\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return tokenAddress the created token's address"},"id":1663,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1612,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1605,"src":"9828:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}}],"id":1613,"kind":"modifierInvocation","modifierName":{"id":1611,"name":"nonEmptyExpiry","nameLocations":["9813:14:3"],"nodeType":"IdentifierPath","referencedDeclaration":1262,"src":"9813:14:3"},"nodeType":"ModifierInvocation","src":"9813:21:3"}],"name":"createFungibleToken","nameLocation":"9680:19:3","nodeType":"FunctionDefinition","parameters":{"id":1610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1605,"mutability":"mutable","name":"token","nameLocation":"9748:5:3","nodeType":"VariableDeclaration","scope":1663,"src":"9709:44:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":1604,"nodeType":"UserDefinedTypeName","pathNode":{"id":1603,"name":"IHederaTokenService.HederaToken","nameLocations":["9709:19:3","9729:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"9709:31:3"},"referencedDeclaration":3807,"src":"9709:31:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"},{"constant":false,"id":1607,"mutability":"mutable","name":"initialTotalSupply","nameLocation":"9769:18:3","nodeType":"VariableDeclaration","scope":1663,"src":"9763:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":1606,"name":"int64","nodeType":"ElementaryTypeName","src":"9763:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":1609,"mutability":"mutable","name":"decimals","nameLocation":"9803:8:3","nodeType":"VariableDeclaration","scope":1663,"src":"9797:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1608,"name":"int32","nodeType":"ElementaryTypeName","src":"9797:5:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"9699:113:3"},"returnParameters":{"id":1618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1615,"mutability":"mutable","name":"responseCode","nameLocation":"9861:12:3","nodeType":"VariableDeclaration","scope":1663,"src":"9857:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1614,"name":"int","nodeType":"ElementaryTypeName","src":"9857:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1617,"mutability":"mutable","name":"tokenAddress","nameLocation":"9883:12:3","nodeType":"VariableDeclaration","scope":1663,"src":"9875:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1616,"name":"address","nodeType":"ElementaryTypeName","src":"9875:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9856:40:3"},"scope":3726,"src":"9671:595:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1734,"nodeType":"Block","src":"11347:408:3","statements":[{"assignments":[1690,1692],"declarations":[{"constant":false,"id":1690,"mutability":"mutable","name":"success","nameLocation":"11363:7:3","nodeType":"VariableDeclaration","scope":1734,"src":"11358:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1689,"name":"bool","nodeType":"ElementaryTypeName","src":"11358:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1692,"mutability":"mutable","name":"result","nameLocation":"11385:6:3","nodeType":"VariableDeclaration","scope":1734,"src":"11372:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1691,"name":"bytes","nodeType":"ElementaryTypeName","src":"11372:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1710,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1700,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"11473:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1701,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11493:33:3","memberName":"createFungibleTokenWithCustomFees","nodeType":"MemberAccess","referencedDeclaration":4047,"src":"11473:53:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_struct$_HederaToken_$3807_memory_ptr_$_t_int64_$_t_int32_$_t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr_$returns$_t_int64_$_t_address_$","typeString":"function IHederaTokenService.createFungibleTokenWithCustomFees(struct IHederaTokenService.HederaToken memory,int64,int32,struct IHederaTokenService.FixedFee memory[] memory,struct IHederaTokenService.FractionalFee memory[] memory) payable returns (int64,address)"}},"id":1702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11527:8:3","memberName":"selector","nodeType":"MemberAccess","src":"11473:62:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1703,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1667,"src":"11553:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},{"id":1704,"name":"initialTotalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1669,"src":"11560:18:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},{"id":1705,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1671,"src":"11580:8:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"id":1706,"name":"fixedFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1675,"src":"11590:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee memory[] memory"}},{"id":1707,"name":"fractionalFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1679,"src":"11601:14:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"},{"typeIdentifier":"t_int64","typeString":"int64"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee memory[] memory"},{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee memory[] memory"}],"expression":{"id":1698,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11450:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11454:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"11450:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11450:166:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1693,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"11395:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11413:4:3","memberName":"call","nodeType":"MemberAccess","src":"11395:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":1695,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11426:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11430:5:3","memberName":"value","nodeType":"MemberAccess","src":"11426:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"11395:41:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11395:222:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"11357:260:3"},{"expression":{"id":1732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1711,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1685,"src":"11628:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1712,"name":"tokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1687,"src":"11642:12:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":1713,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"11627:28:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_address_$","typeString":"tuple(int256,address)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1714,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1690,"src":"11658:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":1724,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"11708:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1725,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11728:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"11708:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"arguments":[{"hexValue":"30","id":1728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11745:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11737:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1726,"name":"address","nodeType":"ElementaryTypeName","src":"11737:7:3","typeDescriptions":{}}},"id":1729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11737:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":1730,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"11707:41:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_$","typeString":"tuple(int32,address)"}},"id":1731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11658:90:3","trueExpression":{"arguments":[{"id":1717,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1692,"src":"11679:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1719,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11688:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1718,"name":"int32","nodeType":"ElementaryTypeName","src":"11688:5:3","typeDescriptions":{}}},{"id":1721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11695:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1720,"name":"address","nodeType":"ElementaryTypeName","src":"11695:7:3","typeDescriptions":{}}}],"id":1722,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"11687:16:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_address_$_$","typeString":"tuple(type(int32),type(address))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_address_$_$","typeString":"tuple(type(int32),type(address))"}],"expression":{"id":1715,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11668:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11672:6:3","memberName":"decode","nodeType":"MemberAccess","src":"11668:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11668:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_payable_$","typeString":"tuple(int32,address payable)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_$","typeString":"tuple(int32,address)"}},"src":"11627:121:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1733,"nodeType":"ExpressionStatement","src":"11627:121:3"}]},"documentation":{"id":1664,"nodeType":"StructuredDocumentation","src":"10272:706:3","text":"Creates a Fungible Token with the specified properties\n @param token the basic properties of the token being created\n @param initialTotalSupply Specifies the initial supply of tokens to be put in circulation. The\n initial supply is sent to the Treasury Account. The supply is in the lowest denomination possible.\n @param decimals the number of decimal places a token is divisible by\n @param fixedFees list of fixed fees to apply to the token\n @param fractionalFees list of fractional fees to apply to the token\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return tokenAddress the created token's address"},"id":1735,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1682,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1667,"src":"11278:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}}],"id":1683,"kind":"modifierInvocation","modifierName":{"id":1681,"name":"nonEmptyExpiry","nameLocations":["11263:14:3"],"nodeType":"IdentifierPath","referencedDeclaration":1262,"src":"11263:14:3"},"nodeType":"ModifierInvocation","src":"11263:21:3"}],"name":"createFungibleTokenWithCustomFees","nameLocation":"10992:33:3","nodeType":"FunctionDefinition","parameters":{"id":1680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1667,"mutability":"mutable","name":"token","nameLocation":"11074:5:3","nodeType":"VariableDeclaration","scope":1735,"src":"11035:44:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":1666,"nodeType":"UserDefinedTypeName","pathNode":{"id":1665,"name":"IHederaTokenService.HederaToken","nameLocations":["11035:19:3","11055:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"11035:31:3"},"referencedDeclaration":3807,"src":"11035:31:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"},{"constant":false,"id":1669,"mutability":"mutable","name":"initialTotalSupply","nameLocation":"11095:18:3","nodeType":"VariableDeclaration","scope":1735,"src":"11089:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":1668,"name":"int64","nodeType":"ElementaryTypeName","src":"11089:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":1671,"mutability":"mutable","name":"decimals","nameLocation":"11129:8:3","nodeType":"VariableDeclaration","scope":1735,"src":"11123:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":1670,"name":"int32","nodeType":"ElementaryTypeName","src":"11123:5:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":1675,"mutability":"mutable","name":"fixedFees","nameLocation":"11185:9:3","nodeType":"VariableDeclaration","scope":1735,"src":"11147:47:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee[]"},"typeName":{"baseType":{"id":1673,"nodeType":"UserDefinedTypeName","pathNode":{"id":1672,"name":"IHederaTokenService.FixedFee","nameLocations":["11147:19:3","11167:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3881,"src":"11147:28:3"},"referencedDeclaration":3881,"src":"11147:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_FixedFee_$3881_storage_ptr","typeString":"struct IHederaTokenService.FixedFee"}},"id":1674,"nodeType":"ArrayTypeName","src":"11147:30:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"}},"visibility":"internal"},{"constant":false,"id":1679,"mutability":"mutable","name":"fractionalFees","nameLocation":"11247:14:3","nodeType":"VariableDeclaration","scope":1735,"src":"11204:57:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"},"typeName":{"baseType":{"id":1677,"nodeType":"UserDefinedTypeName","pathNode":{"id":1676,"name":"IHederaTokenService.FractionalFee","nameLocations":["11204:19:3","11224:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":3894,"src":"11204:33:3"},"referencedDeclaration":3894,"src":"11204:33:3","typeDescriptions":{"typeIdentifier":"t_struct$_FractionalFee_$3894_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee"}},"id":1678,"nodeType":"ArrayTypeName","src":"11204:35:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"}},"visibility":"internal"}],"src":"11025:237:3"},"returnParameters":{"id":1688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1685,"mutability":"mutable","name":"responseCode","nameLocation":"11311:12:3","nodeType":"VariableDeclaration","scope":1735,"src":"11307:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1684,"name":"int","nodeType":"ElementaryTypeName","src":"11307:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1687,"mutability":"mutable","name":"tokenAddress","nameLocation":"11333:12:3","nodeType":"VariableDeclaration","scope":1735,"src":"11325:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1686,"name":"address","nodeType":"ElementaryTypeName","src":"11325:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11306:40:3"},"scope":3726,"src":"10983:772:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1790,"nodeType":"Block","src":"12217:324:3","statements":[{"assignments":[1750,1752],"declarations":[{"constant":false,"id":1750,"mutability":"mutable","name":"success","nameLocation":"12233:7:3","nodeType":"VariableDeclaration","scope":1790,"src":"12228:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1749,"name":"bool","nodeType":"ElementaryTypeName","src":"12228:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1752,"mutability":"mutable","name":"result","nameLocation":"12255:6:3","nodeType":"VariableDeclaration","scope":1790,"src":"12242:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1751,"name":"bytes","nodeType":"ElementaryTypeName","src":"12242:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1766,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1760,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"12343:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12363:22:3","memberName":"createNonFungibleToken","nodeType":"MemberAccess","referencedDeclaration":4058,"src":"12343:42:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_struct$_HederaToken_$3807_memory_ptr_$returns$_t_int64_$_t_address_$","typeString":"function IHederaTokenService.createNonFungibleToken(struct IHederaTokenService.HederaToken memory) payable returns (int64,address)"}},"id":1762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12386:8:3","memberName":"selector","nodeType":"MemberAccess","src":"12343:51:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1763,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1739,"src":"12396:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}],"expression":{"id":1758,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12320:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12324:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"12320:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12320:82:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1753,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"12265:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12283:4:3","memberName":"call","nodeType":"MemberAccess","src":"12265:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":1755,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12296:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1756,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12300:5:3","memberName":"value","nodeType":"MemberAccess","src":"12296:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"12265:41:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12265:138:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"12227:176:3"},{"expression":{"id":1788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1767,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1745,"src":"12414:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1768,"name":"tokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1747,"src":"12428:12:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":1769,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"12413:28:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_address_$","typeString":"tuple(int256,address)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1770,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1750,"src":"12444:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":1780,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"12494:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12514:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"12494:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"arguments":[{"hexValue":"30","id":1784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12531:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12523:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1782,"name":"address","nodeType":"ElementaryTypeName","src":"12523:7:3","typeDescriptions":{}}},"id":1785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12523:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":1786,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"12493:41:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_$","typeString":"tuple(int32,address)"}},"id":1787,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12444:90:3","trueExpression":{"arguments":[{"id":1773,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1752,"src":"12465:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1775,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12474:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1774,"name":"int32","nodeType":"ElementaryTypeName","src":"12474:5:3","typeDescriptions":{}}},{"id":1777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12481:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1776,"name":"address","nodeType":"ElementaryTypeName","src":"12481:7:3","typeDescriptions":{}}}],"id":1778,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"12473:16:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_address_$_$","typeString":"tuple(type(int32),type(address))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_address_$_$","typeString":"tuple(type(int32),type(address))"}],"expression":{"id":1771,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12454:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12458:6:3","memberName":"decode","nodeType":"MemberAccess","src":"12454:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12454:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_payable_$","typeString":"tuple(int32,address payable)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_$","typeString":"tuple(int32,address)"}},"src":"12413:121:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1789,"nodeType":"ExpressionStatement","src":"12413:121:3"}]},"documentation":{"id":1736,"nodeType":"StructuredDocumentation","src":"11761:289:3","text":"Creates an Non Fungible Unique Token with the specified properties\n @param token the basic properties of the token being created\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return tokenAddress the created token's address"},"id":1791,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1742,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1739,"src":"12148:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}}],"id":1743,"kind":"modifierInvocation","modifierName":{"id":1741,"name":"nonEmptyExpiry","nameLocations":["12133:14:3"],"nodeType":"IdentifierPath","referencedDeclaration":1262,"src":"12133:14:3"},"nodeType":"ModifierInvocation","src":"12133:21:3"}],"name":"createNonFungibleToken","nameLocation":"12064:22:3","nodeType":"FunctionDefinition","parameters":{"id":1740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1739,"mutability":"mutable","name":"token","nameLocation":"12126:5:3","nodeType":"VariableDeclaration","scope":1791,"src":"12087:44:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":1738,"nodeType":"UserDefinedTypeName","pathNode":{"id":1737,"name":"IHederaTokenService.HederaToken","nameLocations":["12087:19:3","12107:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"12087:31:3"},"referencedDeclaration":3807,"src":"12087:31:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"}],"src":"12086:46:3"},"returnParameters":{"id":1748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1745,"mutability":"mutable","name":"responseCode","nameLocation":"12181:12:3","nodeType":"VariableDeclaration","scope":1791,"src":"12177:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1744,"name":"int","nodeType":"ElementaryTypeName","src":"12177:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1747,"mutability":"mutable","name":"tokenAddress","nameLocation":"12203:12:3","nodeType":"VariableDeclaration","scope":1791,"src":"12195:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1746,"name":"address","nodeType":"ElementaryTypeName","src":"12195:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12176:40:3"},"scope":3726,"src":"12055:486:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1856,"nodeType":"Block","src":"13280:378:3","statements":[{"assignments":[1814,1816],"declarations":[{"constant":false,"id":1814,"mutability":"mutable","name":"success","nameLocation":"13296:7:3","nodeType":"VariableDeclaration","scope":1856,"src":"13291:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1813,"name":"bool","nodeType":"ElementaryTypeName","src":"13291:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1816,"mutability":"mutable","name":"result","nameLocation":"13318:6:3","nodeType":"VariableDeclaration","scope":1856,"src":"13305:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1815,"name":"bytes","nodeType":"ElementaryTypeName","src":"13305:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1832,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1824,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"13406:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13426:36:3","memberName":"createNonFungibleTokenWithCustomFees","nodeType":"MemberAccess","referencedDeclaration":4077,"src":"13406:56:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_payable$_t_struct$_HederaToken_$3807_memory_ptr_$_t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr_$returns$_t_int64_$_t_address_$","typeString":"function IHederaTokenService.createNonFungibleTokenWithCustomFees(struct IHederaTokenService.HederaToken memory,struct IHederaTokenService.FixedFee memory[] memory,struct IHederaTokenService.RoyaltyFee memory[] memory) payable returns (int64,address)"}},"id":1826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13463:8:3","memberName":"selector","nodeType":"MemberAccess","src":"13406:65:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1827,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1795,"src":"13489:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}},{"id":1828,"name":"fixedFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1799,"src":"13496:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee memory[] memory"}},{"id":1829,"name":"royaltyFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1803,"src":"13507:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"},{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee memory[] memory"},{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee memory[] memory"}],"expression":{"id":1822,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13383:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13387:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"13383:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13383:136:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1817,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"13328:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13346:4:3","memberName":"call","nodeType":"MemberAccess","src":"13328:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":1819,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13359:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13363:5:3","memberName":"value","nodeType":"MemberAccess","src":"13359:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"13328:41:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13328:192:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"13290:230:3"},{"expression":{"id":1854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1833,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1809,"src":"13531:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1834,"name":"tokenAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1811,"src":"13545:12:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":1835,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"13530:28:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_address_$","typeString":"tuple(int256,address)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1836,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1814,"src":"13561:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":1846,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"13611:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1847,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13631:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"13611:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"arguments":[{"hexValue":"30","id":1850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13648:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1849,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13640:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1848,"name":"address","nodeType":"ElementaryTypeName","src":"13640:7:3","typeDescriptions":{}}},"id":1851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13640:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":1852,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"13610:41:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_$","typeString":"tuple(int32,address)"}},"id":1853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"13561:90:3","trueExpression":{"arguments":[{"id":1839,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1816,"src":"13582:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13591:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1840,"name":"int32","nodeType":"ElementaryTypeName","src":"13591:5:3","typeDescriptions":{}}},{"id":1843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13598:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1842,"name":"address","nodeType":"ElementaryTypeName","src":"13598:7:3","typeDescriptions":{}}}],"id":1844,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"13590:16:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_address_$_$","typeString":"tuple(type(int32),type(address))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_address_$_$","typeString":"tuple(type(int32),type(address))"}],"expression":{"id":1837,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13571:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1838,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13575:6:3","memberName":"decode","nodeType":"MemberAccess","src":"13571:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13571:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_payable_$","typeString":"tuple(int32,address payable)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_$","typeString":"tuple(int32,address)"}},"src":"13530:121:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1855,"nodeType":"ExpressionStatement","src":"13530:121:3"}]},"documentation":{"id":1792,"nodeType":"StructuredDocumentation","src":"12547:425:3","text":"Creates an Non Fungible Unique Token with the specified properties\n @param token the basic properties of the token being created\n @param fixedFees list of fixed fees to apply to the token\n @param royaltyFees list of royalty fees to apply to the token\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return tokenAddress the created token's address"},"id":1857,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1806,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1795,"src":"13211:5:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}}],"id":1807,"kind":"modifierInvocation","modifierName":{"id":1805,"name":"nonEmptyExpiry","nameLocations":["13196:14:3"],"nodeType":"IdentifierPath","referencedDeclaration":1262,"src":"13196:14:3"},"nodeType":"ModifierInvocation","src":"13196:21:3"}],"name":"createNonFungibleTokenWithCustomFees","nameLocation":"12986:36:3","nodeType":"FunctionDefinition","parameters":{"id":1804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1795,"mutability":"mutable","name":"token","nameLocation":"13071:5:3","nodeType":"VariableDeclaration","scope":1857,"src":"13032:44:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":1794,"nodeType":"UserDefinedTypeName","pathNode":{"id":1793,"name":"IHederaTokenService.HederaToken","nameLocations":["13032:19:3","13052:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"13032:31:3"},"referencedDeclaration":3807,"src":"13032:31:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"},{"constant":false,"id":1799,"mutability":"mutable","name":"fixedFees","nameLocation":"13124:9:3","nodeType":"VariableDeclaration","scope":1857,"src":"13086:47:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee[]"},"typeName":{"baseType":{"id":1797,"nodeType":"UserDefinedTypeName","pathNode":{"id":1796,"name":"IHederaTokenService.FixedFee","nameLocations":["13086:19:3","13106:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3881,"src":"13086:28:3"},"referencedDeclaration":3881,"src":"13086:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_FixedFee_$3881_storage_ptr","typeString":"struct IHederaTokenService.FixedFee"}},"id":1798,"nodeType":"ArrayTypeName","src":"13086:30:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"}},"visibility":"internal"},{"constant":false,"id":1803,"mutability":"mutable","name":"royaltyFees","nameLocation":"13183:11:3","nodeType":"VariableDeclaration","scope":1857,"src":"13143:51:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"},"typeName":{"baseType":{"id":1801,"nodeType":"UserDefinedTypeName","pathNode":{"id":1800,"name":"IHederaTokenService.RoyaltyFee","nameLocations":["13143:19:3","13163:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":3907,"src":"13143:30:3"},"referencedDeclaration":3907,"src":"13143:30:3","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyFee_$3907_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee"}},"id":1802,"nodeType":"ArrayTypeName","src":"13143:32:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"}},"visibility":"internal"}],"src":"13022:173:3"},"returnParameters":{"id":1812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1809,"mutability":"mutable","name":"responseCode","nameLocation":"13244:12:3","nodeType":"VariableDeclaration","scope":1857,"src":"13240:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1808,"name":"int","nodeType":"ElementaryTypeName","src":"13240:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1811,"mutability":"mutable","name":"tokenAddress","nameLocation":"13266:12:3","nodeType":"VariableDeclaration","scope":1857,"src":"13258:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1810,"name":"address","nodeType":"ElementaryTypeName","src":"13258:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13239:40:3"},"scope":3726,"src":"12977:681:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1909,"nodeType":"Block","src":"13997:407:3","statements":[{"assignments":[1869,1871],"declarations":[{"constant":false,"id":1869,"mutability":"mutable","name":"success","nameLocation":"14013:7:3","nodeType":"VariableDeclaration","scope":1909,"src":"14008:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1868,"name":"bool","nodeType":"ElementaryTypeName","src":"14008:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1871,"mutability":"mutable","name":"result","nameLocation":"14035:6:3","nodeType":"VariableDeclaration","scope":1909,"src":"14022:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1870,"name":"bytes","nodeType":"ElementaryTypeName","src":"14022:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1882,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1876,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"14104:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14124:20:3","memberName":"getFungibleTokenInfo","nodeType":"MemberAccess","referencedDeclaration":4334,"src":"14104:40:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$_t_int64_$_t_struct$_FungibleTokenInfo_$3850_memory_ptr_$","typeString":"function IHederaTokenService.getFungibleTokenInfo(address) returns (int64,struct IHederaTokenService.FungibleTokenInfo memory)"}},"id":1878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14145:8:3","memberName":"selector","nodeType":"MemberAccess","src":"14104:49:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1879,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1860,"src":"14155:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1874,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14081:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14085:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14081:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14081:80:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1872,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"14045:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14063:4:3","memberName":"call","nodeType":"MemberAccess","src":"14045:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14045:117:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"14007:155:3"},{"assignments":[1887],"declarations":[{"constant":false,"id":1887,"mutability":"mutable","name":"defaultTokenInfo","nameLocation":"14217:16:3","nodeType":"VariableDeclaration","scope":1909,"src":"14172:61:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FungibleTokenInfo_$3850_memory_ptr","typeString":"struct IHederaTokenService.FungibleTokenInfo"},"typeName":{"id":1886,"nodeType":"UserDefinedTypeName","pathNode":{"id":1885,"name":"IHederaTokenService.FungibleTokenInfo","nameLocations":["14172:19:3","14192:17:3"],"nodeType":"IdentifierPath","referencedDeclaration":3850,"src":"14172:37:3"},"referencedDeclaration":3850,"src":"14172:37:3","typeDescriptions":{"typeIdentifier":"t_struct$_FungibleTokenInfo_$3850_storage_ptr","typeString":"struct IHederaTokenService.FungibleTokenInfo"}},"visibility":"internal"}],"id":1888,"nodeType":"VariableDeclarationStatement","src":"14172:61:3"},{"expression":{"id":1907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1889,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1863,"src":"14244:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1890,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1866,"src":"14258:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_FungibleTokenInfo_$3850_memory_ptr","typeString":"struct IHederaTokenService.FungibleTokenInfo memory"}}],"id":1891,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"14243:25:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_struct$_FungibleTokenInfo_$3850_memory_ptr_$","typeString":"tuple(int256,struct IHederaTokenService.FungibleTokenInfo memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1892,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1869,"src":"14271:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":1902,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"14351:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1903,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14371:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"14351:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"id":1904,"name":"defaultTokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1887,"src":"14380:16:3","typeDescriptions":{"typeIdentifier":"t_struct$_FungibleTokenInfo_$3850_memory_ptr","typeString":"struct IHederaTokenService.FungibleTokenInfo memory"}}],"id":1905,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14350:47:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_FungibleTokenInfo_$3850_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.FungibleTokenInfo memory)"}},"id":1906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14271:126:3","trueExpression":{"arguments":[{"id":1895,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1871,"src":"14292:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14301:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1896,"name":"int32","nodeType":"ElementaryTypeName","src":"14301:5:3","typeDescriptions":{}}},{"expression":{"id":1898,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"14308:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14328:17:3","memberName":"FungibleTokenInfo","nodeType":"MemberAccess","referencedDeclaration":3850,"src":"14308:37:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_FungibleTokenInfo_$3850_storage_ptr_$","typeString":"type(struct IHederaTokenService.FungibleTokenInfo storage pointer)"}}],"id":1900,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14300:46:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_struct$_FungibleTokenInfo_$3850_storage_ptr_$_$","typeString":"tuple(type(int32),type(struct IHederaTokenService.FungibleTokenInfo storage pointer))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_struct$_FungibleTokenInfo_$3850_storage_ptr_$_$","typeString":"tuple(type(int32),type(struct IHederaTokenService.FungibleTokenInfo storage pointer))"}],"expression":{"id":1893,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14281:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1894,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14285:6:3","memberName":"decode","nodeType":"MemberAccess","src":"14281:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14281:66:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_FungibleTokenInfo_$3850_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.FungibleTokenInfo memory)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_FungibleTokenInfo_$3850_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.FungibleTokenInfo memory)"}},"src":"14243:154:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1908,"nodeType":"ExpressionStatement","src":"14243:154:3"}]},"documentation":{"id":1858,"nodeType":"StructuredDocumentation","src":"13664:191:3","text":"Retrieves fungible specific token info for a fungible token\n @param token The ID of the token as a solidity address\n @dev This function reverts if the call is not successful"},"id":1910,"implemented":true,"kind":"function","modifiers":[],"name":"getFungibleTokenInfo","nameLocation":"13869:20:3","nodeType":"FunctionDefinition","parameters":{"id":1861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1860,"mutability":"mutable","name":"token","nameLocation":"13898:5:3","nodeType":"VariableDeclaration","scope":1910,"src":"13890:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1859,"name":"address","nodeType":"ElementaryTypeName","src":"13890:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13889:15:3"},"returnParameters":{"id":1867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1863,"mutability":"mutable","name":"responseCode","nameLocation":"13927:12:3","nodeType":"VariableDeclaration","scope":1910,"src":"13923:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1862,"name":"int","nodeType":"ElementaryTypeName","src":"13923:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1866,"mutability":"mutable","name":"tokenInfo","nameLocation":"13986:9:3","nodeType":"VariableDeclaration","scope":1910,"src":"13941:54:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FungibleTokenInfo_$3850_memory_ptr","typeString":"struct IHederaTokenService.FungibleTokenInfo"},"typeName":{"id":1865,"nodeType":"UserDefinedTypeName","pathNode":{"id":1864,"name":"IHederaTokenService.FungibleTokenInfo","nameLocations":["13941:19:3","13961:17:3"],"nodeType":"IdentifierPath","referencedDeclaration":3850,"src":"13941:37:3"},"referencedDeclaration":3850,"src":"13941:37:3","typeDescriptions":{"typeIdentifier":"t_struct$_FungibleTokenInfo_$3850_storage_ptr","typeString":"struct IHederaTokenService.FungibleTokenInfo"}},"visibility":"internal"}],"src":"13922:74:3"},"scope":3726,"src":"13860:544:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1962,"nodeType":"Block","src":"14714:383:3","statements":[{"assignments":[1922,1924],"declarations":[{"constant":false,"id":1922,"mutability":"mutable","name":"success","nameLocation":"14730:7:3","nodeType":"VariableDeclaration","scope":1962,"src":"14725:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1921,"name":"bool","nodeType":"ElementaryTypeName","src":"14725:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1924,"mutability":"mutable","name":"result","nameLocation":"14752:6:3","nodeType":"VariableDeclaration","scope":1962,"src":"14739:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1923,"name":"bytes","nodeType":"ElementaryTypeName","src":"14739:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1935,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1929,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"14821:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14841:12:3","memberName":"getTokenInfo","nodeType":"MemberAccess","referencedDeclaration":4345,"src":"14821:32:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$_t_int64_$_t_struct$_TokenInfo_$3842_memory_ptr_$","typeString":"function IHederaTokenService.getTokenInfo(address) returns (int64,struct IHederaTokenService.TokenInfo memory)"}},"id":1931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14854:8:3","memberName":"selector","nodeType":"MemberAccess","src":"14821:41:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1932,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1913,"src":"14864:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1927,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14798:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14802:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"14798:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14798:72:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1925,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"14762:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1926,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14780:4:3","memberName":"call","nodeType":"MemberAccess","src":"14762:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14762:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"14724:147:3"},{"assignments":[1940],"declarations":[{"constant":false,"id":1940,"mutability":"mutable","name":"defaultTokenInfo","nameLocation":"14918:16:3","nodeType":"VariableDeclaration","scope":1962,"src":"14881:53:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$3842_memory_ptr","typeString":"struct IHederaTokenService.TokenInfo"},"typeName":{"id":1939,"nodeType":"UserDefinedTypeName","pathNode":{"id":1938,"name":"IHederaTokenService.TokenInfo","nameLocations":["14881:19:3","14901:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":3842,"src":"14881:29:3"},"referencedDeclaration":3842,"src":"14881:29:3","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$3842_storage_ptr","typeString":"struct IHederaTokenService.TokenInfo"}},"visibility":"internal"}],"id":1941,"nodeType":"VariableDeclarationStatement","src":"14881:53:3"},{"expression":{"id":1960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1942,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1916,"src":"14945:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1943,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1919,"src":"14959:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$3842_memory_ptr","typeString":"struct IHederaTokenService.TokenInfo memory"}}],"id":1944,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"14944:25:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_struct$_TokenInfo_$3842_memory_ptr_$","typeString":"tuple(int256,struct IHederaTokenService.TokenInfo memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":1945,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1922,"src":"14972:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":1955,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"15044:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":1956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15064:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"15044:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"id":1957,"name":"defaultTokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1940,"src":"15073:16:3","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$3842_memory_ptr","typeString":"struct IHederaTokenService.TokenInfo memory"}}],"id":1958,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15043:47:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_TokenInfo_$3842_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.TokenInfo memory)"}},"id":1959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14972:118:3","trueExpression":{"arguments":[{"id":1948,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1924,"src":"14993:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1950,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15002:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":1949,"name":"int32","nodeType":"ElementaryTypeName","src":"15002:5:3","typeDescriptions":{}}},{"expression":{"id":1951,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"15009:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15029:9:3","memberName":"TokenInfo","nodeType":"MemberAccess","referencedDeclaration":3842,"src":"15009:29:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TokenInfo_$3842_storage_ptr_$","typeString":"type(struct IHederaTokenService.TokenInfo storage pointer)"}}],"id":1953,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15001:38:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_struct$_TokenInfo_$3842_storage_ptr_$_$","typeString":"tuple(type(int32),type(struct IHederaTokenService.TokenInfo storage pointer))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_struct$_TokenInfo_$3842_storage_ptr_$_$","typeString":"tuple(type(int32),type(struct IHederaTokenService.TokenInfo storage pointer))"}],"expression":{"id":1946,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14982:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14986:6:3","memberName":"decode","nodeType":"MemberAccess","src":"14982:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14982:58:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_TokenInfo_$3842_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.TokenInfo memory)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_TokenInfo_$3842_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.TokenInfo memory)"}},"src":"14944:146:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1961,"nodeType":"ExpressionStatement","src":"14944:146:3"}]},"documentation":{"id":1911,"nodeType":"StructuredDocumentation","src":"14410:178:3","text":"Retrieves general token info for a given token\n @param token The ID of the token as a solidity address\n @dev This function reverts if the call is not successful"},"id":1963,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenInfo","nameLocation":"14602:12:3","nodeType":"FunctionDefinition","parameters":{"id":1914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1913,"mutability":"mutable","name":"token","nameLocation":"14623:5:3","nodeType":"VariableDeclaration","scope":1963,"src":"14615:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1912,"name":"address","nodeType":"ElementaryTypeName","src":"14615:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14614:15:3"},"returnParameters":{"id":1920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1916,"mutability":"mutable","name":"responseCode","nameLocation":"14652:12:3","nodeType":"VariableDeclaration","scope":1963,"src":"14648:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1915,"name":"int","nodeType":"ElementaryTypeName","src":"14648:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1919,"mutability":"mutable","name":"tokenInfo","nameLocation":"14703:9:3","nodeType":"VariableDeclaration","scope":1963,"src":"14666:46:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$3842_memory_ptr","typeString":"struct IHederaTokenService.TokenInfo"},"typeName":{"id":1918,"nodeType":"UserDefinedTypeName","pathNode":{"id":1917,"name":"IHederaTokenService.TokenInfo","nameLocations":["14666:19:3","14686:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":3842,"src":"14666:29:3"},"referencedDeclaration":3842,"src":"14666:29:3","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$3842_storage_ptr","typeString":"struct IHederaTokenService.TokenInfo"}},"visibility":"internal"}],"src":"14647:66:3"},"scope":3726,"src":"14593:504:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2018,"nodeType":"Block","src":"15461:430:3","statements":[{"assignments":[1977,1979],"declarations":[{"constant":false,"id":1977,"mutability":"mutable","name":"success","nameLocation":"15477:7:3","nodeType":"VariableDeclaration","scope":2018,"src":"15472:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1976,"name":"bool","nodeType":"ElementaryTypeName","src":"15472:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1979,"mutability":"mutable","name":"result","nameLocation":"15499:6:3","nodeType":"VariableDeclaration","scope":2018,"src":"15486:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1978,"name":"bytes","nodeType":"ElementaryTypeName","src":"15486:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1991,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":1984,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"15568:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":1985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15588:23:3","memberName":"getNonFungibleTokenInfo","nodeType":"MemberAccess","referencedDeclaration":4371,"src":"15568:43:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_int64_$returns$_t_int64_$_t_struct$_NonFungibleTokenInfo_$3870_memory_ptr_$","typeString":"function IHederaTokenService.getNonFungibleTokenInfo(address,int64) returns (int64,struct IHederaTokenService.NonFungibleTokenInfo memory)"}},"id":1986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15612:8:3","memberName":"selector","nodeType":"MemberAccess","src":"15568:52:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1987,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1966,"src":"15622:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1988,"name":"serialNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1968,"src":"15629:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int64","typeString":"int64"}],"expression":{"id":1982,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15545:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15549:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"15545:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":1989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15545:97:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":1980,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"15509:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15527:4:3","memberName":"call","nodeType":"MemberAccess","src":"15509:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":1990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15509:134:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"15471:172:3"},{"assignments":[1996],"declarations":[{"constant":false,"id":1996,"mutability":"mutable","name":"defaultTokenInfo","nameLocation":"15701:16:3","nodeType":"VariableDeclaration","scope":2018,"src":"15653:64:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_NonFungibleTokenInfo_$3870_memory_ptr","typeString":"struct IHederaTokenService.NonFungibleTokenInfo"},"typeName":{"id":1995,"nodeType":"UserDefinedTypeName","pathNode":{"id":1994,"name":"IHederaTokenService.NonFungibleTokenInfo","nameLocations":["15653:19:3","15673:20:3"],"nodeType":"IdentifierPath","referencedDeclaration":3870,"src":"15653:40:3"},"referencedDeclaration":3870,"src":"15653:40:3","typeDescriptions":{"typeIdentifier":"t_struct$_NonFungibleTokenInfo_$3870_storage_ptr","typeString":"struct IHederaTokenService.NonFungibleTokenInfo"}},"visibility":"internal"}],"id":1997,"nodeType":"VariableDeclarationStatement","src":"15653:64:3"},{"expression":{"id":2016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1998,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"15728:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":1999,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1974,"src":"15742:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_NonFungibleTokenInfo_$3870_memory_ptr","typeString":"struct IHederaTokenService.NonFungibleTokenInfo memory"}}],"id":2000,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"15727:25:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_struct$_NonFungibleTokenInfo_$3870_memory_ptr_$","typeString":"tuple(int256,struct IHederaTokenService.NonFungibleTokenInfo memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2001,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1977,"src":"15755:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":2011,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"15838:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2012,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15858:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"15838:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"id":2013,"name":"defaultTokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"15867:16:3","typeDescriptions":{"typeIdentifier":"t_struct$_NonFungibleTokenInfo_$3870_memory_ptr","typeString":"struct IHederaTokenService.NonFungibleTokenInfo memory"}}],"id":2014,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15837:47:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_NonFungibleTokenInfo_$3870_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.NonFungibleTokenInfo memory)"}},"id":2015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"15755:129:3","trueExpression":{"arguments":[{"id":2004,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1979,"src":"15776:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2006,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15785:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2005,"name":"int32","nodeType":"ElementaryTypeName","src":"15785:5:3","typeDescriptions":{}}},{"expression":{"id":2007,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"15792:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15812:20:3","memberName":"NonFungibleTokenInfo","nodeType":"MemberAccess","referencedDeclaration":3870,"src":"15792:40:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_NonFungibleTokenInfo_$3870_storage_ptr_$","typeString":"type(struct IHederaTokenService.NonFungibleTokenInfo storage pointer)"}}],"id":2009,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15784:49:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_struct$_NonFungibleTokenInfo_$3870_storage_ptr_$_$","typeString":"tuple(type(int32),type(struct IHederaTokenService.NonFungibleTokenInfo storage pointer))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_struct$_NonFungibleTokenInfo_$3870_storage_ptr_$_$","typeString":"tuple(type(int32),type(struct IHederaTokenService.NonFungibleTokenInfo storage pointer))"}],"expression":{"id":2002,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15765:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15769:6:3","memberName":"decode","nodeType":"MemberAccess","src":"15765:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15765:69:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_NonFungibleTokenInfo_$3870_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.NonFungibleTokenInfo memory)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_NonFungibleTokenInfo_$3870_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.NonFungibleTokenInfo memory)"}},"src":"15727:157:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2017,"nodeType":"ExpressionStatement","src":"15727:157:3"}]},"documentation":{"id":1964,"nodeType":"StructuredDocumentation","src":"15103:190:3","text":"Retrieves non-fungible specific token info for a given NFT\n @param token The ID of the token as a solidity address\n @dev This function reverts if the call is not successful"},"id":2019,"implemented":true,"kind":"function","modifiers":[],"name":"getNonFungibleTokenInfo","nameLocation":"15307:23:3","nodeType":"FunctionDefinition","parameters":{"id":1969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1966,"mutability":"mutable","name":"token","nameLocation":"15339:5:3","nodeType":"VariableDeclaration","scope":2019,"src":"15331:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1965,"name":"address","nodeType":"ElementaryTypeName","src":"15331:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1968,"mutability":"mutable","name":"serialNumber","nameLocation":"15352:12:3","nodeType":"VariableDeclaration","scope":2019,"src":"15346:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":1967,"name":"int64","nodeType":"ElementaryTypeName","src":"15346:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"15330:35:3"},"returnParameters":{"id":1975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1971,"mutability":"mutable","name":"responseCode","nameLocation":"15388:12:3","nodeType":"VariableDeclaration","scope":2019,"src":"15384:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":1970,"name":"int","nodeType":"ElementaryTypeName","src":"15384:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":1974,"mutability":"mutable","name":"tokenInfo","nameLocation":"15450:9:3","nodeType":"VariableDeclaration","scope":2019,"src":"15402:57:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_NonFungibleTokenInfo_$3870_memory_ptr","typeString":"struct IHederaTokenService.NonFungibleTokenInfo"},"typeName":{"id":1973,"nodeType":"UserDefinedTypeName","pathNode":{"id":1972,"name":"IHederaTokenService.NonFungibleTokenInfo","nameLocations":["15402:19:3","15422:20:3"],"nodeType":"IdentifierPath","referencedDeclaration":3870,"src":"15402:40:3"},"referencedDeclaration":3870,"src":"15402:40:3","typeDescriptions":{"typeIdentifier":"t_struct$_NonFungibleTokenInfo_$3870_storage_ptr","typeString":"struct IHederaTokenService.NonFungibleTokenInfo"}},"visibility":"internal"}],"src":"15383:77:3"},"scope":3726,"src":"15298:593:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2106,"nodeType":"Block","src":"16583:717:3","statements":[{"assignments":[2040,2042],"declarations":[{"constant":false,"id":2040,"mutability":"mutable","name":"success","nameLocation":"16599:7:3","nodeType":"VariableDeclaration","scope":2106,"src":"16594:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2039,"name":"bool","nodeType":"ElementaryTypeName","src":"16594:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2042,"mutability":"mutable","name":"result","nameLocation":"16621:6:3","nodeType":"VariableDeclaration","scope":2106,"src":"16608:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2041,"name":"bytes","nodeType":"ElementaryTypeName","src":"16608:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2053,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2047,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"16690:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16710:18:3","memberName":"getTokenCustomFees","nodeType":"MemberAccess","referencedDeclaration":4292,"src":"16690:38:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$_t_int64_$_t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr_$","typeString":"function IHederaTokenService.getTokenCustomFees(address) returns (int64,struct IHederaTokenService.FixedFee memory[] memory,struct IHederaTokenService.FractionalFee memory[] memory,struct IHederaTokenService.RoyaltyFee memory[] memory)"}},"id":2049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16729:8:3","memberName":"selector","nodeType":"MemberAccess","src":"16690:47:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2050,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2022,"src":"16739:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2045,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16667:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16671:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"16667:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16667:78:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2043,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"16631:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16649:4:3","memberName":"call","nodeType":"MemberAccess","src":"16631:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16631:115:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"16593:153:3"},{"assignments":[2059],"declarations":[{"constant":false,"id":2059,"mutability":"mutable","name":"defaultFixedFees","nameLocation":"16794:16:3","nodeType":"VariableDeclaration","scope":2106,"src":"16756:54:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee[]"},"typeName":{"baseType":{"id":2057,"nodeType":"UserDefinedTypeName","pathNode":{"id":2056,"name":"IHederaTokenService.FixedFee","nameLocations":["16756:19:3","16776:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3881,"src":"16756:28:3"},"referencedDeclaration":3881,"src":"16756:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_FixedFee_$3881_storage_ptr","typeString":"struct IHederaTokenService.FixedFee"}},"id":2058,"nodeType":"ArrayTypeName","src":"16756:30:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"}},"visibility":"internal"}],"id":2060,"nodeType":"VariableDeclarationStatement","src":"16756:54:3"},{"assignments":[2066],"declarations":[{"constant":false,"id":2066,"mutability":"mutable","name":"defaultFractionalFees","nameLocation":"16863:21:3","nodeType":"VariableDeclaration","scope":2106,"src":"16820:64:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"},"typeName":{"baseType":{"id":2064,"nodeType":"UserDefinedTypeName","pathNode":{"id":2063,"name":"IHederaTokenService.FractionalFee","nameLocations":["16820:19:3","16840:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":3894,"src":"16820:33:3"},"referencedDeclaration":3894,"src":"16820:33:3","typeDescriptions":{"typeIdentifier":"t_struct$_FractionalFee_$3894_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee"}},"id":2065,"nodeType":"ArrayTypeName","src":"16820:35:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"}},"visibility":"internal"}],"id":2067,"nodeType":"VariableDeclarationStatement","src":"16820:64:3"},{"assignments":[2073],"declarations":[{"constant":false,"id":2073,"mutability":"mutable","name":"defaultRoyaltyFees","nameLocation":"16934:18:3","nodeType":"VariableDeclaration","scope":2106,"src":"16894:58:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"},"typeName":{"baseType":{"id":2071,"nodeType":"UserDefinedTypeName","pathNode":{"id":2070,"name":"IHederaTokenService.RoyaltyFee","nameLocations":["16894:19:3","16914:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":3907,"src":"16894:30:3"},"referencedDeclaration":3907,"src":"16894:30:3","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyFee_$3907_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee"}},"id":2072,"nodeType":"ArrayTypeName","src":"16894:32:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"}},"visibility":"internal"}],"id":2074,"nodeType":"VariableDeclarationStatement","src":"16894:58:3"},{"expression":{"id":2104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2075,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2025,"src":"16963:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},{"id":2076,"name":"fixedFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2029,"src":"16977:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee memory[] memory"}},{"id":2077,"name":"fractionalFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2033,"src":"16988:14:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee memory[] memory"}},{"id":2078,"name":"royaltyFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2037,"src":"17004:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee memory[] memory"}}],"id":2079,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"16962:54:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int64_$_t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(int64,struct IHederaTokenService.FixedFee memory[] memory,struct IHederaTokenService.FractionalFee memory[] memory,struct IHederaTokenService.RoyaltyFee memory[] memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2080,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2040,"src":"17031:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":2097,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"17204:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17224:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"17204:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"id":2099,"name":"defaultFixedFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2059,"src":"17233:16:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee memory[] memory"}},{"id":2100,"name":"defaultFractionalFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2066,"src":"17251:21:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee memory[] memory"}},{"id":2101,"name":"defaultRoyaltyFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2073,"src":"17274:18:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee memory[] memory"}}],"id":2102,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17203:90:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.FixedFee memory[] memory,struct IHederaTokenService.FractionalFee memory[] memory,struct IHederaTokenService.RoyaltyFee memory[] memory)"}},"id":2103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"17031:262:3","trueExpression":{"arguments":[{"id":2083,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2042,"src":"17065:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17074:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2084,"name":"int32","nodeType":"ElementaryTypeName","src":"17074:5:3","typeDescriptions":{}}},{"baseExpression":{"expression":{"id":2086,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"17081:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17101:8:3","memberName":"FixedFee","nodeType":"MemberAccess","referencedDeclaration":3881,"src":"17081:28:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_FixedFee_$3881_storage_ptr_$","typeString":"type(struct IHederaTokenService.FixedFee storage pointer)"}},"id":2088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17081:30:3","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IHederaTokenService.FixedFee memory[] memory)"}},{"baseExpression":{"expression":{"id":2089,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"17113:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17133:13:3","memberName":"FractionalFee","nodeType":"MemberAccess","referencedDeclaration":3894,"src":"17113:33:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_FractionalFee_$3894_storage_ptr_$","typeString":"type(struct IHederaTokenService.FractionalFee storage pointer)"}},"id":2091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17113:35:3","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IHederaTokenService.FractionalFee memory[] memory)"}},{"baseExpression":{"expression":{"id":2092,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"17150:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17170:10:3","memberName":"RoyaltyFee","nodeType":"MemberAccess","referencedDeclaration":3907,"src":"17150:30:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_RoyaltyFee_$3907_storage_ptr_$","typeString":"type(struct IHederaTokenService.RoyaltyFee storage pointer)"}},"id":2094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17150:32:3","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr_$","typeString":"type(struct IHederaTokenService.RoyaltyFee memory[] memory)"}}],"id":2095,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17073:110:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr_$_$_t_type$_t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr_$_$_t_type$_t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr_$_$","typeString":"tuple(type(int32),type(struct IHederaTokenService.FixedFee memory[] memory),type(struct IHederaTokenService.FractionalFee memory[] memory),type(struct IHederaTokenService.RoyaltyFee memory[] memory))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr_$_$_t_type$_t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr_$_$_t_type$_t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr_$_$","typeString":"tuple(type(int32),type(struct IHederaTokenService.FixedFee memory[] memory),type(struct IHederaTokenService.FractionalFee memory[] memory),type(struct IHederaTokenService.RoyaltyFee memory[] memory))"}],"expression":{"id":2081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17041:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17045:6:3","memberName":"decode","nodeType":"MemberAccess","src":"17041:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17041:143:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.FixedFee memory[] memory,struct IHederaTokenService.FractionalFee memory[] memory,struct IHederaTokenService.RoyaltyFee memory[] memory)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.FixedFee memory[] memory,struct IHederaTokenService.FractionalFee memory[] memory,struct IHederaTokenService.RoyaltyFee memory[] memory)"}},"src":"16962:331:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2105,"nodeType":"ExpressionStatement","src":"16962:331:3"}]},"documentation":{"id":2020,"nodeType":"StructuredDocumentation","src":"15897:415:3","text":"Query token custom fees\n @param token The token address to check\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return fixedFees Set of fixed fees for `token`\n @return fractionalFees Set of fractional fees for `token`\n @return royaltyFees Set of royalty fees for `token`\n @dev This function reverts if the call is not successful"},"id":2107,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenCustomFees","nameLocation":"16326:18:3","nodeType":"FunctionDefinition","parameters":{"id":2023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2022,"mutability":"mutable","name":"token","nameLocation":"16353:5:3","nodeType":"VariableDeclaration","scope":2107,"src":"16345:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2021,"name":"address","nodeType":"ElementaryTypeName","src":"16345:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16344:15:3"},"returnParameters":{"id":2038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2025,"mutability":"mutable","name":"responseCode","nameLocation":"16384:12:3","nodeType":"VariableDeclaration","scope":2107,"src":"16378:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":2024,"name":"int64","nodeType":"ElementaryTypeName","src":"16378:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":2029,"mutability":"mutable","name":"fixedFees","nameLocation":"16444:9:3","nodeType":"VariableDeclaration","scope":2107,"src":"16406:47:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee[]"},"typeName":{"baseType":{"id":2027,"nodeType":"UserDefinedTypeName","pathNode":{"id":2026,"name":"IHederaTokenService.FixedFee","nameLocations":["16406:19:3","16426:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3881,"src":"16406:28:3"},"referencedDeclaration":3881,"src":"16406:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_FixedFee_$3881_storage_ptr","typeString":"struct IHederaTokenService.FixedFee"}},"id":2028,"nodeType":"ArrayTypeName","src":"16406:30:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"}},"visibility":"internal"},{"constant":false,"id":2033,"mutability":"mutable","name":"fractionalFees","nameLocation":"16506:14:3","nodeType":"VariableDeclaration","scope":2107,"src":"16463:57:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"},"typeName":{"baseType":{"id":2031,"nodeType":"UserDefinedTypeName","pathNode":{"id":2030,"name":"IHederaTokenService.FractionalFee","nameLocations":["16463:19:3","16483:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":3894,"src":"16463:33:3"},"referencedDeclaration":3894,"src":"16463:33:3","typeDescriptions":{"typeIdentifier":"t_struct$_FractionalFee_$3894_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee"}},"id":2032,"nodeType":"ArrayTypeName","src":"16463:35:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"}},"visibility":"internal"},{"constant":false,"id":2037,"mutability":"mutable","name":"royaltyFees","nameLocation":"16570:11:3","nodeType":"VariableDeclaration","scope":2107,"src":"16530:51:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"},"typeName":{"baseType":{"id":2035,"nodeType":"UserDefinedTypeName","pathNode":{"id":2034,"name":"IHederaTokenService.RoyaltyFee","nameLocations":["16530:19:3","16550:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":3907,"src":"16530:30:3"},"referencedDeclaration":3907,"src":"16530:30:3","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyFee_$3907_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee"}},"id":2036,"nodeType":"ArrayTypeName","src":"16530:32:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"}},"visibility":"internal"}],"src":"16377:205:3"},"scope":3726,"src":"16317:983:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2150,"nodeType":"Block","src":"17905:284:3","statements":[{"assignments":[2120,2122],"declarations":[{"constant":false,"id":2120,"mutability":"mutable","name":"success","nameLocation":"17921:7:3","nodeType":"VariableDeclaration","scope":2150,"src":"17916:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2119,"name":"bool","nodeType":"ElementaryTypeName","src":"17916:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2122,"mutability":"mutable","name":"result","nameLocation":"17943:6:3","nodeType":"VariableDeclaration","scope":2150,"src":"17930:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2121,"name":"bytes","nodeType":"ElementaryTypeName","src":"17930:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2135,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2127,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"18012:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18032:7:3","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":4148,"src":"18012:27:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_int64_$","typeString":"function IHederaTokenService.approve(address,address,uint256) returns (int64)"}},"id":2129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18040:8:3","memberName":"selector","nodeType":"MemberAccess","src":"18012:36:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2130,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2110,"src":"18066:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2131,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2112,"src":"18073:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2132,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2114,"src":"18082:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2125,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17989:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2126,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17993:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"17989:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17989:100:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2123,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"17953:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17971:4:3","memberName":"call","nodeType":"MemberAccess","src":"17953:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17953:137:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"17915:175:3"},{"expression":{"id":2148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2136,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2117,"src":"18100:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2137,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2120,"src":"18115:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2145,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"18155:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18175:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"18155:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":2147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"18115:67:3","trueExpression":{"arguments":[{"id":2140,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2122,"src":"18136:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18145:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2141,"name":"int32","nodeType":"ElementaryTypeName","src":"18145:5:3","typeDescriptions":{}}}],"id":2143,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"18144:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":2138,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18125:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18129:6:3","memberName":"decode","nodeType":"MemberAccess","src":"18125:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18125:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"18100:82:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2149,"nodeType":"ExpressionStatement","src":"18100:82:3"}]},"documentation":{"id":2108,"nodeType":"StructuredDocumentation","src":"17306:489:3","text":"Allows spender to withdraw from your account multiple times, up to the value amount. If this function is called\n again it overwrites the current allowance with value.\n Only Applicable to Fungible Tokens\n @param token The hedera token address to approve\n @param spender the account authorized to spend\n @param amount the amount of tokens authorized to spend.\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":2151,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"17809:7:3","nodeType":"FunctionDefinition","parameters":{"id":2115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2110,"mutability":"mutable","name":"token","nameLocation":"17825:5:3","nodeType":"VariableDeclaration","scope":2151,"src":"17817:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2109,"name":"address","nodeType":"ElementaryTypeName","src":"17817:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2112,"mutability":"mutable","name":"spender","nameLocation":"17840:7:3","nodeType":"VariableDeclaration","scope":2151,"src":"17832:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2111,"name":"address","nodeType":"ElementaryTypeName","src":"17832:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2114,"mutability":"mutable","name":"amount","nameLocation":"17857:6:3","nodeType":"VariableDeclaration","scope":2151,"src":"17849:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2113,"name":"uint256","nodeType":"ElementaryTypeName","src":"17849:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17816:48:3"},"returnParameters":{"id":2118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2117,"mutability":"mutable","name":"responseCode","nameLocation":"17887:12:3","nodeType":"VariableDeclaration","scope":2151,"src":"17883:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2116,"name":"int","nodeType":"ElementaryTypeName","src":"17883:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17882:18:3"},"scope":3726,"src":"17800:389:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2197,"nodeType":"Block","src":"18944:290:3","statements":[{"assignments":[2166,2168],"declarations":[{"constant":false,"id":2166,"mutability":"mutable","name":"success","nameLocation":"18960:7:3","nodeType":"VariableDeclaration","scope":2197,"src":"18955:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2165,"name":"bool","nodeType":"ElementaryTypeName","src":"18955:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2168,"mutability":"mutable","name":"result","nameLocation":"18982:6:3","nodeType":"VariableDeclaration","scope":2197,"src":"18969:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2167,"name":"bytes","nodeType":"ElementaryTypeName","src":"18969:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2182,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2173,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"19051:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19071:12:3","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":4162,"src":"19051:32:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$_t_int64_$","typeString":"function IHederaTokenService.transferFrom(address,address,address,uint256) returns (int64)"}},"id":2175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19084:8:3","memberName":"selector","nodeType":"MemberAccess","src":"19051:41:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2176,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2154,"src":"19110:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2177,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2156,"src":"19117:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2178,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2158,"src":"19123:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2179,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2160,"src":"19127:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2171,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19028:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19032:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"19028:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19028:106:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2169,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"18992:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19010:4:3","memberName":"call","nodeType":"MemberAccess","src":"18992:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18992:143:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"18954:181:3"},{"expression":{"id":2195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2183,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2163,"src":"19145:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2184,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2166,"src":"19160:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2192,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"19200:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2193,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19220:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"19200:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":2194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"19160:67:3","trueExpression":{"arguments":[{"id":2187,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2168,"src":"19181:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19190:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2188,"name":"int32","nodeType":"ElementaryTypeName","src":"19190:5:3","typeDescriptions":{}}}],"id":2190,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"19189:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":2185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19170:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19174:6:3","memberName":"decode","nodeType":"MemberAccess","src":"19170:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19170:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"19145:82:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":2196,"nodeType":"ExpressionStatement","src":"19145:82:3"}]},"documentation":{"id":2152,"nodeType":"StructuredDocumentation","src":"18343:475:3","text":"Only applicable to fungible tokens\n @param token The address of the fungible Hedera token to transfer\n @param from The account address of the owner of the token, on the behalf of which to transfer `amount` tokens\n @param to The account address of the receiver of the `amount` tokens\n @param amount The amount of tokens to transfer from `from` to `to`\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"15dacbea","id":2198,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"18832:12:3","nodeType":"FunctionDefinition","parameters":{"id":2161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2154,"mutability":"mutable","name":"token","nameLocation":"18853:5:3","nodeType":"VariableDeclaration","scope":2198,"src":"18845:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2153,"name":"address","nodeType":"ElementaryTypeName","src":"18845:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2156,"mutability":"mutable","name":"from","nameLocation":"18868:4:3","nodeType":"VariableDeclaration","scope":2198,"src":"18860:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2155,"name":"address","nodeType":"ElementaryTypeName","src":"18860:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2158,"mutability":"mutable","name":"to","nameLocation":"18882:2:3","nodeType":"VariableDeclaration","scope":2198,"src":"18874:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2157,"name":"address","nodeType":"ElementaryTypeName","src":"18874:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2160,"mutability":"mutable","name":"amount","nameLocation":"18894:6:3","nodeType":"VariableDeclaration","scope":2198,"src":"18886:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2159,"name":"uint256","nodeType":"ElementaryTypeName","src":"18886:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18844:57:3"},"returnParameters":{"id":2164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2163,"mutability":"mutable","name":"responseCode","nameLocation":"18926:12:3","nodeType":"VariableDeclaration","scope":2198,"src":"18920:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":2162,"name":"int64","nodeType":"ElementaryTypeName","src":"18920:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"18919:20:3"},"scope":3726,"src":"18823:411:3","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":2244,"nodeType":"Block","src":"19890:299:3","statements":[{"assignments":[2213,2215],"declarations":[{"constant":false,"id":2213,"mutability":"mutable","name":"success","nameLocation":"19906:7:3","nodeType":"VariableDeclaration","scope":2244,"src":"19901:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2212,"name":"bool","nodeType":"ElementaryTypeName","src":"19901:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2215,"mutability":"mutable","name":"result","nameLocation":"19928:6:3","nodeType":"VariableDeclaration","scope":2244,"src":"19915:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2214,"name":"bytes","nodeType":"ElementaryTypeName","src":"19915:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2229,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2220,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"19997:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20017:15:3","memberName":"transferFromNFT","nodeType":"MemberAccess","referencedDeclaration":4202,"src":"19997:35:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$_t_int64_$","typeString":"function IHederaTokenService.transferFromNFT(address,address,address,uint256) returns (int64)"}},"id":2222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20033:8:3","memberName":"selector","nodeType":"MemberAccess","src":"19997:44:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2223,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2201,"src":"20059:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2224,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2203,"src":"20066:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2225,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2205,"src":"20072:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2226,"name":"serialNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2207,"src":"20076:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2218,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19974:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19978:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"19974:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19974:115:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2216,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"19938:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19956:4:3","memberName":"call","nodeType":"MemberAccess","src":"19938:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19938:152:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"19900:190:3"},{"expression":{"id":2242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2230,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2210,"src":"20100:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2231,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2213,"src":"20115:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2239,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"20155:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2240,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20175:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"20155:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":2241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"20115:67:3","trueExpression":{"arguments":[{"id":2234,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2215,"src":"20136:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2236,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20145:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2235,"name":"int32","nodeType":"ElementaryTypeName","src":"20145:5:3","typeDescriptions":{}}}],"id":2237,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20144:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":2232,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20125:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20129:6:3","memberName":"decode","nodeType":"MemberAccess","src":"20125:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20125:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"20100:82:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":2243,"nodeType":"ExpressionStatement","src":"20100:82:3"}]},"documentation":{"id":2199,"nodeType":"StructuredDocumentation","src":"19240:515:3","text":"Transfers `serialNumber` of `token` from `from` to `to` using the allowance mechanism.\n Only applicable to NFT tokens\n @param token The address of the non-fungible Hedera token to transfer\n @param from The account address of the owner of `serialNumber` of `token`\n @param to The account address of the receiver of `serialNumber`\n @param serialNumber The NFT serial number to transfer\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"9b23d3d9","id":2245,"implemented":true,"kind":"function","modifiers":[],"name":"transferFromNFT","nameLocation":"19769:15:3","nodeType":"FunctionDefinition","parameters":{"id":2208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2201,"mutability":"mutable","name":"token","nameLocation":"19793:5:3","nodeType":"VariableDeclaration","scope":2245,"src":"19785:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2200,"name":"address","nodeType":"ElementaryTypeName","src":"19785:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2203,"mutability":"mutable","name":"from","nameLocation":"19808:4:3","nodeType":"VariableDeclaration","scope":2245,"src":"19800:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2202,"name":"address","nodeType":"ElementaryTypeName","src":"19800:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2205,"mutability":"mutable","name":"to","nameLocation":"19822:2:3","nodeType":"VariableDeclaration","scope":2245,"src":"19814:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2204,"name":"address","nodeType":"ElementaryTypeName","src":"19814:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2207,"mutability":"mutable","name":"serialNumber","nameLocation":"19834:12:3","nodeType":"VariableDeclaration","scope":2245,"src":"19826:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2206,"name":"uint256","nodeType":"ElementaryTypeName","src":"19826:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19784:63:3"},"returnParameters":{"id":2211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2210,"mutability":"mutable","name":"responseCode","nameLocation":"19872:12:3","nodeType":"VariableDeclaration","scope":2245,"src":"19866:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":2209,"name":"int64","nodeType":"ElementaryTypeName","src":"19866:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"19865:20:3"},"scope":3726,"src":"19760:429:3","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":2296,"nodeType":"Block","src":"20713:309:3","statements":[{"assignments":[2260,2262],"declarations":[{"constant":false,"id":2260,"mutability":"mutable","name":"success","nameLocation":"20729:7:3","nodeType":"VariableDeclaration","scope":2296,"src":"20724:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2259,"name":"bool","nodeType":"ElementaryTypeName","src":"20724:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2262,"mutability":"mutable","name":"result","nameLocation":"20751:6:3","nodeType":"VariableDeclaration","scope":2296,"src":"20738:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2261,"name":"bytes","nodeType":"ElementaryTypeName","src":"20738:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2275,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2267,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"20820:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20840:9:3","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":4176,"src":"20820:29:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$returns$_t_int64_$_t_uint256_$","typeString":"function IHederaTokenService.allowance(address,address,address) returns (int64,uint256)"}},"id":2269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20850:8:3","memberName":"selector","nodeType":"MemberAccess","src":"20820:38:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2270,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2248,"src":"20876:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2271,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2250,"src":"20883:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2272,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2252,"src":"20890:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2265,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20797:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20801:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"20797:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20797:101:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2263,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"20761:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20779:4:3","memberName":"call","nodeType":"MemberAccess","src":"20761:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20761:138:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"20723:176:3"},{"expression":{"id":2294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2276,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2255,"src":"20910:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2277,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2257,"src":"20924:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2278,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"20909:22:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_uint256_$","typeString":"tuple(int256,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2279,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2260,"src":"20934:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":2289,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"20984:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21004:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"20984:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"30","id":2291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21013:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":2292,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20983:32:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_rational_0_by_1_$","typeString":"tuple(int32,int_const 0)"}},"id":2293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"20934:81:3","trueExpression":{"arguments":[{"id":2282,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2262,"src":"20955:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20964:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2283,"name":"int32","nodeType":"ElementaryTypeName","src":"20964:5:3","typeDescriptions":{}}},{"id":2286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20971:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":2285,"name":"uint256","nodeType":"ElementaryTypeName","src":"20971:7:3","typeDescriptions":{}}}],"id":2287,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"20963:16:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(int32),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(int32),type(uint256))"}],"expression":{"id":2280,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20944:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20948:6:3","memberName":"decode","nodeType":"MemberAccess","src":"20944:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20944:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_uint256_$","typeString":"tuple(int32,uint256)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_uint256_$","typeString":"tuple(int32,uint256)"}},"src":"20909:106:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2295,"nodeType":"ExpressionStatement","src":"20909:106:3"}]},"documentation":{"id":2246,"nodeType":"StructuredDocumentation","src":"20195:391:3","text":"Returns the amount which spender is still allowed to withdraw from owner.\n Only Applicable to Fungible Tokens\n @param token The Hedera token address to check the allowance of\n @param owner the owner of the tokens to be spent\n @param spender the spender of the tokens\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":2297,"implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"20600:9:3","nodeType":"FunctionDefinition","parameters":{"id":2253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2248,"mutability":"mutable","name":"token","nameLocation":"20618:5:3","nodeType":"VariableDeclaration","scope":2297,"src":"20610:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2247,"name":"address","nodeType":"ElementaryTypeName","src":"20610:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2250,"mutability":"mutable","name":"owner","nameLocation":"20633:5:3","nodeType":"VariableDeclaration","scope":2297,"src":"20625:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2249,"name":"address","nodeType":"ElementaryTypeName","src":"20625:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2252,"mutability":"mutable","name":"spender","nameLocation":"20648:7:3","nodeType":"VariableDeclaration","scope":2297,"src":"20640:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2251,"name":"address","nodeType":"ElementaryTypeName","src":"20640:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20609:47:3"},"returnParameters":{"id":2258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2255,"mutability":"mutable","name":"responseCode","nameLocation":"20679:12:3","nodeType":"VariableDeclaration","scope":2297,"src":"20675:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2254,"name":"int","nodeType":"ElementaryTypeName","src":"20675:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2257,"mutability":"mutable","name":"amount","nameLocation":"20701:6:3","nodeType":"VariableDeclaration","scope":2297,"src":"20693:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2256,"name":"uint256","nodeType":"ElementaryTypeName","src":"20693:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20674:34:3"},"scope":3726,"src":"20591:431:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2340,"nodeType":"Block","src":"21602:294:3","statements":[{"assignments":[2310,2312],"declarations":[{"constant":false,"id":2310,"mutability":"mutable","name":"success","nameLocation":"21618:7:3","nodeType":"VariableDeclaration","scope":2340,"src":"21613:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2309,"name":"bool","nodeType":"ElementaryTypeName","src":"21613:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2312,"mutability":"mutable","name":"result","nameLocation":"21640:6:3","nodeType":"VariableDeclaration","scope":2340,"src":"21627:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2311,"name":"bytes","nodeType":"ElementaryTypeName","src":"21627:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2325,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2317,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"21709:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21729:10:3","memberName":"approveNFT","nodeType":"MemberAccess","referencedDeclaration":4188,"src":"21709:30:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_int64_$","typeString":"function IHederaTokenService.approveNFT(address,address,uint256) returns (int64)"}},"id":2319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21740:8:3","memberName":"selector","nodeType":"MemberAccess","src":"21709:39:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2320,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2300,"src":"21766:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2321,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2302,"src":"21773:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2322,"name":"serialNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2304,"src":"21783:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2315,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21686:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21690:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"21686:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21686:110:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2313,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"21650:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21668:4:3","memberName":"call","nodeType":"MemberAccess","src":"21650:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21650:147:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"21612:185:3"},{"expression":{"id":2338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2326,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2307,"src":"21807:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2327,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2310,"src":"21822:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2335,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"21862:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21882:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"21862:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":2337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"21822:67:3","trueExpression":{"arguments":[{"id":2330,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2312,"src":"21843:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21852:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2331,"name":"int32","nodeType":"ElementaryTypeName","src":"21852:5:3","typeDescriptions":{}}}],"id":2333,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"21851:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":2328,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21832:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21836:6:3","memberName":"decode","nodeType":"MemberAccess","src":"21832:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21832:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"21807:82:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2339,"nodeType":"ExpressionStatement","src":"21807:82:3"}]},"documentation":{"id":2298,"nodeType":"StructuredDocumentation","src":"21028:454:3","text":"Allow or reaffirm the approved address to transfer an NFT the approved address does not own.\n Only Applicable to NFT Tokens\n @param token The Hedera NFT token address to approve\n @param approved The new approved NFT controller. To revoke approvals pass in the zero address.\n @param serialNumber The NFT serial number to approve\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":2341,"implemented":true,"kind":"function","modifiers":[],"name":"approveNFT","nameLocation":"21496:10:3","nodeType":"FunctionDefinition","parameters":{"id":2305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2300,"mutability":"mutable","name":"token","nameLocation":"21515:5:3","nodeType":"VariableDeclaration","scope":2341,"src":"21507:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2299,"name":"address","nodeType":"ElementaryTypeName","src":"21507:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2302,"mutability":"mutable","name":"approved","nameLocation":"21530:8:3","nodeType":"VariableDeclaration","scope":2341,"src":"21522:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2301,"name":"address","nodeType":"ElementaryTypeName","src":"21522:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2304,"mutability":"mutable","name":"serialNumber","nameLocation":"21548:12:3","nodeType":"VariableDeclaration","scope":2341,"src":"21540:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2303,"name":"uint256","nodeType":"ElementaryTypeName","src":"21540:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21506:55:3"},"returnParameters":{"id":2308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2307,"mutability":"mutable","name":"responseCode","nameLocation":"21584:12:3","nodeType":"VariableDeclaration","scope":2341,"src":"21580:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2306,"name":"int","nodeType":"ElementaryTypeName","src":"21580:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21579:18:3"},"scope":3726,"src":"21487:409:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2392,"nodeType":"Block","src":"22433:364:3","statements":[{"assignments":[2354,2356],"declarations":[{"constant":false,"id":2354,"mutability":"mutable","name":"success","nameLocation":"22449:7:3","nodeType":"VariableDeclaration","scope":2392,"src":"22444:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2353,"name":"bool","nodeType":"ElementaryTypeName","src":"22444:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2356,"mutability":"mutable","name":"result","nameLocation":"22471:6:3","nodeType":"VariableDeclaration","scope":2392,"src":"22458:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2355,"name":"bytes","nodeType":"ElementaryTypeName","src":"22458:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2368,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2361,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"22540:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22560:11:3","memberName":"getApproved","nodeType":"MemberAccess","referencedDeclaration":4214,"src":"22540:31:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_uint256_$returns$_t_int64_$_t_address_$","typeString":"function IHederaTokenService.getApproved(address,uint256) returns (int64,address)"}},"id":2363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22572:8:3","memberName":"selector","nodeType":"MemberAccess","src":"22540:40:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2364,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2344,"src":"22598:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2365,"name":"serialNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2346,"src":"22605:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2359,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22517:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2360,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22521:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"22517:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22517:101:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2357,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"22481:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22499:4:3","memberName":"call","nodeType":"MemberAccess","src":"22481:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22481:138:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"22443:176:3"},{"expression":{"id":2390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2369,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2349,"src":"22630:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2370,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2351,"src":"22644:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":2371,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"22629:24:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_address_$","typeString":"tuple(int256,address)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2372,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"22668:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":2382,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"22750:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22770:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"22750:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"arguments":[{"hexValue":"30","id":2386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22787:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2385,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22779:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2384,"name":"address","nodeType":"ElementaryTypeName","src":"22779:7:3","typeDescriptions":{}}},"id":2387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22779:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":2388,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22749:41:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_$","typeString":"tuple(int32,address)"}},"id":2389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22668:122:3","trueExpression":{"arguments":[{"id":2375,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"22705:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22714:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2376,"name":"int32","nodeType":"ElementaryTypeName","src":"22714:5:3","typeDescriptions":{}}},{"id":2379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22721:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2378,"name":"address","nodeType":"ElementaryTypeName","src":"22721:7:3","typeDescriptions":{}}}],"id":2380,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"22713:16:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_address_$_$","typeString":"tuple(type(int32),type(address))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_address_$_$","typeString":"tuple(type(int32),type(address))"}],"expression":{"id":2373,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22694:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2374,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22698:6:3","memberName":"decode","nodeType":"MemberAccess","src":"22694:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22694:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_payable_$","typeString":"tuple(int32,address payable)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_address_$","typeString":"tuple(int32,address)"}},"src":"22629:161:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2391,"nodeType":"ExpressionStatement","src":"22629:161:3"}]},"documentation":{"id":2342,"nodeType":"StructuredDocumentation","src":"21902:410:3","text":"Get the approved address for a single NFT\n Only Applicable to NFT Tokens\n @param token The Hedera NFT token address to check approval\n @param serialNumber The NFT to find the approved address for\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return approved The approved address for this NFT, or the zero address if there is none"},"id":2393,"implemented":true,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"22326:11:3","nodeType":"FunctionDefinition","parameters":{"id":2347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2344,"mutability":"mutable","name":"token","nameLocation":"22346:5:3","nodeType":"VariableDeclaration","scope":2393,"src":"22338:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2343,"name":"address","nodeType":"ElementaryTypeName","src":"22338:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2346,"mutability":"mutable","name":"serialNumber","nameLocation":"22361:12:3","nodeType":"VariableDeclaration","scope":2393,"src":"22353:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2345,"name":"uint256","nodeType":"ElementaryTypeName","src":"22353:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22337:37:3"},"returnParameters":{"id":2352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2349,"mutability":"mutable","name":"responseCode","nameLocation":"22397:12:3","nodeType":"VariableDeclaration","scope":2393,"src":"22393:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2348,"name":"int","nodeType":"ElementaryTypeName","src":"22393:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2351,"mutability":"mutable","name":"approved","nameLocation":"22419:8:3","nodeType":"VariableDeclaration","scope":2393,"src":"22411:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2350,"name":"address","nodeType":"ElementaryTypeName","src":"22411:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22392:36:3"},"scope":3726,"src":"22317:480:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2441,"nodeType":"Block","src":"23282:286:3","statements":[{"assignments":[2406,2408],"declarations":[{"constant":false,"id":2406,"mutability":"mutable","name":"success","nameLocation":"23298:7:3","nodeType":"VariableDeclaration","scope":2441,"src":"23293:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2405,"name":"bool","nodeType":"ElementaryTypeName","src":"23293:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2408,"mutability":"mutable","name":"result","nameLocation":"23320:6:3","nodeType":"VariableDeclaration","scope":2441,"src":"23307:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2407,"name":"bytes","nodeType":"ElementaryTypeName","src":"23307:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2420,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2413,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"23389:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2414,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23409:8:3","memberName":"isFrozen","nodeType":"MemberAccess","referencedDeclaration":4252,"src":"23389:28:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$returns$_t_int64_$_t_bool_$","typeString":"function IHederaTokenService.isFrozen(address,address) returns (int64,bool)"}},"id":2415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23418:8:3","memberName":"selector","nodeType":"MemberAccess","src":"23389:37:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2416,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2396,"src":"23428:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2417,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2398,"src":"23435:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2411,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23366:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2412,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23370:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"23366:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23366:77:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2409,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"23330:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23348:4:3","memberName":"call","nodeType":"MemberAccess","src":"23330:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23330:114:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"23292:152:3"},{"expression":{"id":2439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2421,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2401,"src":"23455:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},{"id":2422,"name":"frozen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2403,"src":"23469:6:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2423,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"23454:22:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int64_$_t_bool_$","typeString":"tuple(int64,bool)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2424,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2406,"src":"23479:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":2434,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"23526:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23546:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"23526:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"66616c7365","id":2436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"23555:5:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"id":2437,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23525:36:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"id":2438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23479:82:3","trueExpression":{"arguments":[{"id":2427,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2408,"src":"23500:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23509:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2428,"name":"int32","nodeType":"ElementaryTypeName","src":"23509:5:3","typeDescriptions":{}}},{"id":2431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23516:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":2430,"name":"bool","nodeType":"ElementaryTypeName","src":"23516:4:3","typeDescriptions":{}}}],"id":2432,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23508:13:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_bool_$_$","typeString":"tuple(type(int32),type(bool))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_bool_$_$","typeString":"tuple(type(int32),type(bool))"}],"expression":{"id":2425,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23489:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23493:6:3","memberName":"decode","nodeType":"MemberAccess","src":"23489:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23489:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"src":"23454:107:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2440,"nodeType":"ExpressionStatement","src":"23454:107:3"}]},"documentation":{"id":2394,"nodeType":"StructuredDocumentation","src":"22803:374:3","text":"Query if token account is frozen\n @param token The token address to check\n @param account The account address associated with the token\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return frozen True if `account` is frozen for `token`\n @dev This function reverts if the call is not successful"},"id":2442,"implemented":true,"kind":"function","modifiers":[],"name":"isFrozen","nameLocation":"23191:8:3","nodeType":"FunctionDefinition","parameters":{"id":2399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2396,"mutability":"mutable","name":"token","nameLocation":"23208:5:3","nodeType":"VariableDeclaration","scope":2442,"src":"23200:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2395,"name":"address","nodeType":"ElementaryTypeName","src":"23200:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2398,"mutability":"mutable","name":"account","nameLocation":"23223:7:3","nodeType":"VariableDeclaration","scope":2442,"src":"23215:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2397,"name":"address","nodeType":"ElementaryTypeName","src":"23215:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23199:32:3"},"returnParameters":{"id":2404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2401,"mutability":"mutable","name":"responseCode","nameLocation":"23256:12:3","nodeType":"VariableDeclaration","scope":2442,"src":"23250:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":2400,"name":"int64","nodeType":"ElementaryTypeName","src":"23250:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":2403,"mutability":"mutable","name":"frozen","nameLocation":"23275:6:3","nodeType":"VariableDeclaration","scope":2442,"src":"23270:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2402,"name":"bool","nodeType":"ElementaryTypeName","src":"23270:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23249:33:3"},"scope":3726,"src":"23182:386:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2490,"nodeType":"Block","src":"24070:287:3","statements":[{"assignments":[2455,2457],"declarations":[{"constant":false,"id":2455,"mutability":"mutable","name":"success","nameLocation":"24086:7:3","nodeType":"VariableDeclaration","scope":2490,"src":"24081:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2454,"name":"bool","nodeType":"ElementaryTypeName","src":"24081:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2457,"mutability":"mutable","name":"result","nameLocation":"24108:6:3","nodeType":"VariableDeclaration","scope":2490,"src":"24095:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2456,"name":"bytes","nodeType":"ElementaryTypeName","src":"24095:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2469,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2462,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"24177:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24197:5:3","memberName":"isKyc","nodeType":"MemberAccess","referencedDeclaration":4264,"src":"24177:25:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$returns$_t_int64_$_t_bool_$","typeString":"function IHederaTokenService.isKyc(address,address) returns (int64,bool)"}},"id":2464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24203:8:3","memberName":"selector","nodeType":"MemberAccess","src":"24177:34:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2465,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2445,"src":"24213:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2466,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2447,"src":"24220:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2460,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24154:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24158:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"24154:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24154:74:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2458,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"24118:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24136:4:3","memberName":"call","nodeType":"MemberAccess","src":"24118:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24118:111:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"24080:149:3"},{"expression":{"id":2488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2470,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2450,"src":"24240:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},{"id":2471,"name":"kycGranted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2452,"src":"24254:10:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2472,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"24239:26:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int64_$_t_bool_$","typeString":"tuple(int64,bool)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2473,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2455,"src":"24268:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":2483,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"24315:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24335:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"24315:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"66616c7365","id":2485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"24344:5:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"id":2486,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"24314:36:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"id":2487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"24268:82:3","trueExpression":{"arguments":[{"id":2476,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2457,"src":"24289:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24298:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2477,"name":"int32","nodeType":"ElementaryTypeName","src":"24298:5:3","typeDescriptions":{}}},{"id":2480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24305:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":2479,"name":"bool","nodeType":"ElementaryTypeName","src":"24305:4:3","typeDescriptions":{}}}],"id":2481,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"24297:13:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_bool_$_$","typeString":"tuple(type(int32),type(bool))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_bool_$_$","typeString":"tuple(type(int32),type(bool))"}],"expression":{"id":2474,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24278:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24282:6:3","memberName":"decode","nodeType":"MemberAccess","src":"24278:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24278:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"src":"24239:111:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2489,"nodeType":"ExpressionStatement","src":"24239:111:3"}]},"documentation":{"id":2443,"nodeType":"StructuredDocumentation","src":"23574:390:3","text":"Query if token account has kyc granted\n @param token The token address to check\n @param account The account address associated with the token\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return kycGranted True if `account` has kyc granted for `token`\n @dev This function reverts if the call is not successful"},"id":2491,"implemented":true,"kind":"function","modifiers":[],"name":"isKyc","nameLocation":"23978:5:3","nodeType":"FunctionDefinition","parameters":{"id":2448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2445,"mutability":"mutable","name":"token","nameLocation":"23992:5:3","nodeType":"VariableDeclaration","scope":2491,"src":"23984:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2444,"name":"address","nodeType":"ElementaryTypeName","src":"23984:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2447,"mutability":"mutable","name":"account","nameLocation":"24007:7:3","nodeType":"VariableDeclaration","scope":2491,"src":"23999:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2446,"name":"address","nodeType":"ElementaryTypeName","src":"23999:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23983:32:3"},"returnParameters":{"id":2453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2450,"mutability":"mutable","name":"responseCode","nameLocation":"24040:12:3","nodeType":"VariableDeclaration","scope":2491,"src":"24034:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":2449,"name":"int64","nodeType":"ElementaryTypeName","src":"24034:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":2452,"mutability":"mutable","name":"kycGranted","nameLocation":"24059:10:3","nodeType":"VariableDeclaration","scope":2491,"src":"24054:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2451,"name":"bool","nodeType":"ElementaryTypeName","src":"24054:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24033:37:3"},"scope":3726,"src":"23969:388:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2532,"nodeType":"Block","src":"24683:266:3","statements":[{"assignments":[2502,2504],"declarations":[{"constant":false,"id":2502,"mutability":"mutable","name":"success","nameLocation":"24699:7:3","nodeType":"VariableDeclaration","scope":2532,"src":"24694:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2501,"name":"bool","nodeType":"ElementaryTypeName","src":"24694:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2504,"mutability":"mutable","name":"result","nameLocation":"24721:6:3","nodeType":"VariableDeclaration","scope":2532,"src":"24708:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2503,"name":"bytes","nodeType":"ElementaryTypeName","src":"24708:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2516,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2509,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"24790:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24810:11:3","memberName":"freezeToken","nodeType":"MemberAccess","referencedDeclaration":4381,"src":"24790:31:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$returns$_t_int64_$","typeString":"function IHederaTokenService.freezeToken(address,address) returns (int64)"}},"id":2511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24822:8:3","memberName":"selector","nodeType":"MemberAccess","src":"24790:40:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2512,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2494,"src":"24832:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2513,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2496,"src":"24839:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2507,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24767:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24771:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"24767:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24767:80:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2505,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"24731:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24749:4:3","memberName":"call","nodeType":"MemberAccess","src":"24731:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24731:117:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"24693:155:3"},{"expression":{"id":2530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2517,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2499,"src":"24859:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"id":2518,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"24858:14:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2519,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2502,"src":"24875:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2527,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"24915:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2528,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24935:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"24915:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":2529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"24875:67:3","trueExpression":{"arguments":[{"id":2522,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2504,"src":"24896:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2524,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24905:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2523,"name":"int32","nodeType":"ElementaryTypeName","src":"24905:5:3","typeDescriptions":{}}}],"id":2525,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"24904:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":2520,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24885:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2521,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24889:6:3","memberName":"decode","nodeType":"MemberAccess","src":"24885:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24885:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"24858:84:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":2531,"nodeType":"ExpressionStatement","src":"24858:84:3"}]},"documentation":{"id":2492,"nodeType":"StructuredDocumentation","src":"24363:225:3","text":"Operation to freeze token account\n @param token The token address\n @param account The account address to be frozen\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":2533,"implemented":true,"kind":"function","modifiers":[],"name":"freezeToken","nameLocation":"24602:11:3","nodeType":"FunctionDefinition","parameters":{"id":2497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2494,"mutability":"mutable","name":"token","nameLocation":"24622:5:3","nodeType":"VariableDeclaration","scope":2533,"src":"24614:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2493,"name":"address","nodeType":"ElementaryTypeName","src":"24614:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2496,"mutability":"mutable","name":"account","nameLocation":"24637:7:3","nodeType":"VariableDeclaration","scope":2533,"src":"24629:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2495,"name":"address","nodeType":"ElementaryTypeName","src":"24629:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24613:32:3"},"returnParameters":{"id":2500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2499,"mutability":"mutable","name":"responseCode","nameLocation":"24670:12:3","nodeType":"VariableDeclaration","scope":2533,"src":"24664:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":2498,"name":"int64","nodeType":"ElementaryTypeName","src":"24664:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"24663:20:3"},"scope":3726,"src":"24593:356:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2574,"nodeType":"Block","src":"25281:268:3","statements":[{"assignments":[2544,2546],"declarations":[{"constant":false,"id":2544,"mutability":"mutable","name":"success","nameLocation":"25297:7:3","nodeType":"VariableDeclaration","scope":2574,"src":"25292:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2543,"name":"bool","nodeType":"ElementaryTypeName","src":"25292:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2546,"mutability":"mutable","name":"result","nameLocation":"25319:6:3","nodeType":"VariableDeclaration","scope":2574,"src":"25306:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2545,"name":"bytes","nodeType":"ElementaryTypeName","src":"25306:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2558,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2551,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"25388:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25408:13:3","memberName":"unfreezeToken","nodeType":"MemberAccess","referencedDeclaration":4391,"src":"25388:33:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$returns$_t_int64_$","typeString":"function IHederaTokenService.unfreezeToken(address,address) returns (int64)"}},"id":2553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25422:8:3","memberName":"selector","nodeType":"MemberAccess","src":"25388:42:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2554,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2536,"src":"25432:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2555,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2538,"src":"25439:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2549,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25365:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2550,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25369:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"25365:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2556,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25365:82:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2547,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"25329:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25347:4:3","memberName":"call","nodeType":"MemberAccess","src":"25329:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25329:119:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"25291:157:3"},{"expression":{"id":2572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2559,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2541,"src":"25459:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"id":2560,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"25458:14:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2561,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2544,"src":"25475:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2569,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"25515:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2570,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25535:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"25515:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":2571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25475:67:3","trueExpression":{"arguments":[{"id":2564,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2546,"src":"25496:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25505:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2565,"name":"int32","nodeType":"ElementaryTypeName","src":"25505:5:3","typeDescriptions":{}}}],"id":2567,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"25504:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":2562,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25485:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25489:6:3","memberName":"decode","nodeType":"MemberAccess","src":"25485:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25485:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"25458:84:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":2573,"nodeType":"ExpressionStatement","src":"25458:84:3"}]},"documentation":{"id":2534,"nodeType":"StructuredDocumentation","src":"24955:229:3","text":"Operation to unfreeze token account\n @param token The token address\n @param account The account address to be unfrozen\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":2575,"implemented":true,"kind":"function","modifiers":[],"name":"unfreezeToken","nameLocation":"25198:13:3","nodeType":"FunctionDefinition","parameters":{"id":2539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2536,"mutability":"mutable","name":"token","nameLocation":"25220:5:3","nodeType":"VariableDeclaration","scope":2575,"src":"25212:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2535,"name":"address","nodeType":"ElementaryTypeName","src":"25212:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2538,"mutability":"mutable","name":"account","nameLocation":"25235:7:3","nodeType":"VariableDeclaration","scope":2575,"src":"25227:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2537,"name":"address","nodeType":"ElementaryTypeName","src":"25227:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25211:32:3"},"returnParameters":{"id":2542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2541,"mutability":"mutable","name":"responseCode","nameLocation":"25268:12:3","nodeType":"VariableDeclaration","scope":2575,"src":"25262:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":2540,"name":"int64","nodeType":"ElementaryTypeName","src":"25262:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"25261:20:3"},"scope":3726,"src":"25189:360:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2616,"nodeType":"Block","src":"25883:268:3","statements":[{"assignments":[2586,2588],"declarations":[{"constant":false,"id":2586,"mutability":"mutable","name":"success","nameLocation":"25899:7:3","nodeType":"VariableDeclaration","scope":2616,"src":"25894:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2585,"name":"bool","nodeType":"ElementaryTypeName","src":"25894:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2588,"mutability":"mutable","name":"result","nameLocation":"25921:6:3","nodeType":"VariableDeclaration","scope":2616,"src":"25908:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2587,"name":"bytes","nodeType":"ElementaryTypeName","src":"25908:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2600,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2593,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"25990:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26010:13:3","memberName":"grantTokenKyc","nodeType":"MemberAccess","referencedDeclaration":4401,"src":"25990:33:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$returns$_t_int64_$","typeString":"function IHederaTokenService.grantTokenKyc(address,address) returns (int64)"}},"id":2595,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26024:8:3","memberName":"selector","nodeType":"MemberAccess","src":"25990:42:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2596,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2578,"src":"26034:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2597,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2580,"src":"26041:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2591,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25967:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25971:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"25967:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25967:82:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2589,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"25931:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25949:4:3","memberName":"call","nodeType":"MemberAccess","src":"25931:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25931:119:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"25893:157:3"},{"expression":{"id":2614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2601,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2583,"src":"26061:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"id":2602,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"26060:14:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2603,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2586,"src":"26077:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2611,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"26117:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26137:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"26117:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":2613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26077:67:3","trueExpression":{"arguments":[{"id":2606,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2588,"src":"26098:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2608,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26107:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2607,"name":"int32","nodeType":"ElementaryTypeName","src":"26107:5:3","typeDescriptions":{}}}],"id":2609,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"26106:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":2604,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26087:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26091:6:3","memberName":"decode","nodeType":"MemberAccess","src":"26087:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26087:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"26060:84:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":2615,"nodeType":"ExpressionStatement","src":"26060:84:3"}]},"documentation":{"id":2576,"nodeType":"StructuredDocumentation","src":"25555:231:3","text":"Operation to grant kyc to token account\n @param token The token address\n @param account The account address to grant kyc\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":2617,"implemented":true,"kind":"function","modifiers":[],"name":"grantTokenKyc","nameLocation":"25800:13:3","nodeType":"FunctionDefinition","parameters":{"id":2581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2578,"mutability":"mutable","name":"token","nameLocation":"25822:5:3","nodeType":"VariableDeclaration","scope":2617,"src":"25814:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2577,"name":"address","nodeType":"ElementaryTypeName","src":"25814:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2580,"mutability":"mutable","name":"account","nameLocation":"25837:7:3","nodeType":"VariableDeclaration","scope":2617,"src":"25829:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2579,"name":"address","nodeType":"ElementaryTypeName","src":"25829:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25813:32:3"},"returnParameters":{"id":2584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2583,"mutability":"mutable","name":"responseCode","nameLocation":"25870:12:3","nodeType":"VariableDeclaration","scope":2617,"src":"25864:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":2582,"name":"int64","nodeType":"ElementaryTypeName","src":"25864:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"25863:20:3"},"scope":3726,"src":"25791:360:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2658,"nodeType":"Block","src":"26488:269:3","statements":[{"assignments":[2628,2630],"declarations":[{"constant":false,"id":2628,"mutability":"mutable","name":"success","nameLocation":"26504:7:3","nodeType":"VariableDeclaration","scope":2658,"src":"26499:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2627,"name":"bool","nodeType":"ElementaryTypeName","src":"26499:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2630,"mutability":"mutable","name":"result","nameLocation":"26526:6:3","nodeType":"VariableDeclaration","scope":2658,"src":"26513:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2629,"name":"bytes","nodeType":"ElementaryTypeName","src":"26513:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2642,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2635,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"26595:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26615:14:3","memberName":"revokeTokenKyc","nodeType":"MemberAccess","referencedDeclaration":4411,"src":"26595:34:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$returns$_t_int64_$","typeString":"function IHederaTokenService.revokeTokenKyc(address,address) returns (int64)"}},"id":2637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26630:8:3","memberName":"selector","nodeType":"MemberAccess","src":"26595:43:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2638,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2620,"src":"26640:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2639,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2622,"src":"26647:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2633,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26572:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26576:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"26572:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26572:83:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2631,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"26536:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26554:4:3","memberName":"call","nodeType":"MemberAccess","src":"26536:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26536:120:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"26498:158:3"},{"expression":{"id":2656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2643,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2625,"src":"26667:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"id":2644,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"26666:14:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2645,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2628,"src":"26683:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2653,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"26723:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26743:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"26723:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":2655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"26683:67:3","trueExpression":{"arguments":[{"id":2648,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2630,"src":"26704:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26713:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2649,"name":"int32","nodeType":"ElementaryTypeName","src":"26713:5:3","typeDescriptions":{}}}],"id":2651,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"26712:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":2646,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26693:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26697:6:3","memberName":"decode","nodeType":"MemberAccess","src":"26693:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26693:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"26666:84:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":2657,"nodeType":"ExpressionStatement","src":"26666:84:3"}]},"documentation":{"id":2618,"nodeType":"StructuredDocumentation","src":"26157:233:3","text":"Operation to revoke kyc to token account\n @param token The token address\n @param account The account address to revoke kyc\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":2659,"implemented":true,"kind":"function","modifiers":[],"name":"revokeTokenKyc","nameLocation":"26404:14:3","nodeType":"FunctionDefinition","parameters":{"id":2623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2620,"mutability":"mutable","name":"token","nameLocation":"26427:5:3","nodeType":"VariableDeclaration","scope":2659,"src":"26419:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2619,"name":"address","nodeType":"ElementaryTypeName","src":"26419:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2622,"mutability":"mutable","name":"account","nameLocation":"26442:7:3","nodeType":"VariableDeclaration","scope":2659,"src":"26434:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2621,"name":"address","nodeType":"ElementaryTypeName","src":"26434:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26418:32:3"},"returnParameters":{"id":2626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2625,"mutability":"mutable","name":"responseCode","nameLocation":"26475:12:3","nodeType":"VariableDeclaration","scope":2659,"src":"26469:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":2624,"name":"int64","nodeType":"ElementaryTypeName","src":"26469:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"26468:20:3"},"scope":3726,"src":"26395:362:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2702,"nodeType":"Block","src":"27303:297:3","statements":[{"assignments":[2672,2674],"declarations":[{"constant":false,"id":2672,"mutability":"mutable","name":"success","nameLocation":"27319:7:3","nodeType":"VariableDeclaration","scope":2702,"src":"27314:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2671,"name":"bool","nodeType":"ElementaryTypeName","src":"27314:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2674,"mutability":"mutable","name":"result","nameLocation":"27341:6:3","nodeType":"VariableDeclaration","scope":2702,"src":"27328:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2673,"name":"bytes","nodeType":"ElementaryTypeName","src":"27328:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2687,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2679,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"27410:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27430:17:3","memberName":"setApprovalForAll","nodeType":"MemberAccess","referencedDeclaration":4226,"src":"27410:37:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_bool_$returns$_t_int64_$","typeString":"function IHederaTokenService.setApprovalForAll(address,address,bool) returns (int64)"}},"id":2681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27448:8:3","memberName":"selector","nodeType":"MemberAccess","src":"27410:46:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2682,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2662,"src":"27474:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2683,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2664,"src":"27481:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2684,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2666,"src":"27491:8:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":2677,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27387:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2678,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27391:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"27387:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27387:113:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2675,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"27351:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27369:4:3","memberName":"call","nodeType":"MemberAccess","src":"27351:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27351:150:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"27313:188:3"},{"expression":{"id":2700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2688,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2669,"src":"27511:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2689,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2672,"src":"27526:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2697,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"27566:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27586:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"27566:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":2699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"27526:67:3","trueExpression":{"arguments":[{"id":2692,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2674,"src":"27547:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2694,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27556:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2693,"name":"int32","nodeType":"ElementaryTypeName","src":"27556:5:3","typeDescriptions":{}}}],"id":2695,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"27555:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":2690,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27536:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27540:6:3","memberName":"decode","nodeType":"MemberAccess","src":"27536:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27536:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"27511:82:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2701,"nodeType":"ExpressionStatement","src":"27511:82:3"}]},"documentation":{"id":2660,"nodeType":"StructuredDocumentation","src":"26763:420:3","text":"Enable or disable approval for a third party (\"operator\") to manage\n all of `msg.sender`'s assets\n @param token The Hedera NFT token address to approve\n @param operator Address to add to the set of authorized operators\n @param approved True if the operator is approved, false to revoke approval\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":2703,"implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"27197:17:3","nodeType":"FunctionDefinition","parameters":{"id":2667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2662,"mutability":"mutable","name":"token","nameLocation":"27223:5:3","nodeType":"VariableDeclaration","scope":2703,"src":"27215:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2661,"name":"address","nodeType":"ElementaryTypeName","src":"27215:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2664,"mutability":"mutable","name":"operator","nameLocation":"27238:8:3","nodeType":"VariableDeclaration","scope":2703,"src":"27230:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2663,"name":"address","nodeType":"ElementaryTypeName","src":"27230:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2666,"mutability":"mutable","name":"approved","nameLocation":"27253:8:3","nodeType":"VariableDeclaration","scope":2703,"src":"27248:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2665,"name":"bool","nodeType":"ElementaryTypeName","src":"27248:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27214:48:3"},"returnParameters":{"id":2670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2669,"mutability":"mutable","name":"responseCode","nameLocation":"27285:12:3","nodeType":"VariableDeclaration","scope":2703,"src":"27281:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2668,"name":"int","nodeType":"ElementaryTypeName","src":"27281:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"27280:18:3"},"scope":3726,"src":"27188:412:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2754,"nodeType":"Block","src":"28219:364:3","statements":[{"assignments":[2718,2720],"declarations":[{"constant":false,"id":2718,"mutability":"mutable","name":"success","nameLocation":"28235:7:3","nodeType":"VariableDeclaration","scope":2754,"src":"28230:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2717,"name":"bool","nodeType":"ElementaryTypeName","src":"28230:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2720,"mutability":"mutable","name":"result","nameLocation":"28257:6:3","nodeType":"VariableDeclaration","scope":2754,"src":"28244:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2719,"name":"bytes","nodeType":"ElementaryTypeName","src":"28244:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2733,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2725,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"28326:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28346:16:3","memberName":"isApprovedForAll","nodeType":"MemberAccess","referencedDeclaration":4240,"src":"28326:36:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$returns$_t_int64_$_t_bool_$","typeString":"function IHederaTokenService.isApprovedForAll(address,address,address) returns (int64,bool)"}},"id":2727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28363:8:3","memberName":"selector","nodeType":"MemberAccess","src":"28326:45:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2728,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2706,"src":"28389:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2729,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2708,"src":"28396:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2730,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2710,"src":"28403:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2723,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28303:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28307:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"28303:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28303:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2721,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"28267:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28285:4:3","memberName":"call","nodeType":"MemberAccess","src":"28267:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28267:146:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"28229:184:3"},{"expression":{"id":2752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2734,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"28424:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2735,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2715,"src":"28438:8:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2736,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"28423:24:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_bool_$","typeString":"tuple(int256,bool)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2737,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2718,"src":"28462:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":2747,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"28541:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2748,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28561:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"28541:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"66616c7365","id":2749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28570:5:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"id":2750,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"28540:36:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"id":2751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"28462:114:3","trueExpression":{"arguments":[{"id":2740,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2720,"src":"28499:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28508:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2741,"name":"int32","nodeType":"ElementaryTypeName","src":"28508:5:3","typeDescriptions":{}}},{"id":2744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28515:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":2743,"name":"bool","nodeType":"ElementaryTypeName","src":"28515:4:3","typeDescriptions":{}}}],"id":2745,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"28507:13:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_bool_$_$","typeString":"tuple(type(int32),type(bool))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_bool_$_$","typeString":"tuple(type(int32),type(bool))"}],"expression":{"id":2738,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28488:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28492:6:3","memberName":"decode","nodeType":"MemberAccess","src":"28488:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28488:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"src":"28423:153:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2753,"nodeType":"ExpressionStatement","src":"28423:153:3"}]},"documentation":{"id":2704,"nodeType":"StructuredDocumentation","src":"27606:479:3","text":"Query if an address is an authorized operator for another address\n Only Applicable to NFT Tokens\n @param token The Hedera NFT token address to approve\n @param owner The address that owns the NFTs\n @param operator The address that acts on behalf of the owner\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return approved True if `operator` is an approved operator for `owner`, false otherwise"},"id":2755,"implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"28099:16:3","nodeType":"FunctionDefinition","parameters":{"id":2711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2706,"mutability":"mutable","name":"token","nameLocation":"28124:5:3","nodeType":"VariableDeclaration","scope":2755,"src":"28116:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2705,"name":"address","nodeType":"ElementaryTypeName","src":"28116:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2708,"mutability":"mutable","name":"owner","nameLocation":"28139:5:3","nodeType":"VariableDeclaration","scope":2755,"src":"28131:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2707,"name":"address","nodeType":"ElementaryTypeName","src":"28131:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2710,"mutability":"mutable","name":"operator","nameLocation":"28154:8:3","nodeType":"VariableDeclaration","scope":2755,"src":"28146:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2709,"name":"address","nodeType":"ElementaryTypeName","src":"28146:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28115:48:3"},"returnParameters":{"id":2716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2713,"mutability":"mutable","name":"responseCode","nameLocation":"28186:12:3","nodeType":"VariableDeclaration","scope":2755,"src":"28182:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2712,"name":"int","nodeType":"ElementaryTypeName","src":"28182:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2715,"mutability":"mutable","name":"approved","nameLocation":"28205:8:3","nodeType":"VariableDeclaration","scope":2755,"src":"28200:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2714,"name":"bool","nodeType":"ElementaryTypeName","src":"28200:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28181:33:3"},"scope":3726,"src":"28090:493:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2800,"nodeType":"Block","src":"29036:309:3","statements":[{"assignments":[2766,2768],"declarations":[{"constant":false,"id":2766,"mutability":"mutable","name":"success","nameLocation":"29052:7:3","nodeType":"VariableDeclaration","scope":2800,"src":"29047:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2765,"name":"bool","nodeType":"ElementaryTypeName","src":"29047:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2768,"mutability":"mutable","name":"result","nameLocation":"29074:6:3","nodeType":"VariableDeclaration","scope":2800,"src":"29061:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2767,"name":"bytes","nodeType":"ElementaryTypeName","src":"29061:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2779,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2773,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"29143:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2774,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29163:27:3","memberName":"getTokenDefaultFreezeStatus","nodeType":"MemberAccess","referencedDeclaration":4302,"src":"29143:47:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$_t_int64_$_t_bool_$","typeString":"function IHederaTokenService.getTokenDefaultFreezeStatus(address) returns (int64,bool)"}},"id":2775,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29191:8:3","memberName":"selector","nodeType":"MemberAccess","src":"29143:56:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2776,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"29201:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2771,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29120:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29124:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"29120:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29120:87:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2769,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"29084:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29102:4:3","memberName":"call","nodeType":"MemberAccess","src":"29084:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29084:124:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"29046:162:3"},{"expression":{"id":2798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2780,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2761,"src":"29219:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2781,"name":"defaultFreezeStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2763,"src":"29233:19:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2782,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"29218:35:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_bool_$","typeString":"tuple(int256,bool)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2783,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2766,"src":"29256:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":2793,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"29303:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29323:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"29303:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"66616c7365","id":2795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29332:5:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"id":2796,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"29302:36:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"id":2797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29256:82:3","trueExpression":{"arguments":[{"id":2786,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2768,"src":"29277:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29286:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2787,"name":"int32","nodeType":"ElementaryTypeName","src":"29286:5:3","typeDescriptions":{}}},{"id":2790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29293:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":2789,"name":"bool","nodeType":"ElementaryTypeName","src":"29293:4:3","typeDescriptions":{}}}],"id":2791,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"29285:13:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_bool_$_$","typeString":"tuple(type(int32),type(bool))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_bool_$_$","typeString":"tuple(type(int32),type(bool))"}],"expression":{"id":2784,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29266:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29270:6:3","memberName":"decode","nodeType":"MemberAccess","src":"29266:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29266:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"src":"29218:120:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2799,"nodeType":"ExpressionStatement","src":"29218:120:3"}]},"documentation":{"id":2756,"nodeType":"StructuredDocumentation","src":"28589:328:3","text":"Query token default freeze status\n @param token The token address to check\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return defaultFreezeStatus True if `token` default freeze status is frozen.\n @dev This function reverts if the call is not successful"},"id":2801,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenDefaultFreezeStatus","nameLocation":"28931:27:3","nodeType":"FunctionDefinition","parameters":{"id":2759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2758,"mutability":"mutable","name":"token","nameLocation":"28967:5:3","nodeType":"VariableDeclaration","scope":2801,"src":"28959:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2757,"name":"address","nodeType":"ElementaryTypeName","src":"28959:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28958:15:3"},"returnParameters":{"id":2764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2761,"mutability":"mutable","name":"responseCode","nameLocation":"28996:12:3","nodeType":"VariableDeclaration","scope":2801,"src":"28992:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2760,"name":"int","nodeType":"ElementaryTypeName","src":"28992:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2763,"mutability":"mutable","name":"defaultFreezeStatus","nameLocation":"29015:19:3","nodeType":"VariableDeclaration","scope":2801,"src":"29010:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2762,"name":"bool","nodeType":"ElementaryTypeName","src":"29010:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28991:44:3"},"scope":3726,"src":"28922:423:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2846,"nodeType":"Block","src":"29814:303:3","statements":[{"assignments":[2812,2814],"declarations":[{"constant":false,"id":2812,"mutability":"mutable","name":"success","nameLocation":"29830:7:3","nodeType":"VariableDeclaration","scope":2846,"src":"29825:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2811,"name":"bool","nodeType":"ElementaryTypeName","src":"29825:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2814,"mutability":"mutable","name":"result","nameLocation":"29852:6:3","nodeType":"VariableDeclaration","scope":2846,"src":"29839:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2813,"name":"bytes","nodeType":"ElementaryTypeName","src":"29839:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2825,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2819,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"29921:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29941:24:3","memberName":"getTokenDefaultKycStatus","nodeType":"MemberAccess","referencedDeclaration":4312,"src":"29921:44:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$_t_int64_$_t_bool_$","typeString":"function IHederaTokenService.getTokenDefaultKycStatus(address) returns (int64,bool)"}},"id":2821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29966:8:3","memberName":"selector","nodeType":"MemberAccess","src":"29921:53:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2822,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2804,"src":"29976:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":2817,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29898:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29902:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"29898:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29898:84:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2815,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"29862:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29880:4:3","memberName":"call","nodeType":"MemberAccess","src":"29862:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29862:121:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"29824:159:3"},{"expression":{"id":2844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":2826,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2807,"src":"29994:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":2827,"name":"defaultKycStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2809,"src":"30008:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2828,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"29993:32:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_bool_$","typeString":"tuple(int256,bool)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2829,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2812,"src":"30028:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":2839,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"30075:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30095:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"30075:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"66616c7365","id":2841,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"30104:5:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"id":2842,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30074:36:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"id":2843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"30028:82:3","trueExpression":{"arguments":[{"id":2832,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2814,"src":"30049:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2834,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30058:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2833,"name":"int32","nodeType":"ElementaryTypeName","src":"30058:5:3","typeDescriptions":{}}},{"id":2836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30065:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":2835,"name":"bool","nodeType":"ElementaryTypeName","src":"30065:4:3","typeDescriptions":{}}}],"id":2837,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30057:13:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_bool_$_$","typeString":"tuple(type(int32),type(bool))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_bool_$_$","typeString":"tuple(type(int32),type(bool))"}],"expression":{"id":2830,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30038:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30042:6:3","memberName":"decode","nodeType":"MemberAccess","src":"30038:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30038:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"src":"29993:117:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2845,"nodeType":"ExpressionStatement","src":"29993:117:3"}]},"documentation":{"id":2802,"nodeType":"StructuredDocumentation","src":"29351:350:3","text":"Query token default kyc status\n @param token The token address to check\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return defaultKycStatus True if `token` default kyc status is KycNotApplicable and false if Revoked.\n @dev This function reverts if the call is not successful"},"id":2847,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenDefaultKycStatus","nameLocation":"29715:24:3","nodeType":"FunctionDefinition","parameters":{"id":2805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2804,"mutability":"mutable","name":"token","nameLocation":"29748:5:3","nodeType":"VariableDeclaration","scope":2847,"src":"29740:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2803,"name":"address","nodeType":"ElementaryTypeName","src":"29740:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29739:15:3"},"returnParameters":{"id":2810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2807,"mutability":"mutable","name":"responseCode","nameLocation":"29777:12:3","nodeType":"VariableDeclaration","scope":2847,"src":"29773:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2806,"name":"int","nodeType":"ElementaryTypeName","src":"29773:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":2809,"mutability":"mutable","name":"defaultKycStatus","nameLocation":"29796:16:3","nodeType":"VariableDeclaration","scope":2847,"src":"29791:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2808,"name":"bool","nodeType":"ElementaryTypeName","src":"29791:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29772:41:3"},"scope":3726,"src":"29706:411:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2892,"nodeType":"Block","src":"30582:295:3","statements":[{"assignments":[2862,2864],"declarations":[{"constant":false,"id":2862,"mutability":"mutable","name":"success","nameLocation":"30598:7:3","nodeType":"VariableDeclaration","scope":2892,"src":"30593:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2861,"name":"bool","nodeType":"ElementaryTypeName","src":"30593:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2864,"mutability":"mutable","name":"result","nameLocation":"30620:6:3","nodeType":"VariableDeclaration","scope":2892,"src":"30607:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2863,"name":"bytes","nodeType":"ElementaryTypeName","src":"30607:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2877,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2869,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"30689:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30709:14:3","memberName":"transferTokens","nodeType":"MemberAccess","referencedDeclaration":4091,"src":"30689:34:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_int64_$dyn_memory_ptr_$returns$_t_int64_$","typeString":"function IHederaTokenService.transferTokens(address,address[] memory,int64[] memory) returns (int64)"}},"id":2871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30724:8:3","memberName":"selector","nodeType":"MemberAccess","src":"30689:43:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2872,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2850,"src":"30750:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2873,"name":"accountIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2853,"src":"30757:10:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":2874,"name":"amounts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2856,"src":"30769:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[] memory"}],"expression":{"id":2867,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30666:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2868,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30670:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"30666:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30666:111:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2865,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"30630:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30648:4:3","memberName":"call","nodeType":"MemberAccess","src":"30630:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30630:148:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"30592:186:3"},{"expression":{"id":2890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2878,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2859,"src":"30788:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2879,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2862,"src":"30803:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2887,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"30843:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30863:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"30843:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":2889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"30803:67:3","trueExpression":{"arguments":[{"id":2882,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2864,"src":"30824:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2884,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30833:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2883,"name":"int32","nodeType":"ElementaryTypeName","src":"30833:5:3","typeDescriptions":{}}}],"id":2885,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"30832:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":2880,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30813:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2881,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30817:6:3","memberName":"decode","nodeType":"MemberAccess","src":"30813:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30813:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"30788:82:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2891,"nodeType":"ExpressionStatement","src":"30788:82:3"}]},"documentation":{"id":2848,"nodeType":"StructuredDocumentation","src":"30209:232:3","text":"Initiates a Fungible Token Transfer\n @param token The ID of the token as a solidity address\n @param accountIds account to do a transfer to/from\n @param amounts The amount from the accountId at the same index"},"id":2893,"implemented":true,"kind":"function","modifiers":[],"name":"transferTokens","nameLocation":"30455:14:3","nodeType":"FunctionDefinition","parameters":{"id":2857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2850,"mutability":"mutable","name":"token","nameLocation":"30478:5:3","nodeType":"VariableDeclaration","scope":2893,"src":"30470:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2849,"name":"address","nodeType":"ElementaryTypeName","src":"30470:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2853,"mutability":"mutable","name":"accountIds","nameLocation":"30502:10:3","nodeType":"VariableDeclaration","scope":2893,"src":"30485:27:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2851,"name":"address","nodeType":"ElementaryTypeName","src":"30485:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2852,"nodeType":"ArrayTypeName","src":"30485:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2856,"mutability":"mutable","name":"amounts","nameLocation":"30529:7:3","nodeType":"VariableDeclaration","scope":2893,"src":"30514:22:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[]"},"typeName":{"baseType":{"id":2854,"name":"int64","nodeType":"ElementaryTypeName","src":"30514:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":2855,"nodeType":"ArrayTypeName","src":"30514:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}},"visibility":"internal"}],"src":"30469:68:3"},"returnParameters":{"id":2860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2859,"mutability":"mutable","name":"responseCode","nameLocation":"30564:12:3","nodeType":"VariableDeclaration","scope":2893,"src":"30560:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2858,"name":"int","nodeType":"ElementaryTypeName","src":"30560:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"30559:18:3"},"scope":3726,"src":"30446:431:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2942,"nodeType":"Block","src":"31370:304:3","statements":[{"assignments":[2911,2913],"declarations":[{"constant":false,"id":2911,"mutability":"mutable","name":"success","nameLocation":"31386:7:3","nodeType":"VariableDeclaration","scope":2942,"src":"31381:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2910,"name":"bool","nodeType":"ElementaryTypeName","src":"31381:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2913,"mutability":"mutable","name":"result","nameLocation":"31408:6:3","nodeType":"VariableDeclaration","scope":2942,"src":"31395:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2912,"name":"bytes","nodeType":"ElementaryTypeName","src":"31395:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2927,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2918,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"31477:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31497:12:3","memberName":"transferNFTs","nodeType":"MemberAccess","referencedDeclaration":4108,"src":"31477:32:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_int64_$dyn_memory_ptr_$returns$_t_int64_$","typeString":"function IHederaTokenService.transferNFTs(address,address[] memory,address[] memory,int64[] memory) returns (int64)"}},"id":2920,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31510:8:3","memberName":"selector","nodeType":"MemberAccess","src":"31477:41:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2921,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2896,"src":"31536:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2922,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2899,"src":"31543:6:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":2923,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2902,"src":"31551:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"id":2924,"name":"serialNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2905,"src":"31561:12:3","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"},{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[] memory"}],"expression":{"id":2916,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31454:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31458:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"31454:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31454:120:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2914,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"31418:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31436:4:3","memberName":"call","nodeType":"MemberAccess","src":"31418:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31418:157:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"31380:195:3"},{"expression":{"id":2940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2928,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2908,"src":"31585:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2929,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2911,"src":"31600:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2937,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"31640:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31660:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"31640:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":2939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"31600:67:3","trueExpression":{"arguments":[{"id":2932,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2913,"src":"31621:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31630:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2933,"name":"int32","nodeType":"ElementaryTypeName","src":"31630:5:3","typeDescriptions":{}}}],"id":2935,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"31629:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":2930,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31610:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31614:6:3","memberName":"decode","nodeType":"MemberAccess","src":"31610:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31610:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"31585:82:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2941,"nodeType":"ExpressionStatement","src":"31585:82:3"}]},"documentation":{"id":2894,"nodeType":"StructuredDocumentation","src":"30883:320:3","text":"Initiates a Non-Fungable Token Transfer\n @param token The ID of the token as a solidity address\n @param sender the sender of an nft\n @param receiver the receiver of the nft sent by the same index at sender\n @param serialNumber the serial number of the nft sent by the same index at sender"},"id":2943,"implemented":true,"kind":"function","modifiers":[],"name":"transferNFTs","nameLocation":"31217:12:3","nodeType":"FunctionDefinition","parameters":{"id":2906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2896,"mutability":"mutable","name":"token","nameLocation":"31238:5:3","nodeType":"VariableDeclaration","scope":2943,"src":"31230:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2895,"name":"address","nodeType":"ElementaryTypeName","src":"31230:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2899,"mutability":"mutable","name":"sender","nameLocation":"31262:6:3","nodeType":"VariableDeclaration","scope":2943,"src":"31245:23:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2897,"name":"address","nodeType":"ElementaryTypeName","src":"31245:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2898,"nodeType":"ArrayTypeName","src":"31245:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2902,"mutability":"mutable","name":"receiver","nameLocation":"31287:8:3","nodeType":"VariableDeclaration","scope":2943,"src":"31270:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":2900,"name":"address","nodeType":"ElementaryTypeName","src":"31270:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2901,"nodeType":"ArrayTypeName","src":"31270:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":2905,"mutability":"mutable","name":"serialNumber","nameLocation":"31312:12:3","nodeType":"VariableDeclaration","scope":2943,"src":"31297:27:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[]"},"typeName":{"baseType":{"id":2903,"name":"int64","nodeType":"ElementaryTypeName","src":"31297:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":2904,"nodeType":"ArrayTypeName","src":"31297:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}},"visibility":"internal"}],"src":"31229:96:3"},"returnParameters":{"id":2909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2908,"mutability":"mutable","name":"responseCode","nameLocation":"31352:12:3","nodeType":"VariableDeclaration","scope":2943,"src":"31348:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2907,"name":"int","nodeType":"ElementaryTypeName","src":"31348:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31347:18:3"},"scope":3726,"src":"31208:466:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":2989,"nodeType":"Block","src":"32354:299:3","statements":[{"assignments":[2958,2960],"declarations":[{"constant":false,"id":2958,"mutability":"mutable","name":"success","nameLocation":"32370:7:3","nodeType":"VariableDeclaration","scope":2989,"src":"32365:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2957,"name":"bool","nodeType":"ElementaryTypeName","src":"32365:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2960,"mutability":"mutable","name":"result","nameLocation":"32392:6:3","nodeType":"VariableDeclaration","scope":2989,"src":"32379:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":2959,"name":"bytes","nodeType":"ElementaryTypeName","src":"32379:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":2974,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":2965,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"32461:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":2966,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32481:13:3","memberName":"transferToken","nodeType":"MemberAccess","referencedDeclaration":4122,"src":"32461:33:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$_t_int64_$returns$_t_int64_$","typeString":"function IHederaTokenService.transferToken(address,address,address,int64) returns (int64)"}},"id":2967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32495:8:3","memberName":"selector","nodeType":"MemberAccess","src":"32461:42:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":2968,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2946,"src":"32521:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2969,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2948,"src":"32528:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2970,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2950,"src":"32536:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2971,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2952,"src":"32546:6:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int64","typeString":"int64"}],"expression":{"id":2963,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32438:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32442:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"32438:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":2972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32438:115:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":2961,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"32402:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":2962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32420:4:3","memberName":"call","nodeType":"MemberAccess","src":"32402:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":2973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32402:152:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"32364:190:3"},{"expression":{"id":2987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2975,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2955,"src":"32564:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":2976,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2958,"src":"32579:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2984,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"32619:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":2985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32639:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"32619:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":2986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"32579:67:3","trueExpression":{"arguments":[{"id":2979,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2960,"src":"32600:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":2981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32609:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":2980,"name":"int32","nodeType":"ElementaryTypeName","src":"32609:5:3","typeDescriptions":{}}}],"id":2982,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"32608:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":2977,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32589:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":2978,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32593:6:3","memberName":"decode","nodeType":"MemberAccess","src":"32589:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":2983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32589:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"32564:82:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":2988,"nodeType":"ExpressionStatement","src":"32564:82:3"}]},"documentation":{"id":2944,"nodeType":"StructuredDocumentation","src":"31680:539:3","text":"Transfers tokens where the calling account/contract is implicitly the first entry in the token transfer list,\n where the amount is the value needed to zero balance the transfers. Regular signing rules apply for sending\n (positive amount) or receiving (negative amount)\n @param token The token to transfer to/from\n @param sender The sender for the transaction\n @param receiver The receiver of the transaction\n @param amount Non-negative value to send. a negative value will result in a failure."},"id":2990,"implemented":true,"kind":"function","modifiers":[],"name":"transferToken","nameLocation":"32233:13:3","nodeType":"FunctionDefinition","parameters":{"id":2953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2946,"mutability":"mutable","name":"token","nameLocation":"32255:5:3","nodeType":"VariableDeclaration","scope":2990,"src":"32247:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2945,"name":"address","nodeType":"ElementaryTypeName","src":"32247:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2948,"mutability":"mutable","name":"sender","nameLocation":"32270:6:3","nodeType":"VariableDeclaration","scope":2990,"src":"32262:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2947,"name":"address","nodeType":"ElementaryTypeName","src":"32262:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2950,"mutability":"mutable","name":"receiver","nameLocation":"32286:8:3","nodeType":"VariableDeclaration","scope":2990,"src":"32278:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2949,"name":"address","nodeType":"ElementaryTypeName","src":"32278:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2952,"mutability":"mutable","name":"amount","nameLocation":"32302:6:3","nodeType":"VariableDeclaration","scope":2990,"src":"32296:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":2951,"name":"int64","nodeType":"ElementaryTypeName","src":"32296:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"32246:63:3"},"returnParameters":{"id":2956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2955,"mutability":"mutable","name":"responseCode","nameLocation":"32336:12:3","nodeType":"VariableDeclaration","scope":2990,"src":"32332:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":2954,"name":"int","nodeType":"ElementaryTypeName","src":"32332:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32331:18:3"},"scope":3726,"src":"32224:429:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3036,"nodeType":"Block","src":"33314:303:3","statements":[{"assignments":[3005,3007],"declarations":[{"constant":false,"id":3005,"mutability":"mutable","name":"success","nameLocation":"33330:7:3","nodeType":"VariableDeclaration","scope":3036,"src":"33325:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3004,"name":"bool","nodeType":"ElementaryTypeName","src":"33325:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3007,"mutability":"mutable","name":"result","nameLocation":"33352:6:3","nodeType":"VariableDeclaration","scope":3036,"src":"33339:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3006,"name":"bytes","nodeType":"ElementaryTypeName","src":"33339:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3021,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3012,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"33421:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33441:11:3","memberName":"transferNFT","nodeType":"MemberAccess","referencedDeclaration":4136,"src":"33421:31:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_address_$_t_int64_$returns$_t_int64_$","typeString":"function IHederaTokenService.transferNFT(address,address,address,int64) returns (int64)"}},"id":3014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33453:8:3","memberName":"selector","nodeType":"MemberAccess","src":"33421:40:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3015,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2993,"src":"33479:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3016,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2995,"src":"33486:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3017,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2997,"src":"33494:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3018,"name":"serialNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2999,"src":"33504:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int64","typeString":"int64"}],"expression":{"id":3010,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33398:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33402:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"33398:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33398:119:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3008,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"33362:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33380:4:3","memberName":"call","nodeType":"MemberAccess","src":"33362:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33362:156:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"33324:194:3"},{"expression":{"id":3034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3022,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3002,"src":"33528:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3023,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3005,"src":"33543:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":3031,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"33583:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33603:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"33583:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":3033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"33543:67:3","trueExpression":{"arguments":[{"id":3026,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3007,"src":"33564:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33573:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3027,"name":"int32","nodeType":"ElementaryTypeName","src":"33573:5:3","typeDescriptions":{}}}],"id":3029,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"33572:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":3024,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33553:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33557:6:3","memberName":"decode","nodeType":"MemberAccess","src":"33553:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33553:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"33528:82:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3035,"nodeType":"ExpressionStatement","src":"33528:82:3"}]},"documentation":{"id":2991,"nodeType":"StructuredDocumentation","src":"32659:516:3","text":"Transfers tokens where the calling account/contract is implicitly the first entry in the token transfer list,\n where the amount is the value needed to zero balance the transfers. Regular signing rules apply for sending\n (positive amount) or receiving (negative amount)\n @param token The token to transfer to/from\n @param sender The sender for the transaction\n @param receiver The receiver of the transaction\n @param serialNumber The serial number of the NFT to transfer."},"id":3037,"implemented":true,"kind":"function","modifiers":[],"name":"transferNFT","nameLocation":"33189:11:3","nodeType":"FunctionDefinition","parameters":{"id":3000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2993,"mutability":"mutable","name":"token","nameLocation":"33209:5:3","nodeType":"VariableDeclaration","scope":3037,"src":"33201:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2992,"name":"address","nodeType":"ElementaryTypeName","src":"33201:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2995,"mutability":"mutable","name":"sender","nameLocation":"33224:6:3","nodeType":"VariableDeclaration","scope":3037,"src":"33216:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2994,"name":"address","nodeType":"ElementaryTypeName","src":"33216:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2997,"mutability":"mutable","name":"receiver","nameLocation":"33240:8:3","nodeType":"VariableDeclaration","scope":3037,"src":"33232:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2996,"name":"address","nodeType":"ElementaryTypeName","src":"33232:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2999,"mutability":"mutable","name":"serialNumber","nameLocation":"33256:12:3","nodeType":"VariableDeclaration","scope":3037,"src":"33250:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":2998,"name":"int64","nodeType":"ElementaryTypeName","src":"33250:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"33200:69:3"},"returnParameters":{"id":3003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3002,"mutability":"mutable","name":"responseCode","nameLocation":"33296:12:3","nodeType":"VariableDeclaration","scope":3037,"src":"33292:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3001,"name":"int","nodeType":"ElementaryTypeName","src":"33292:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33291:18:3"},"scope":3726,"src":"33180:437:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3075,"nodeType":"Block","src":"33876:256:3","statements":[{"assignments":[3046,3048],"declarations":[{"constant":false,"id":3046,"mutability":"mutable","name":"success","nameLocation":"33892:7:3","nodeType":"VariableDeclaration","scope":3075,"src":"33887:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3045,"name":"bool","nodeType":"ElementaryTypeName","src":"33887:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3048,"mutability":"mutable","name":"result","nameLocation":"33914:6:3","nodeType":"VariableDeclaration","scope":3075,"src":"33901:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3047,"name":"bytes","nodeType":"ElementaryTypeName","src":"33901:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3059,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3053,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"33983:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3054,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34003:10:3","memberName":"pauseToken","nodeType":"MemberAccess","referencedDeclaration":4419,"src":"33983:30:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$_t_int64_$","typeString":"function IHederaTokenService.pauseToken(address) returns (int64)"}},"id":3055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34014:8:3","memberName":"selector","nodeType":"MemberAccess","src":"33983:39:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3056,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3040,"src":"34024:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":3051,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33960:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33964:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"33960:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33960:70:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3049,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"33924:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33942:4:3","memberName":"call","nodeType":"MemberAccess","src":"33924:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33924:107:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"33886:145:3"},{"expression":{"id":3073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3060,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3043,"src":"34042:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3061,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"34041:14:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3062,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3046,"src":"34058:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":3070,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"34098:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34118:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"34098:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":3072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"34058:67:3","trueExpression":{"arguments":[{"id":3065,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3048,"src":"34079:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3067,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34088:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3066,"name":"int32","nodeType":"ElementaryTypeName","src":"34088:5:3","typeDescriptions":{}}}],"id":3068,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"34087:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":3063,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34068:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34072:6:3","memberName":"decode","nodeType":"MemberAccess","src":"34068:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34068:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"34041:84:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3074,"nodeType":"ExpressionStatement","src":"34041:84:3"}]},"documentation":{"id":3038,"nodeType":"StructuredDocumentation","src":"33623:173:3","text":"Operation to pause token\n @param token The token address to be paused\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":3076,"implemented":true,"kind":"function","modifiers":[],"name":"pauseToken","nameLocation":"33810:10:3","nodeType":"FunctionDefinition","parameters":{"id":3041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3040,"mutability":"mutable","name":"token","nameLocation":"33829:5:3","nodeType":"VariableDeclaration","scope":3076,"src":"33821:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3039,"name":"address","nodeType":"ElementaryTypeName","src":"33821:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33820:15:3"},"returnParameters":{"id":3044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3043,"mutability":"mutable","name":"responseCode","nameLocation":"33858:12:3","nodeType":"VariableDeclaration","scope":3076,"src":"33854:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3042,"name":"int","nodeType":"ElementaryTypeName","src":"33854:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33853:18:3"},"scope":3726,"src":"33801:331:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3114,"nodeType":"Block","src":"34397:258:3","statements":[{"assignments":[3085,3087],"declarations":[{"constant":false,"id":3085,"mutability":"mutable","name":"success","nameLocation":"34413:7:3","nodeType":"VariableDeclaration","scope":3114,"src":"34408:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3084,"name":"bool","nodeType":"ElementaryTypeName","src":"34408:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3087,"mutability":"mutable","name":"result","nameLocation":"34435:6:3","nodeType":"VariableDeclaration","scope":3114,"src":"34422:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3086,"name":"bytes","nodeType":"ElementaryTypeName","src":"34422:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3098,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3092,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"34504:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3093,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34524:12:3","memberName":"unpauseToken","nodeType":"MemberAccess","referencedDeclaration":4427,"src":"34504:32:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$_t_int64_$","typeString":"function IHederaTokenService.unpauseToken(address) returns (int64)"}},"id":3094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34537:8:3","memberName":"selector","nodeType":"MemberAccess","src":"34504:41:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3095,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3079,"src":"34547:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":3090,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34481:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3091,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34485:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"34481:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34481:72:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3088,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"34445:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34463:4:3","memberName":"call","nodeType":"MemberAccess","src":"34445:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34445:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"34407:147:3"},{"expression":{"id":3112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3099,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3082,"src":"34565:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3100,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"34564:14:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3101,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3085,"src":"34581:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":3109,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"34621:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34641:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"34621:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":3111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"34581:67:3","trueExpression":{"arguments":[{"id":3104,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3087,"src":"34602:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34611:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3105,"name":"int32","nodeType":"ElementaryTypeName","src":"34611:5:3","typeDescriptions":{}}}],"id":3107,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"34610:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":3102,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34591:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34595:6:3","memberName":"decode","nodeType":"MemberAccess","src":"34591:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34591:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"34564:84:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3113,"nodeType":"ExpressionStatement","src":"34564:84:3"}]},"documentation":{"id":3077,"nodeType":"StructuredDocumentation","src":"34138:177:3","text":"Operation to unpause token\n @param token The token address to be unpaused\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":3115,"implemented":true,"kind":"function","modifiers":[],"name":"unpauseToken","nameLocation":"34329:12:3","nodeType":"FunctionDefinition","parameters":{"id":3080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3079,"mutability":"mutable","name":"token","nameLocation":"34350:5:3","nodeType":"VariableDeclaration","scope":3115,"src":"34342:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3078,"name":"address","nodeType":"ElementaryTypeName","src":"34342:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34341:15:3"},"returnParameters":{"id":3083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3082,"mutability":"mutable","name":"responseCode","nameLocation":"34379:12:3","nodeType":"VariableDeclaration","scope":3115,"src":"34375:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3081,"name":"int","nodeType":"ElementaryTypeName","src":"34375:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34374:18:3"},"scope":3726,"src":"34320:335:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3159,"nodeType":"Block","src":"35068:279:3","statements":[{"assignments":[3128,3130],"declarations":[{"constant":false,"id":3128,"mutability":"mutable","name":"success","nameLocation":"35084:7:3","nodeType":"VariableDeclaration","scope":3159,"src":"35079:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3127,"name":"bool","nodeType":"ElementaryTypeName","src":"35079:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3130,"mutability":"mutable","name":"result","nameLocation":"35106:6:3","nodeType":"VariableDeclaration","scope":3159,"src":"35093:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3129,"name":"bytes","nodeType":"ElementaryTypeName","src":"35093:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3143,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3135,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"35175:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35195:16:3","memberName":"wipeTokenAccount","nodeType":"MemberAccess","referencedDeclaration":4439,"src":"35175:36:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_int64_$returns$_t_int64_$","typeString":"function IHederaTokenService.wipeTokenAccount(address,address,int64) returns (int64)"}},"id":3137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35212:8:3","memberName":"selector","nodeType":"MemberAccess","src":"35175:45:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3138,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3118,"src":"35222:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3139,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3120,"src":"35229:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3140,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3122,"src":"35238:6:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_int64","typeString":"int64"}],"expression":{"id":3133,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35152:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3134,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35156:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"35152:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35152:93:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3131,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"35116:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35134:4:3","memberName":"call","nodeType":"MemberAccess","src":"35116:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35116:130:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"35078:168:3"},{"expression":{"id":3157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3144,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3125,"src":"35257:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3145,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"35256:14:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3146,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3128,"src":"35273:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":3154,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"35313:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35333:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"35313:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":3156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"35273:67:3","trueExpression":{"arguments":[{"id":3149,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3130,"src":"35294:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35303:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3150,"name":"int32","nodeType":"ElementaryTypeName","src":"35303:5:3","typeDescriptions":{}}}],"id":3152,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"35302:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":3147,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35283:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35287:6:3","memberName":"decode","nodeType":"MemberAccess","src":"35283:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35283:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"35256:84:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3158,"nodeType":"ExpressionStatement","src":"35256:84:3"}]},"documentation":{"id":3116,"nodeType":"StructuredDocumentation","src":"34661:290:3","text":"Operation to wipe fungible tokens from account\n @param token The token address\n @param account The account address to revoke kyc\n @param amount The number of tokens to wipe\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":3160,"implemented":true,"kind":"function","modifiers":[],"name":"wipeTokenAccount","nameLocation":"34965:16:3","nodeType":"FunctionDefinition","parameters":{"id":3123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3118,"mutability":"mutable","name":"token","nameLocation":"34990:5:3","nodeType":"VariableDeclaration","scope":3160,"src":"34982:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3117,"name":"address","nodeType":"ElementaryTypeName","src":"34982:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3120,"mutability":"mutable","name":"account","nameLocation":"35005:7:3","nodeType":"VariableDeclaration","scope":3160,"src":"34997:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3119,"name":"address","nodeType":"ElementaryTypeName","src":"34997:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3122,"mutability":"mutable","name":"amount","nameLocation":"35020:6:3","nodeType":"VariableDeclaration","scope":3160,"src":"35014:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3121,"name":"int64","nodeType":"ElementaryTypeName","src":"35014:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"34981:46:3"},"returnParameters":{"id":3126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3125,"mutability":"mutable","name":"responseCode","nameLocation":"35050:12:3","nodeType":"VariableDeclaration","scope":3160,"src":"35046:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3124,"name":"int","nodeType":"ElementaryTypeName","src":"35046:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"35045:18:3"},"scope":3726,"src":"34956:391:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3205,"nodeType":"Block","src":"35802:289:3","statements":[{"assignments":[3174,3176],"declarations":[{"constant":false,"id":3174,"mutability":"mutable","name":"success","nameLocation":"35818:7:3","nodeType":"VariableDeclaration","scope":3205,"src":"35813:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3173,"name":"bool","nodeType":"ElementaryTypeName","src":"35813:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3176,"mutability":"mutable","name":"result","nameLocation":"35840:6:3","nodeType":"VariableDeclaration","scope":3205,"src":"35827:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3175,"name":"bytes","nodeType":"ElementaryTypeName","src":"35827:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3189,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3181,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"35909:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35929:19:3","memberName":"wipeTokenAccountNFT","nodeType":"MemberAccess","referencedDeclaration":4452,"src":"35909:39:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_array$_t_int64_$dyn_memory_ptr_$returns$_t_int64_$","typeString":"function IHederaTokenService.wipeTokenAccountNFT(address,address,int64[] memory) returns (int64)"}},"id":3183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35949:8:3","memberName":"selector","nodeType":"MemberAccess","src":"35909:48:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3184,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3163,"src":"35959:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3185,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3165,"src":"35966:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3186,"name":"serialNumbers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3168,"src":"35975:13:3","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[] memory"}],"expression":{"id":3179,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35886:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35890:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"35886:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35886:103:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3177,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"35850:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35868:4:3","memberName":"call","nodeType":"MemberAccess","src":"35850:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35850:140:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"35812:178:3"},{"expression":{"id":3203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3190,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3171,"src":"36001:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3191,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"36000:14:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3192,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3174,"src":"36017:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":3200,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"36057:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36077:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"36057:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":3202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"36017:67:3","trueExpression":{"arguments":[{"id":3195,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3176,"src":"36038:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36047:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3196,"name":"int32","nodeType":"ElementaryTypeName","src":"36047:5:3","typeDescriptions":{}}}],"id":3198,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"36046:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":3193,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36027:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36031:6:3","memberName":"decode","nodeType":"MemberAccess","src":"36027:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36027:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"36000:84:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3204,"nodeType":"ExpressionStatement","src":"36000:84:3"}]},"documentation":{"id":3161,"nodeType":"StructuredDocumentation","src":"35353:309:3","text":"Operation to wipe non fungible tokens from account\n @param token The token address\n @param account The account address to revoke kyc\n @param serialNumbers The serial numbers of token to wipe\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":3206,"implemented":true,"kind":"function","modifiers":[],"name":"wipeTokenAccountNFT","nameLocation":"35676:19:3","nodeType":"FunctionDefinition","parameters":{"id":3169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3163,"mutability":"mutable","name":"token","nameLocation":"35704:5:3","nodeType":"VariableDeclaration","scope":3206,"src":"35696:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3162,"name":"address","nodeType":"ElementaryTypeName","src":"35696:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3165,"mutability":"mutable","name":"account","nameLocation":"35719:7:3","nodeType":"VariableDeclaration","scope":3206,"src":"35711:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3164,"name":"address","nodeType":"ElementaryTypeName","src":"35711:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3168,"mutability":"mutable","name":"serialNumbers","nameLocation":"35743:13:3","nodeType":"VariableDeclaration","scope":3206,"src":"35728:28:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[]"},"typeName":{"baseType":{"id":3166,"name":"int64","nodeType":"ElementaryTypeName","src":"35728:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":3167,"nodeType":"ArrayTypeName","src":"35728:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}},"visibility":"internal"}],"src":"35695:62:3"},"returnParameters":{"id":3172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3171,"mutability":"mutable","name":"responseCode","nameLocation":"35784:12:3","nodeType":"VariableDeclaration","scope":3206,"src":"35780:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3170,"name":"int","nodeType":"ElementaryTypeName","src":"35780:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"35779:18:3"},"scope":3726,"src":"35667:424:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3244,"nodeType":"Block","src":"36339:257:3","statements":[{"assignments":[3215,3217],"declarations":[{"constant":false,"id":3215,"mutability":"mutable","name":"success","nameLocation":"36355:7:3","nodeType":"VariableDeclaration","scope":3244,"src":"36350:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3214,"name":"bool","nodeType":"ElementaryTypeName","src":"36350:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3217,"mutability":"mutable","name":"result","nameLocation":"36377:6:3","nodeType":"VariableDeclaration","scope":3244,"src":"36364:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3216,"name":"bytes","nodeType":"ElementaryTypeName","src":"36364:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3228,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3222,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"36446:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36466:11:3","memberName":"deleteToken","nodeType":"MemberAccess","referencedDeclaration":4272,"src":"36446:31:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$_t_int64_$","typeString":"function IHederaTokenService.deleteToken(address) returns (int64)"}},"id":3224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36478:8:3","memberName":"selector","nodeType":"MemberAccess","src":"36446:40:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3225,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3209,"src":"36488:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":3220,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36423:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36427:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"36423:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36423:71:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3218,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"36387:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36405:4:3","memberName":"call","nodeType":"MemberAccess","src":"36387:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36387:108:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"36349:146:3"},{"expression":{"id":3242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3229,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3212,"src":"36506:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3230,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"36505:14:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3231,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3215,"src":"36522:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":3239,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"36562:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3240,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36582:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"36562:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":3241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"36522:67:3","trueExpression":{"arguments":[{"id":3234,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3217,"src":"36543:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3236,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"36552:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3235,"name":"int32","nodeType":"ElementaryTypeName","src":"36552:5:3","typeDescriptions":{}}}],"id":3237,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"36551:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":3232,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36532:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36536:6:3","memberName":"decode","nodeType":"MemberAccess","src":"36532:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36532:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"36505:84:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3243,"nodeType":"ExpressionStatement","src":"36505:84:3"}]},"documentation":{"id":3207,"nodeType":"StructuredDocumentation","src":"36097:161:3","text":"Operation to delete token\n @param token The token address\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":3245,"implemented":true,"kind":"function","modifiers":[],"name":"deleteToken","nameLocation":"36272:11:3","nodeType":"FunctionDefinition","parameters":{"id":3210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3209,"mutability":"mutable","name":"token","nameLocation":"36292:5:3","nodeType":"VariableDeclaration","scope":3245,"src":"36284:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3208,"name":"address","nodeType":"ElementaryTypeName","src":"36284:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36283:15:3"},"returnParameters":{"id":3213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3212,"mutability":"mutable","name":"responseCode","nameLocation":"36321:12:3","nodeType":"VariableDeclaration","scope":3245,"src":"36317:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3211,"name":"int","nodeType":"ElementaryTypeName","src":"36317:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"36316:18:3"},"scope":3726,"src":"36263:333:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3288,"nodeType":"Block","src":"36933:267:3","statements":[{"assignments":[3258,3260],"declarations":[{"constant":false,"id":3258,"mutability":"mutable","name":"success","nameLocation":"36949:7:3","nodeType":"VariableDeclaration","scope":3288,"src":"36944:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3257,"name":"bool","nodeType":"ElementaryTypeName","src":"36944:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3260,"mutability":"mutable","name":"result","nameLocation":"36971:6:3","nodeType":"VariableDeclaration","scope":3288,"src":"36958:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3259,"name":"bytes","nodeType":"ElementaryTypeName","src":"36958:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3272,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3265,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"37040:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37060:15:3","memberName":"updateTokenKeys","nodeType":"MemberAccess","referencedDeclaration":4486,"src":"37040:35:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr_$returns$_t_int64_$","typeString":"function IHederaTokenService.updateTokenKeys(address,struct IHederaTokenService.TokenKey memory[] memory) returns (int64)"}},"id":3267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37076:8:3","memberName":"selector","nodeType":"MemberAccess","src":"37040:44:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3268,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3248,"src":"37086:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3269,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3252,"src":"37093:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}],"expression":{"id":3263,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37017:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37021:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"37017:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37017:81:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3261,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"36981:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36999:4:3","memberName":"call","nodeType":"MemberAccess","src":"36981:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36981:118:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"36943:156:3"},{"expression":{"id":3286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3273,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3255,"src":"37110:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}}],"id":3274,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"37109:14:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3275,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3258,"src":"37126:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":3283,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"37166:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3284,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37186:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"37166:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":3285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"37126:67:3","trueExpression":{"arguments":[{"id":3278,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3260,"src":"37147:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37156:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3279,"name":"int32","nodeType":"ElementaryTypeName","src":"37156:5:3","typeDescriptions":{}}}],"id":3281,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"37155:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":3276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37136:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37140:6:3","memberName":"decode","nodeType":"MemberAccess","src":"37136:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37136:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"37109:84:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":3287,"nodeType":"ExpressionStatement","src":"37109:84:3"}]},"documentation":{"id":3246,"nodeType":"StructuredDocumentation","src":"36602:201:3","text":"Operation to update token keys\n @param token The token address\n @param keys The token keys\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":3289,"implemented":true,"kind":"function","modifiers":[],"name":"updateTokenKeys","nameLocation":"36817:15:3","nodeType":"FunctionDefinition","parameters":{"id":3253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3248,"mutability":"mutable","name":"token","nameLocation":"36841:5:3","nodeType":"VariableDeclaration","scope":3289,"src":"36833:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3247,"name":"address","nodeType":"ElementaryTypeName","src":"36833:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3252,"mutability":"mutable","name":"keys","nameLocation":"36886:4:3","nodeType":"VariableDeclaration","scope":3289,"src":"36848:42:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey[]"},"typeName":{"baseType":{"id":3250,"nodeType":"UserDefinedTypeName","pathNode":{"id":3249,"name":"IHederaTokenService.TokenKey","nameLocations":["36848:19:3","36868:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"36848:28:3"},"referencedDeclaration":3785,"src":"36848:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":3251,"nodeType":"ArrayTypeName","src":"36848:30:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}},"visibility":"internal"}],"src":"36832:59:3"},"returnParameters":{"id":3256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3255,"mutability":"mutable","name":"responseCode","nameLocation":"36920:12:3","nodeType":"VariableDeclaration","scope":3289,"src":"36914:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3254,"name":"int64","nodeType":"ElementaryTypeName","src":"36914:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"36913:20:3"},"scope":3726,"src":"36808:392:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3344,"nodeType":"Block","src":"37692:389:3","statements":[{"assignments":[3303,3305],"declarations":[{"constant":false,"id":3303,"mutability":"mutable","name":"success","nameLocation":"37708:7:3","nodeType":"VariableDeclaration","scope":3344,"src":"37703:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3302,"name":"bool","nodeType":"ElementaryTypeName","src":"37703:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3305,"mutability":"mutable","name":"result","nameLocation":"37730:6:3","nodeType":"VariableDeclaration","scope":3344,"src":"37717:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3304,"name":"bytes","nodeType":"ElementaryTypeName","src":"37717:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3317,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3310,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"37799:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37819:11:3","memberName":"getTokenKey","nodeType":"MemberAccess","referencedDeclaration":4358,"src":"37799:31:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_uint256_$returns$_t_int64_$_t_struct$_KeyValue_$3779_memory_ptr_$","typeString":"function IHederaTokenService.getTokenKey(address,uint256) returns (int64,struct IHederaTokenService.KeyValue memory)"}},"id":3312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37831:8:3","memberName":"selector","nodeType":"MemberAccess","src":"37799:40:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3313,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"37841:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3314,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3294,"src":"37848:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":3308,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37776:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37780:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"37776:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37776:80:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3306,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"37740:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37758:4:3","memberName":"call","nodeType":"MemberAccess","src":"37740:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37740:117:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"37702:155:3"},{"assignments":[3322],"declarations":[{"constant":false,"id":3322,"mutability":"mutable","name":"defaultKeyValueInfo","nameLocation":"37903:19:3","nodeType":"VariableDeclaration","scope":3344,"src":"37867:55:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue"},"typeName":{"id":3321,"nodeType":"UserDefinedTypeName","pathNode":{"id":3320,"name":"IHederaTokenService.KeyValue","nameLocations":["37867:19:3","37887:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3779,"src":"37867:28:3"},"referencedDeclaration":3779,"src":"37867:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_storage_ptr","typeString":"struct IHederaTokenService.KeyValue"}},"visibility":"internal"}],"id":3323,"nodeType":"VariableDeclarationStatement","src":"37867:55:3"},{"expression":{"id":3342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3324,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3297,"src":"37933:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},{"id":3325,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3300,"src":"37947:3:3","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}}],"id":3326,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"37932:19:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int64_$_t_struct$_KeyValue_$3779_memory_ptr_$","typeString":"tuple(int64,struct IHederaTokenService.KeyValue memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3327,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3303,"src":"37954:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":3337,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"38025:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38045:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"38025:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"id":3339,"name":"defaultKeyValueInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3322,"src":"38054:19:3","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}}],"id":3340,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"38024:50:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_KeyValue_$3779_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.KeyValue memory)"}},"id":3341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"37954:120:3","trueExpression":{"arguments":[{"id":3330,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3305,"src":"37975:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"37984:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3331,"name":"int32","nodeType":"ElementaryTypeName","src":"37984:5:3","typeDescriptions":{}}},{"expression":{"id":3333,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"37990:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38010:8:3","memberName":"KeyValue","nodeType":"MemberAccess","referencedDeclaration":3779,"src":"37990:28:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_KeyValue_$3779_storage_ptr_$","typeString":"type(struct IHederaTokenService.KeyValue storage pointer)"}}],"id":3335,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"37983:36:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_struct$_KeyValue_$3779_storage_ptr_$_$","typeString":"tuple(type(int32),type(struct IHederaTokenService.KeyValue storage pointer))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_struct$_KeyValue_$3779_storage_ptr_$_$","typeString":"tuple(type(int32),type(struct IHederaTokenService.KeyValue storage pointer))"}],"expression":{"id":3328,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37964:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37968:6:3","memberName":"decode","nodeType":"MemberAccess","src":"37964:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37964:57:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_KeyValue_$3779_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.KeyValue memory)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_KeyValue_$3779_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.KeyValue memory)"}},"src":"37932:142:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3343,"nodeType":"ExpressionStatement","src":"37932:142:3"}]},"documentation":{"id":3290,"nodeType":"StructuredDocumentation","src":"37206:349:3","text":"Query token KeyValue\n @param token The token address to check\n @param keyType The keyType of the desired KeyValue\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return key KeyValue info for key of type `keyType`\n @dev This function reverts if the call is not successful"},"id":3345,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenKey","nameLocation":"37569:11:3","nodeType":"FunctionDefinition","parameters":{"id":3295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3292,"mutability":"mutable","name":"token","nameLocation":"37589:5:3","nodeType":"VariableDeclaration","scope":3345,"src":"37581:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3291,"name":"address","nodeType":"ElementaryTypeName","src":"37581:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3294,"mutability":"mutable","name":"keyType","nameLocation":"37601:7:3","nodeType":"VariableDeclaration","scope":3345,"src":"37596:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3293,"name":"uint","nodeType":"ElementaryTypeName","src":"37596:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37580:29:3"},"returnParameters":{"id":3301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3297,"mutability":"mutable","name":"responseCode","nameLocation":"37638:12:3","nodeType":"VariableDeclaration","scope":3345,"src":"37632:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3296,"name":"int64","nodeType":"ElementaryTypeName","src":"37632:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3300,"mutability":"mutable","name":"key","nameLocation":"37688:3:3","nodeType":"VariableDeclaration","scope":3345,"src":"37652:39:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue"},"typeName":{"id":3299,"nodeType":"UserDefinedTypeName","pathNode":{"id":3298,"name":"IHederaTokenService.KeyValue","nameLocations":["37652:19:3","37672:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3779,"src":"37652:28:3"},"referencedDeclaration":3779,"src":"37652:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_storage_ptr","typeString":"struct IHederaTokenService.KeyValue"}},"visibility":"internal"}],"src":"37631:61:3"},"scope":3726,"src":"37560:521:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3390,"nodeType":"Block","src":"38506:281:3","statements":[{"assignments":[3356,3358],"declarations":[{"constant":false,"id":3356,"mutability":"mutable","name":"success","nameLocation":"38522:7:3","nodeType":"VariableDeclaration","scope":3390,"src":"38517:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3355,"name":"bool","nodeType":"ElementaryTypeName","src":"38517:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3358,"mutability":"mutable","name":"result","nameLocation":"38544:6:3","nodeType":"VariableDeclaration","scope":3390,"src":"38531:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3357,"name":"bytes","nodeType":"ElementaryTypeName","src":"38531:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3369,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3363,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"38613:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38633:7:3","memberName":"isToken","nodeType":"MemberAccess","referencedDeclaration":4496,"src":"38613:27:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$_t_int64_$_t_bool_$","typeString":"function IHederaTokenService.isToken(address) returns (int64,bool)"}},"id":3365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38641:8:3","memberName":"selector","nodeType":"MemberAccess","src":"38613:36:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3366,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3348,"src":"38651:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":3361,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38590:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38594:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"38590:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38590:67:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3359,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"38554:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38572:4:3","memberName":"call","nodeType":"MemberAccess","src":"38554:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38554:104:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"38516:142:3"},{"expression":{"id":3388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3370,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3351,"src":"38669:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},{"id":3371,"name":"isTokenFlag","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3353,"src":"38683:11:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":3372,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"38668:27:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int64_$_t_bool_$","typeString":"tuple(int64,bool)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3373,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3356,"src":"38698:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":3383,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"38745:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38765:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"38745:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"66616c7365","id":3385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"38774:5:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"id":3386,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"38744:36:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"id":3387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"38698:82:3","trueExpression":{"arguments":[{"id":3376,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3358,"src":"38719:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38728:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3377,"name":"int32","nodeType":"ElementaryTypeName","src":"38728:5:3","typeDescriptions":{}}},{"id":3380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"38735:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":3379,"name":"bool","nodeType":"ElementaryTypeName","src":"38735:4:3","typeDescriptions":{}}}],"id":3381,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"38727:13:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_bool_$_$","typeString":"tuple(type(int32),type(bool))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_bool_$_$","typeString":"tuple(type(int32),type(bool))"}],"expression":{"id":3374,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38708:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3375,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38712:6:3","memberName":"decode","nodeType":"MemberAccess","src":"38708:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38708:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bool_$","typeString":"tuple(int32,bool)"}},"src":"38668:112:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3389,"nodeType":"ExpressionStatement","src":"38668:112:3"}]},"documentation":{"id":3346,"nodeType":"StructuredDocumentation","src":"38088:325:3","text":"Query if valid token found for the given address\n @param token The token address\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return isTokenFlag True if valid token found for the given address\n @dev This function reverts if the call is not successful"},"id":3391,"implemented":true,"kind":"function","modifiers":[],"name":"isToken","nameLocation":"38427:7:3","nodeType":"FunctionDefinition","parameters":{"id":3349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3348,"mutability":"mutable","name":"token","nameLocation":"38443:5:3","nodeType":"VariableDeclaration","scope":3391,"src":"38435:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3347,"name":"address","nodeType":"ElementaryTypeName","src":"38435:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38434:15:3"},"returnParameters":{"id":3354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3351,"mutability":"mutable","name":"responseCode","nameLocation":"38474:12:3","nodeType":"VariableDeclaration","scope":3391,"src":"38468:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3350,"name":"int64","nodeType":"ElementaryTypeName","src":"38468:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3353,"mutability":"mutable","name":"isTokenFlag","nameLocation":"38493:11:3","nodeType":"VariableDeclaration","scope":3391,"src":"38488:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3352,"name":"bool","nodeType":"ElementaryTypeName","src":"38488:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38467:38:3"},"scope":3726,"src":"38418:369:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3437,"nodeType":"Block","src":"39250:283:3","statements":[{"assignments":[3402,3404],"declarations":[{"constant":false,"id":3402,"mutability":"mutable","name":"success","nameLocation":"39266:7:3","nodeType":"VariableDeclaration","scope":3437,"src":"39261:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3401,"name":"bool","nodeType":"ElementaryTypeName","src":"39261:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3404,"mutability":"mutable","name":"result","nameLocation":"39288:6:3","nodeType":"VariableDeclaration","scope":3437,"src":"39275:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3403,"name":"bytes","nodeType":"ElementaryTypeName","src":"39275:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3415,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3409,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"39357:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3410,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39377:12:3","memberName":"getTokenType","nodeType":"MemberAccess","referencedDeclaration":4506,"src":"39357:32:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$_t_int64_$_t_int32_$","typeString":"function IHederaTokenService.getTokenType(address) returns (int64,int32)"}},"id":3411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39390:8:3","memberName":"selector","nodeType":"MemberAccess","src":"39357:41:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3412,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3394,"src":"39400:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":3407,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39334:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3408,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39338:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"39334:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39334:72:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3405,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"39298:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"39316:4:3","memberName":"call","nodeType":"MemberAccess","src":"39298:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39298:109:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"39260:147:3"},{"expression":{"id":3435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3416,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"39418:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},{"id":3417,"name":"tokenType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3399,"src":"39432:9:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}}],"id":3418,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"39417:25:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int64_$_t_int32_$","typeString":"tuple(int64,int32)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3419,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3402,"src":"39445:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":3429,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"39493:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39513:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"39493:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"id":3432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"39522:3:3","subExpression":{"hexValue":"31","id":3431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39524:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_1_by_1","typeString":"int_const -1"}}],"id":3433,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"39492:34:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_rational_minus_1_by_1_$","typeString":"tuple(int32,int_const -1)"}},"id":3434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"39445:81:3","trueExpression":{"arguments":[{"id":3422,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3404,"src":"39466:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39475:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3423,"name":"int32","nodeType":"ElementaryTypeName","src":"39475:5:3","typeDescriptions":{}}},{"id":3426,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"39482:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3425,"name":"int32","nodeType":"ElementaryTypeName","src":"39482:5:3","typeDescriptions":{}}}],"id":3427,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"39474:14:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_int32_$_$","typeString":"tuple(type(int32),type(int32))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_int32_$_$","typeString":"tuple(type(int32),type(int32))"}],"expression":{"id":3420,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39455:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39459:6:3","memberName":"decode","nodeType":"MemberAccess","src":"39455:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39455:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_int32_$","typeString":"tuple(int32,int32)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_int32_$","typeString":"tuple(int32,int32)"}},"src":"39417:109:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3436,"nodeType":"ExpressionStatement","src":"39417:109:3"}]},"documentation":{"id":3392,"nodeType":"StructuredDocumentation","src":"38793:360:3","text":"Query to return the token type for a given address\n @param token The token address\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return tokenType the token type. 0 is FUNGIBLE_COMMON, 1 is NON_FUNGIBLE_UNIQUE, -1 is UNRECOGNIZED\n @dev This function reverts if the call is not successful"},"id":3438,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenType","nameLocation":"39167:12:3","nodeType":"FunctionDefinition","parameters":{"id":3395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3394,"mutability":"mutable","name":"token","nameLocation":"39188:5:3","nodeType":"VariableDeclaration","scope":3438,"src":"39180:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3393,"name":"address","nodeType":"ElementaryTypeName","src":"39180:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39179:15:3"},"returnParameters":{"id":3400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3397,"mutability":"mutable","name":"responseCode","nameLocation":"39219:12:3","nodeType":"VariableDeclaration","scope":3438,"src":"39213:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3396,"name":"int64","nodeType":"ElementaryTypeName","src":"39213:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3399,"mutability":"mutable","name":"tokenType","nameLocation":"39239:9:3","nodeType":"VariableDeclaration","scope":3438,"src":"39233:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":3398,"name":"int32","nodeType":"ElementaryTypeName","src":"39233:5:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"39212:37:3"},"scope":3726,"src":"39158:375:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3490,"nodeType":"Block","src":"39959:386:3","statements":[{"assignments":[3450,3452],"declarations":[{"constant":false,"id":3450,"mutability":"mutable","name":"success","nameLocation":"39975:7:3","nodeType":"VariableDeclaration","scope":3490,"src":"39970:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3449,"name":"bool","nodeType":"ElementaryTypeName","src":"39970:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3452,"mutability":"mutable","name":"result","nameLocation":"39997:6:3","nodeType":"VariableDeclaration","scope":3490,"src":"39984:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3451,"name":"bytes","nodeType":"ElementaryTypeName","src":"39984:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3463,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3457,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"40066:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40086:18:3","memberName":"getTokenExpiryInfo","nodeType":"MemberAccess","referencedDeclaration":4323,"src":"40066:38:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$returns$_t_int64_$_t_struct$_Expiry_$3768_memory_ptr_$","typeString":"function IHederaTokenService.getTokenExpiryInfo(address) returns (int64,struct IHederaTokenService.Expiry memory)"}},"id":3459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40105:8:3","memberName":"selector","nodeType":"MemberAccess","src":"40066:47:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3460,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3441,"src":"40115:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":3455,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40043:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3456,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40047:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"40043:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40043:78:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3453,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"40007:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40025:4:3","memberName":"call","nodeType":"MemberAccess","src":"40007:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40007:115:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"39969:153:3"},{"assignments":[3468],"declarations":[{"constant":false,"id":3468,"mutability":"mutable","name":"defaultExpiryInfo","nameLocation":"40166:17:3","nodeType":"VariableDeclaration","scope":3490,"src":"40132:51:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry"},"typeName":{"id":3467,"nodeType":"UserDefinedTypeName","pathNode":{"id":3466,"name":"IHederaTokenService.Expiry","nameLocations":["40132:19:3","40152:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"40132:26:3"},"referencedDeclaration":3768,"src":"40132:26:3","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_storage_ptr","typeString":"struct IHederaTokenService.Expiry"}},"visibility":"internal"}],"id":3469,"nodeType":"VariableDeclarationStatement","src":"40132:51:3"},{"expression":{"id":3488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3470,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3444,"src":"40194:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3471,"name":"expiryInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3447,"src":"40208:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}}],"id":3472,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"40193:26:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_struct$_Expiry_$3768_memory_ptr_$","typeString":"tuple(int256,struct IHederaTokenService.Expiry memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3473,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3450,"src":"40222:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":3483,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"40291:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40311:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"40291:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"id":3485,"name":"defaultExpiryInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3468,"src":"40320:17:3","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}}],"id":3486,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40290:48:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_Expiry_$3768_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.Expiry memory)"}},"id":3487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"40222:116:3","trueExpression":{"arguments":[{"id":3476,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3452,"src":"40243:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3478,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40252:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3477,"name":"int32","nodeType":"ElementaryTypeName","src":"40252:5:3","typeDescriptions":{}}},{"expression":{"id":3479,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"40259:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40279:6:3","memberName":"Expiry","nodeType":"MemberAccess","referencedDeclaration":3768,"src":"40259:26:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Expiry_$3768_storage_ptr_$","typeString":"type(struct IHederaTokenService.Expiry storage pointer)"}}],"id":3481,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"40251:35:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_struct$_Expiry_$3768_storage_ptr_$_$","typeString":"tuple(type(int32),type(struct IHederaTokenService.Expiry storage pointer))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_int32_$_$_t_type$_t_struct$_Expiry_$3768_storage_ptr_$_$","typeString":"tuple(type(int32),type(struct IHederaTokenService.Expiry storage pointer))"}],"expression":{"id":3474,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40232:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40236:6:3","memberName":"decode","nodeType":"MemberAccess","src":"40232:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40232:55:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_Expiry_$3768_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.Expiry memory)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_struct$_Expiry_$3768_memory_ptr_$","typeString":"tuple(int32,struct IHederaTokenService.Expiry memory)"}},"src":"40193:145:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3489,"nodeType":"ExpressionStatement","src":"40193:145:3"}]},"documentation":{"id":3439,"nodeType":"StructuredDocumentation","src":"39539:291:3","text":"Operation to get token expiry info\n @param token The token address\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return expiryInfo The expiry info of the token\n @dev This function reverts if the call is not successful"},"id":3491,"implemented":true,"kind":"function","modifiers":[],"name":"getTokenExpiryInfo","nameLocation":"39844:18:3","nodeType":"FunctionDefinition","parameters":{"id":3442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3441,"mutability":"mutable","name":"token","nameLocation":"39871:5:3","nodeType":"VariableDeclaration","scope":3491,"src":"39863:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3440,"name":"address","nodeType":"ElementaryTypeName","src":"39863:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39862:15:3"},"returnParameters":{"id":3448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3444,"mutability":"mutable","name":"responseCode","nameLocation":"39900:12:3","nodeType":"VariableDeclaration","scope":3491,"src":"39896:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3443,"name":"int","nodeType":"ElementaryTypeName","src":"39896:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3447,"mutability":"mutable","name":"expiryInfo","nameLocation":"39948:10:3","nodeType":"VariableDeclaration","scope":3491,"src":"39914:44:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry"},"typeName":{"id":3446,"nodeType":"UserDefinedTypeName","pathNode":{"id":3445,"name":"IHederaTokenService.Expiry","nameLocations":["39914:19:3","39934:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"39914:26:3"},"referencedDeclaration":3768,"src":"39914:26:3","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_storage_ptr","typeString":"struct IHederaTokenService.Expiry"}},"visibility":"internal"}],"src":"39895:64:3"},"scope":3726,"src":"39835:510:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3533,"nodeType":"Block","src":"40656:279:3","statements":[{"assignments":[3503,3505],"declarations":[{"constant":false,"id":3503,"mutability":"mutable","name":"success","nameLocation":"40672:7:3","nodeType":"VariableDeclaration","scope":3533,"src":"40667:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3502,"name":"bool","nodeType":"ElementaryTypeName","src":"40667:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3505,"mutability":"mutable","name":"result","nameLocation":"40694:6:3","nodeType":"VariableDeclaration","scope":3533,"src":"40681:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3504,"name":"bytes","nodeType":"ElementaryTypeName","src":"40681:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3517,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3510,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"40763:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40783:21:3","memberName":"updateTokenExpiryInfo","nodeType":"MemberAccess","referencedDeclaration":4474,"src":"40763:41:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_Expiry_$3768_memory_ptr_$returns$_t_int64_$","typeString":"function IHederaTokenService.updateTokenExpiryInfo(address,struct IHederaTokenService.Expiry memory) returns (int64)"}},"id":3512,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40805:8:3","memberName":"selector","nodeType":"MemberAccess","src":"40763:50:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3513,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3494,"src":"40815:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3514,"name":"expiryInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3497,"src":"40822:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry memory"}],"expression":{"id":3508,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40740:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40744:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"40740:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40740:93:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3506,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"40704:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40722:4:3","memberName":"call","nodeType":"MemberAccess","src":"40704:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40704:130:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"40666:168:3"},{"expression":{"id":3531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3518,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3500,"src":"40845:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3519,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"40844:14:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3520,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3503,"src":"40861:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":3528,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"40901:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40921:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"40901:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":3530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"40861:67:3","trueExpression":{"arguments":[{"id":3523,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3505,"src":"40882:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3525,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"40891:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3524,"name":"int32","nodeType":"ElementaryTypeName","src":"40891:5:3","typeDescriptions":{}}}],"id":3526,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"40890:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":3521,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40871:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40875:6:3","memberName":"decode","nodeType":"MemberAccess","src":"40871:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40871:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"40844:84:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3532,"nodeType":"ExpressionStatement","src":"40844:84:3"}]},"documentation":{"id":3492,"nodeType":"StructuredDocumentation","src":"40351:173:3","text":"Operation to update token expiry info\n @param token The token address\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":3534,"implemented":true,"kind":"function","modifiers":[],"name":"updateTokenExpiryInfo","nameLocation":"40538:21:3","nodeType":"FunctionDefinition","parameters":{"id":3498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3494,"mutability":"mutable","name":"token","nameLocation":"40568:5:3","nodeType":"VariableDeclaration","scope":3534,"src":"40560:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3493,"name":"address","nodeType":"ElementaryTypeName","src":"40560:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3497,"mutability":"mutable","name":"expiryInfo","nameLocation":"40609:10:3","nodeType":"VariableDeclaration","scope":3534,"src":"40575:44:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry"},"typeName":{"id":3496,"nodeType":"UserDefinedTypeName","pathNode":{"id":3495,"name":"IHederaTokenService.Expiry","nameLocations":["40575:19:3","40595:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"40575:26:3"},"referencedDeclaration":3768,"src":"40575:26:3","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_storage_ptr","typeString":"struct IHederaTokenService.Expiry"}},"visibility":"internal"}],"src":"40559:61:3"},"returnParameters":{"id":3501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3500,"mutability":"mutable","name":"responseCode","nameLocation":"40643:12:3","nodeType":"VariableDeclaration","scope":3534,"src":"40639:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3499,"name":"int","nodeType":"ElementaryTypeName","src":"40639:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"40638:18:3"},"scope":3726,"src":"40529:406:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3576,"nodeType":"Block","src":"41306:272:3","statements":[{"assignments":[3546,3548],"declarations":[{"constant":false,"id":3546,"mutability":"mutable","name":"success","nameLocation":"41322:7:3","nodeType":"VariableDeclaration","scope":3576,"src":"41317:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3545,"name":"bool","nodeType":"ElementaryTypeName","src":"41317:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3548,"mutability":"mutable","name":"result","nameLocation":"41344:6:3","nodeType":"VariableDeclaration","scope":3576,"src":"41331:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3547,"name":"bytes","nodeType":"ElementaryTypeName","src":"41331:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3560,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3553,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"41413:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41433:15:3","memberName":"updateTokenInfo","nodeType":"MemberAccess","referencedDeclaration":4463,"src":"41413:35:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_struct$_HederaToken_$3807_memory_ptr_$returns$_t_int64_$","typeString":"function IHederaTokenService.updateTokenInfo(address,struct IHederaTokenService.HederaToken memory) returns (int64)"}},"id":3555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41449:8:3","memberName":"selector","nodeType":"MemberAccess","src":"41413:44:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3556,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3537,"src":"41459:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3557,"name":"tokenInfo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3540,"src":"41466:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken memory"}],"expression":{"id":3551,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41390:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41394:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"41390:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41390:86:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3549,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"41354:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"41372:4:3","memberName":"call","nodeType":"MemberAccess","src":"41354:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41354:123:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"41316:161:3"},{"expression":{"id":3574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3561,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3543,"src":"41488:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"id":3562,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"41487:14:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3563,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3546,"src":"41504:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":3571,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"41544:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41564:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"41544:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":3573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"41504:67:3","trueExpression":{"arguments":[{"id":3566,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3548,"src":"41525:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"41534:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3567,"name":"int32","nodeType":"ElementaryTypeName","src":"41534:5:3","typeDescriptions":{}}}],"id":3569,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"41533:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":3564,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41514:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41518:6:3","memberName":"decode","nodeType":"MemberAccess","src":"41514:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41514:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"41487:84:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":3575,"nodeType":"ExpressionStatement","src":"41487:84:3"}]},"documentation":{"id":3535,"nodeType":"StructuredDocumentation","src":"40941:234:3","text":"Operation to update token info\n @param token The token address\n @param tokenInfo The hedera token info to update token with\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":3577,"implemented":true,"kind":"function","modifiers":[],"name":"updateTokenInfo","nameLocation":"41189:15:3","nodeType":"FunctionDefinition","parameters":{"id":3541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3537,"mutability":"mutable","name":"token","nameLocation":"41213:5:3","nodeType":"VariableDeclaration","scope":3577,"src":"41205:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3536,"name":"address","nodeType":"ElementaryTypeName","src":"41205:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3540,"mutability":"mutable","name":"tokenInfo","nameLocation":"41259:9:3","nodeType":"VariableDeclaration","scope":3577,"src":"41220:48:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":3539,"nodeType":"UserDefinedTypeName","pathNode":{"id":3538,"name":"IHederaTokenService.HederaToken","nameLocations":["41220:19:3","41240:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"41220:31:3"},"referencedDeclaration":3807,"src":"41220:31:3","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"}],"src":"41204:65:3"},"returnParameters":{"id":3544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3543,"mutability":"mutable","name":"responseCode","nameLocation":"41292:12:3","nodeType":"VariableDeclaration","scope":3577,"src":"41288:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3542,"name":"int","nodeType":"ElementaryTypeName","src":"41288:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"41287:18:3"},"scope":3726,"src":"41180:398:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3628,"nodeType":"Block","src":"42103:379:3","statements":[{"assignments":[3590,3592],"declarations":[{"constant":false,"id":3590,"mutability":"mutable","name":"success","nameLocation":"42119:7:3","nodeType":"VariableDeclaration","scope":3628,"src":"42114:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3589,"name":"bool","nodeType":"ElementaryTypeName","src":"42114:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3592,"mutability":"mutable","name":"result","nameLocation":"42141:6:3","nodeType":"VariableDeclaration","scope":3628,"src":"42128:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3591,"name":"bytes","nodeType":"ElementaryTypeName","src":"42128:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3604,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3597,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"42210:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3598,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42230:16:3","memberName":"redirectForToken","nodeType":"MemberAccess","referencedDeclaration":4518,"src":"42210:36:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_int64_$_t_bytes_memory_ptr_$","typeString":"function IHederaTokenService.redirectForToken(address,bytes memory) returns (int64,bytes memory)"}},"id":3599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42247:8:3","memberName":"selector","nodeType":"MemberAccess","src":"42210:45:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3600,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3580,"src":"42257:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3601,"name":"encodedFunctionSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3582,"src":"42264:23:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3595,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42187:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3596,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42191:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"42187:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42187:101:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3593,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"42151:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42169:4:3","memberName":"call","nodeType":"MemberAccess","src":"42151:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42151:147:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"42113:185:3"},{"eventCall":{"arguments":[{"id":3606,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3590,"src":"42332:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":3607,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3592,"src":"42341:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":3605,"name":"CallResponseEvent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1269,"src":"42314:17:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bool_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bool,bytes memory)"}},"id":3608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42314:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3609,"nodeType":"EmitStatement","src":"42309:39:3"},{"expression":{"id":3626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":3610,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3585,"src":"42359:12:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":3611,"name":"response","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3587,"src":"42373:8:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":3612,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"42358:24:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int256_$_t_bytes_memory_ptr_$","typeString":"tuple(int256,bytes memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3613,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3590,"src":"42385:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"components":[{"expression":{"id":3618,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"42436:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42456:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"42436:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"arguments":[{"hexValue":"","id":3622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42471:2:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":3621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42465:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":3620,"name":"bytes","nodeType":"ElementaryTypeName","src":"42465:5:3","typeDescriptions":{}}},"id":3623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42465:9:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":3624,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"42435:40:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bytes_memory_ptr_$","typeString":"tuple(int32,bytes memory)"}},"id":3625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42385:90:3","trueExpression":{"components":[{"expression":{"id":3614,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"42396:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42416:7:3","memberName":"SUCCESS","nodeType":"MemberAccess","referencedDeclaration":427,"src":"42396:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"id":3616,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3592,"src":"42425:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":3617,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"42395:37:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bytes_memory_ptr_$","typeString":"tuple(int32,bytes memory)"}},"typeDescriptions":{"typeIdentifier":"t_tuple$_t_int32_$_t_bytes_memory_ptr_$","typeString":"tuple(int32,bytes memory)"}},"src":"42358:117:3","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3627,"nodeType":"ExpressionStatement","src":"42358:117:3"}]},"documentation":{"id":3578,"nodeType":"StructuredDocumentation","src":"41584:376:3","text":"Redirect for token\n @param token The token address\n @param encodedFunctionSelector The function selector from the ERC20 interface + the bytes input for the function called\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return response The result of the call that had been encoded and sent for execution."},"functionSelector":"618dc65e","id":3629,"implemented":true,"kind":"function","modifiers":[],"name":"redirectForToken","nameLocation":"41974:16:3","nodeType":"FunctionDefinition","parameters":{"id":3583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3580,"mutability":"mutable","name":"token","nameLocation":"41999:5:3","nodeType":"VariableDeclaration","scope":3629,"src":"41991:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3579,"name":"address","nodeType":"ElementaryTypeName","src":"41991:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3582,"mutability":"mutable","name":"encodedFunctionSelector","nameLocation":"42019:23:3","nodeType":"VariableDeclaration","scope":3629,"src":"42006:36:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3581,"name":"bytes","nodeType":"ElementaryTypeName","src":"42006:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"41990:53:3"},"returnParameters":{"id":3588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3585,"mutability":"mutable","name":"responseCode","nameLocation":"42066:12:3","nodeType":"VariableDeclaration","scope":3629,"src":"42062:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":3584,"name":"int","nodeType":"ElementaryTypeName","src":"42062:3:3","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":3587,"mutability":"mutable","name":"response","nameLocation":"42093:8:3","nodeType":"VariableDeclaration","scope":3629,"src":"42080:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3586,"name":"bytes","nodeType":"ElementaryTypeName","src":"42080:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"42061:41:3"},"scope":3726,"src":"41965:517:3","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":3676,"nodeType":"Block","src":"42993:300:3","statements":[{"assignments":[3646,3648],"declarations":[{"constant":false,"id":3646,"mutability":"mutable","name":"success","nameLocation":"43009:7:3","nodeType":"VariableDeclaration","scope":3676,"src":"43004:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3645,"name":"bool","nodeType":"ElementaryTypeName","src":"43004:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3648,"mutability":"mutable","name":"result","nameLocation":"43031:6:3","nodeType":"VariableDeclaration","scope":3676,"src":"43018:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3647,"name":"bytes","nodeType":"ElementaryTypeName","src":"43018:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3661,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3653,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"43100:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3654,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43120:29:3","memberName":"updateFungibleTokenCustomFees","nodeType":"MemberAccess","referencedDeclaration":4534,"src":"43100:49:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr_$returns$_t_int64_$","typeString":"function IHederaTokenService.updateFungibleTokenCustomFees(address,struct IHederaTokenService.FixedFee memory[] memory,struct IHederaTokenService.FractionalFee memory[] memory) returns (int64)"}},"id":3655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43150:8:3","memberName":"selector","nodeType":"MemberAccess","src":"43100:58:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3656,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3632,"src":"43160:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3657,"name":"fixedFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3636,"src":"43167:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee memory[] memory"}},{"id":3658,"name":"fractionalFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3640,"src":"43178:14:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee memory[] memory"},{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee memory[] memory"}],"expression":{"id":3651,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43077:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43081:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"43077:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43077:116:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3649,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"43041:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43059:4:3","memberName":"call","nodeType":"MemberAccess","src":"43041:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43041:153:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"43003:191:3"},{"expression":{"id":3674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3662,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3643,"src":"43204:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3663,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3646,"src":"43219:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":3671,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"43259:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43279:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"43259:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":3673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"43219:67:3","trueExpression":{"arguments":[{"id":3666,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3648,"src":"43240:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"43249:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3667,"name":"int32","nodeType":"ElementaryTypeName","src":"43249:5:3","typeDescriptions":{}}}],"id":3669,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"43248:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":3664,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43229:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43233:6:3","memberName":"decode","nodeType":"MemberAccess","src":"43229:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43229:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"43204:82:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":3675,"nodeType":"ExpressionStatement","src":"43204:82:3"}]},"documentation":{"id":3630,"nodeType":"StructuredDocumentation","src":"42488:299:3","text":"Update the custom fees for a fungible token\n @param token The token address\n @param fixedFees Set of fixed fees for `token`\n @param fractionalFees Set of fractional fees for `token`\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":3677,"implemented":true,"kind":"function","modifiers":[],"name":"updateFungibleTokenCustomFees","nameLocation":"42801:29:3","nodeType":"FunctionDefinition","parameters":{"id":3641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3632,"mutability":"mutable","name":"token","nameLocation":"42839:5:3","nodeType":"VariableDeclaration","scope":3677,"src":"42831:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3631,"name":"address","nodeType":"ElementaryTypeName","src":"42831:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3636,"mutability":"mutable","name":"fixedFees","nameLocation":"42885:9:3","nodeType":"VariableDeclaration","scope":3677,"src":"42847:47:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee[]"},"typeName":{"baseType":{"id":3634,"nodeType":"UserDefinedTypeName","pathNode":{"id":3633,"name":"IHederaTokenService.FixedFee","nameLocations":["42847:19:3","42867:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3881,"src":"42847:28:3"},"referencedDeclaration":3881,"src":"42847:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_FixedFee_$3881_storage_ptr","typeString":"struct IHederaTokenService.FixedFee"}},"id":3635,"nodeType":"ArrayTypeName","src":"42847:30:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"}},"visibility":"internal"},{"constant":false,"id":3640,"mutability":"mutable","name":"fractionalFees","nameLocation":"42939:14:3","nodeType":"VariableDeclaration","scope":3677,"src":"42896:57:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"},"typeName":{"baseType":{"id":3638,"nodeType":"UserDefinedTypeName","pathNode":{"id":3637,"name":"IHederaTokenService.FractionalFee","nameLocations":["42896:19:3","42916:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":3894,"src":"42896:33:3"},"referencedDeclaration":3894,"src":"42896:33:3","typeDescriptions":{"typeIdentifier":"t_struct$_FractionalFee_$3894_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee"}},"id":3639,"nodeType":"ArrayTypeName","src":"42896:35:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"}},"visibility":"internal"}],"src":"42830:124:3"},"returnParameters":{"id":3644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3643,"mutability":"mutable","name":"responseCode","nameLocation":"42979:12:3","nodeType":"VariableDeclaration","scope":3677,"src":"42973:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3642,"name":"int64","nodeType":"ElementaryTypeName","src":"42973:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"42972:20:3"},"scope":3726,"src":"42792:501:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":3724,"nodeType":"Block","src":"43798:300:3","statements":[{"assignments":[3694,3696],"declarations":[{"constant":false,"id":3694,"mutability":"mutable","name":"success","nameLocation":"43814:7:3","nodeType":"VariableDeclaration","scope":3724,"src":"43809:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3693,"name":"bool","nodeType":"ElementaryTypeName","src":"43809:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3696,"mutability":"mutable","name":"result","nameLocation":"43836:6:3","nodeType":"VariableDeclaration","scope":3724,"src":"43823:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":3695,"name":"bytes","nodeType":"ElementaryTypeName","src":"43823:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":3709,"initialValue":{"arguments":[{"arguments":[{"expression":{"expression":{"id":3701,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"43905:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":3702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43925:32:3","memberName":"updateNonFungibleTokenCustomFees","nodeType":"MemberAccess","referencedDeclaration":4550,"src":"43905:52:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr_$returns$_t_int64_$","typeString":"function IHederaTokenService.updateNonFungibleTokenCustomFees(address,struct IHederaTokenService.FixedFee memory[] memory,struct IHederaTokenService.RoyaltyFee memory[] memory) returns (int64)"}},"id":3703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43958:8:3","memberName":"selector","nodeType":"MemberAccess","src":"43905:61:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":3704,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3680,"src":"43968:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3705,"name":"fixedFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3684,"src":"43975:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee memory[] memory"}},{"id":3706,"name":"royaltyFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3688,"src":"43986:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee memory[] memory"},{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee memory[] memory"}],"expression":{"id":3699,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43882:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43886:18:3","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"43882:22:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":3707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43882:116:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":3697,"name":"precompileAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"43846:17:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43864:4:3","memberName":"call","nodeType":"MemberAccess","src":"43846:22:3","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":3708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43846:153:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"43808:191:3"},{"expression":{"id":3722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3710,"name":"responseCode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3691,"src":"44009:12:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"id":3711,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3694,"src":"44024:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":3719,"name":"HederaResponseCodes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1220,"src":"44064:19:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_HederaResponseCodes_$1220_$","typeString":"type(library HederaResponseCodes)"}},"id":3720,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44084:7:3","memberName":"UNKNOWN","nodeType":"MemberAccess","referencedDeclaration":424,"src":"44064:27:3","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":3721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"44024:67:3","trueExpression":{"arguments":[{"id":3714,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3696,"src":"44045:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":3716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44054:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":3715,"name":"int32","nodeType":"ElementaryTypeName","src":"44054:5:3","typeDescriptions":{}}}],"id":3717,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"44053:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"}],"expression":{"id":3712,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44034:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":3713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44038:6:3","memberName":"decode","nodeType":"MemberAccess","src":"44034:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":3718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44034:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"44009:82:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":3723,"nodeType":"ExpressionStatement","src":"44009:82:3"}]},"documentation":{"id":3678,"nodeType":"StructuredDocumentation","src":"43299:297:3","text":"Update the custom fees for a non-fungible token\n @param token The token address\n @param fixedFees Set of fixed fees for `token`\n @param royaltyFees Set of royalty fees for `token`\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"id":3725,"implemented":true,"kind":"function","modifiers":[],"name":"updateNonFungibleTokenCustomFees","nameLocation":"43610:32:3","nodeType":"FunctionDefinition","parameters":{"id":3689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3680,"mutability":"mutable","name":"token","nameLocation":"43651:5:3","nodeType":"VariableDeclaration","scope":3725,"src":"43643:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3679,"name":"address","nodeType":"ElementaryTypeName","src":"43643:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3684,"mutability":"mutable","name":"fixedFees","nameLocation":"43696:9:3","nodeType":"VariableDeclaration","scope":3725,"src":"43658:47:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee[]"},"typeName":{"baseType":{"id":3682,"nodeType":"UserDefinedTypeName","pathNode":{"id":3681,"name":"IHederaTokenService.FixedFee","nameLocations":["43658:19:3","43678:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":3881,"src":"43658:28:3"},"referencedDeclaration":3881,"src":"43658:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_FixedFee_$3881_storage_ptr","typeString":"struct IHederaTokenService.FixedFee"}},"id":3683,"nodeType":"ArrayTypeName","src":"43658:30:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"}},"visibility":"internal"},{"constant":false,"id":3688,"mutability":"mutable","name":"royaltyFees","nameLocation":"43747:11:3","nodeType":"VariableDeclaration","scope":3725,"src":"43707:51:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"},"typeName":{"baseType":{"id":3686,"nodeType":"UserDefinedTypeName","pathNode":{"id":3685,"name":"IHederaTokenService.RoyaltyFee","nameLocations":["43707:19:3","43727:10:3"],"nodeType":"IdentifierPath","referencedDeclaration":3907,"src":"43707:30:3"},"referencedDeclaration":3907,"src":"43707:30:3","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyFee_$3907_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee"}},"id":3687,"nodeType":"ArrayTypeName","src":"43707:32:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"}},"visibility":"internal"}],"src":"43642:117:3"},"returnParameters":{"id":3692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3691,"mutability":"mutable","name":"responseCode","nameLocation":"43784:12:3","nodeType":"VariableDeclaration","scope":3725,"src":"43778:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3690,"name":"int64","nodeType":"ElementaryTypeName","src":"43778:5:3","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"43777:20:3"},"scope":3726,"src":"43601:497:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"scope":3727,"src":"179:43921:3","usedErrors":[]}],"src":"39:44061:3"},"id":3},"contracts/utils/IHederaTokenService.sol":{"ast":{"absolutePath":"contracts/utils/IHederaTokenService.sol","exportedSymbols":{"IHederaTokenService":[4596]},"id":4597,"license":"Apache-2.0","nodeType":"SourceUnit","nodes":[{"id":3728,"literals":["solidity",">=","0.4",".9","<","0.9",".0"],"nodeType":"PragmaDirective","src":"39:31:4"},{"id":3729,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"71:33:4"},{"abstract":false,"baseContracts":[],"canonicalName":"IHederaTokenService","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"id":4596,"linearizedBaseContracts":[4596],"name":"IHederaTokenService","nameLocation":"116:19:4","nodeType":"ContractDefinition","nodes":[{"canonicalName":"IHederaTokenService.AccountAmount","id":3736,"members":[{"constant":false,"id":3731,"mutability":"mutable","name":"accountID","nameLocation":"1269:9:4","nodeType":"VariableDeclaration","scope":3736,"src":"1261:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3730,"name":"address","nodeType":"ElementaryTypeName","src":"1261:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3733,"mutability":"mutable","name":"amount","nameLocation":"1430:6:4","nodeType":"VariableDeclaration","scope":3736,"src":"1424:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3732,"name":"int64","nodeType":"ElementaryTypeName","src":"1424:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3735,"mutability":"mutable","name":"isApproval","nameLocation":"1619:10:4","nodeType":"VariableDeclaration","scope":3736,"src":"1614:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3734,"name":"bool","nodeType":"ElementaryTypeName","src":"1614:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"AccountAmount","nameLocation":"1142:13:4","nodeType":"StructDefinition","scope":4596,"src":"1135:501:4","visibility":"public"},{"canonicalName":"IHederaTokenService.NftTransfer","id":3745,"members":[{"constant":false,"id":3738,"mutability":"mutable","name":"senderAccountID","nameLocation":"2095:15:4","nodeType":"VariableDeclaration","scope":3745,"src":"2087:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3737,"name":"address","nodeType":"ElementaryTypeName","src":"2087:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3740,"mutability":"mutable","name":"receiverAccountID","nameLocation":"2177:17:4","nodeType":"VariableDeclaration","scope":3745,"src":"2169:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3739,"name":"address","nodeType":"ElementaryTypeName","src":"2169:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3742,"mutability":"mutable","name":"serialNumber","nameLocation":"2251:12:4","nodeType":"VariableDeclaration","scope":3745,"src":"2245:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3741,"name":"int64","nodeType":"ElementaryTypeName","src":"2245:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3744,"mutability":"mutable","name":"isApproval","nameLocation":"2446:10:4","nodeType":"VariableDeclaration","scope":3745,"src":"2441:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3743,"name":"bool","nodeType":"ElementaryTypeName","src":"2441:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"NftTransfer","nameLocation":"2019:11:4","nodeType":"StructDefinition","scope":4596,"src":"2012:451:4","visibility":"public"},{"canonicalName":"IHederaTokenService.TokenTransferList","id":3756,"members":[{"constant":false,"id":3747,"mutability":"mutable","name":"token","nameLocation":"2565:5:4","nodeType":"VariableDeclaration","scope":3756,"src":"2557:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3746,"name":"address","nodeType":"ElementaryTypeName","src":"2557:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3751,"mutability":"mutable","name":"transfers","nameLocation":"2739:9:4","nodeType":"VariableDeclaration","scope":3756,"src":"2723:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAmount_$3736_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.AccountAmount[]"},"typeName":{"baseType":{"id":3749,"nodeType":"UserDefinedTypeName","pathNode":{"id":3748,"name":"AccountAmount","nameLocations":["2723:13:4"],"nodeType":"IdentifierPath","referencedDeclaration":3736,"src":"2723:13:4"},"referencedDeclaration":3736,"src":"2723:13:4","typeDescriptions":{"typeIdentifier":"t_struct$_AccountAmount_$3736_storage_ptr","typeString":"struct IHederaTokenService.AccountAmount"}},"id":3750,"nodeType":"ArrayTypeName","src":"2723:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAmount_$3736_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.AccountAmount[]"}},"visibility":"internal"},{"constant":false,"id":3755,"mutability":"mutable","name":"nftTransfers","nameLocation":"2964:12:4","nodeType":"VariableDeclaration","scope":3756,"src":"2950:26:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_NftTransfer_$3745_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.NftTransfer[]"},"typeName":{"baseType":{"id":3753,"nodeType":"UserDefinedTypeName","pathNode":{"id":3752,"name":"NftTransfer","nameLocations":["2950:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":3745,"src":"2950:11:4"},"referencedDeclaration":3745,"src":"2950:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_NftTransfer_$3745_storage_ptr","typeString":"struct IHederaTokenService.NftTransfer"}},"id":3754,"nodeType":"ArrayTypeName","src":"2950:13:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_NftTransfer_$3745_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.NftTransfer[]"}},"visibility":"internal"}],"name":"TokenTransferList","nameLocation":"2476:17:4","nodeType":"StructDefinition","scope":4596,"src":"2469:514:4","visibility":"public"},{"canonicalName":"IHederaTokenService.TransferList","id":3761,"members":[{"constant":false,"id":3760,"mutability":"mutable","name":"transfers","nameLocation":"3188:9:4","nodeType":"VariableDeclaration","scope":3761,"src":"3172:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAmount_$3736_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.AccountAmount[]"},"typeName":{"baseType":{"id":3758,"nodeType":"UserDefinedTypeName","pathNode":{"id":3757,"name":"AccountAmount","nameLocations":["3172:13:4"],"nodeType":"IdentifierPath","referencedDeclaration":3736,"src":"3172:13:4"},"referencedDeclaration":3736,"src":"3172:13:4","typeDescriptions":{"typeIdentifier":"t_struct$_AccountAmount_$3736_storage_ptr","typeString":"struct IHederaTokenService.AccountAmount"}},"id":3759,"nodeType":"ArrayTypeName","src":"3172:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAmount_$3736_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.AccountAmount[]"}},"visibility":"internal"}],"name":"TransferList","nameLocation":"2996:12:4","nodeType":"StructDefinition","scope":4596,"src":"2989:215:4","visibility":"public"},{"canonicalName":"IHederaTokenService.Expiry","id":3768,"members":[{"constant":false,"id":3763,"mutability":"mutable","name":"second","nameLocation":"3521:6:4","nodeType":"VariableDeclaration","scope":3768,"src":"3515:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3762,"name":"int64","nodeType":"ElementaryTypeName","src":"3515:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3765,"mutability":"mutable","name":"autoRenewAccount","nameLocation":"3715:16:4","nodeType":"VariableDeclaration","scope":3768,"src":"3707:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3764,"name":"address","nodeType":"ElementaryTypeName","src":"3707:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3767,"mutability":"mutable","name":"autoRenewPeriod","nameLocation":"3849:15:4","nodeType":"VariableDeclaration","scope":3768,"src":"3843:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3766,"name":"int64","nodeType":"ElementaryTypeName","src":"3843:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"name":"Expiry","nameLocation":"3305:6:4","nodeType":"StructDefinition","scope":4596,"src":"3298:573:4","visibility":"public"},{"canonicalName":"IHederaTokenService.KeyValue","id":3779,"members":[{"constant":false,"id":3770,"mutability":"mutable","name":"inheritAccountKey","nameLocation":"4871:17:4","nodeType":"VariableDeclaration","scope":3779,"src":"4866:22:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3769,"name":"bool","nodeType":"ElementaryTypeName","src":"4866:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3772,"mutability":"mutable","name":"contractId","nameLocation":"4992:10:4","nodeType":"VariableDeclaration","scope":3779,"src":"4984:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3771,"name":"address","nodeType":"ElementaryTypeName","src":"4984:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3774,"mutability":"mutable","name":"ed25519","nameLocation":"5055:7:4","nodeType":"VariableDeclaration","scope":3779,"src":"5049:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3773,"name":"bytes","nodeType":"ElementaryTypeName","src":"5049:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3776,"mutability":"mutable","name":"ECDSA_secp256k1","nameLocation":"5135:15:4","nodeType":"VariableDeclaration","scope":3779,"src":"5129:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3775,"name":"bytes","nodeType":"ElementaryTypeName","src":"5129:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3778,"mutability":"mutable","name":"delegatableContractId","nameLocation":"5705:21:4","nodeType":"VariableDeclaration","scope":3779,"src":"5697:29:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3777,"name":"address","nodeType":"ElementaryTypeName","src":"5697:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"KeyValue","nameLocation":"4746:8:4","nodeType":"StructDefinition","scope":4596,"src":"4739:994:4","visibility":"public"},{"canonicalName":"IHederaTokenService.TokenKey","id":3785,"members":[{"constant":false,"id":3781,"mutability":"mutable","name":"keyType","nameLocation":"6241:7:4","nodeType":"VariableDeclaration","scope":3785,"src":"6236:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3780,"name":"uint","nodeType":"ElementaryTypeName","src":"6236:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3784,"mutability":"mutable","name":"key","nameLocation":"6322:3:4","nodeType":"VariableDeclaration","scope":3785,"src":"6313:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_storage_ptr","typeString":"struct IHederaTokenService.KeyValue"},"typeName":{"id":3783,"nodeType":"UserDefinedTypeName","pathNode":{"id":3782,"name":"KeyValue","nameLocations":["6313:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3779,"src":"6313:8:4"},"referencedDeclaration":3779,"src":"6313:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_storage_ptr","typeString":"struct IHederaTokenService.KeyValue"}},"visibility":"internal"}],"name":"TokenKey","nameLocation":"5834:8:4","nodeType":"StructDefinition","scope":4596,"src":"5827:505:4","visibility":"public"},{"canonicalName":"IHederaTokenService.HederaToken","id":3807,"members":[{"constant":false,"id":3787,"mutability":"mutable","name":"name","nameLocation":"6759:4:4","nodeType":"VariableDeclaration","scope":3807,"src":"6752:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3786,"name":"string","nodeType":"ElementaryTypeName","src":"6752:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3789,"mutability":"mutable","name":"symbol","nameLocation":"6970:6:4","nodeType":"VariableDeclaration","scope":3807,"src":"6963:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3788,"name":"string","nodeType":"ElementaryTypeName","src":"6963:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3791,"mutability":"mutable","name":"treasury","nameLocation":"7237:8:4","nodeType":"VariableDeclaration","scope":3807,"src":"7229:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3790,"name":"address","nodeType":"ElementaryTypeName","src":"7229:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3793,"mutability":"mutable","name":"memo","nameLocation":"7340:4:4","nodeType":"VariableDeclaration","scope":3807,"src":"7333:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3792,"name":"string","nodeType":"ElementaryTypeName","src":"7333:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":3795,"mutability":"mutable","name":"tokenSupplyType","nameLocation":"7444:15:4","nodeType":"VariableDeclaration","scope":3807,"src":"7439:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3794,"name":"bool","nodeType":"ElementaryTypeName","src":"7439:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3797,"mutability":"mutable","name":"maxSupply","nameLocation":"7788:9:4","nodeType":"VariableDeclaration","scope":3807,"src":"7782:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3796,"name":"int64","nodeType":"ElementaryTypeName","src":"7782:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3799,"mutability":"mutable","name":"freezeDefault","nameLocation":"7994:13:4","nodeType":"VariableDeclaration","scope":3807,"src":"7989:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3798,"name":"bool","nodeType":"ElementaryTypeName","src":"7989:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3803,"mutability":"mutable","name":"tokenKeys","nameLocation":"8073:9:4","nodeType":"VariableDeclaration","scope":3807,"src":"8062:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"},"typeName":{"baseType":{"id":3801,"nodeType":"UserDefinedTypeName","pathNode":{"id":3800,"name":"TokenKey","nameLocations":["8062:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"8062:8:4"},"referencedDeclaration":3785,"src":"8062:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":3802,"nodeType":"ArrayTypeName","src":"8062:10:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}},"visibility":"internal"},{"constant":false,"id":3806,"mutability":"mutable","name":"expiry","nameLocation":"8191:6:4","nodeType":"VariableDeclaration","scope":3807,"src":"8184:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_storage_ptr","typeString":"struct IHederaTokenService.Expiry"},"typeName":{"id":3805,"nodeType":"UserDefinedTypeName","pathNode":{"id":3804,"name":"Expiry","nameLocations":["8184:6:4"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"8184:6:4"},"referencedDeclaration":3768,"src":"8184:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_storage_ptr","typeString":"struct IHederaTokenService.Expiry"}},"visibility":"internal"}],"name":"HederaToken","nameLocation":"6538:11:4","nodeType":"StructDefinition","scope":4596,"src":"6531:1673:4","visibility":"public"},{"canonicalName":"IHederaTokenService.TokenInfo","id":3842,"members":[{"constant":false,"id":3811,"mutability":"mutable","name":"token","nameLocation":"8385:5:4","nodeType":"VariableDeclaration","scope":3842,"src":"8373:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":3810,"nodeType":"UserDefinedTypeName","pathNode":{"id":3809,"name":"HederaToken","nameLocations":["8373:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"8373:11:4"},"referencedDeclaration":3807,"src":"8373:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"},{"constant":false,"id":3814,"mutability":"mutable","name":"totalSupply","nameLocation":"8490:11:4","nodeType":"VariableDeclaration","scope":3842,"src":"8484:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3813,"name":"int64","nodeType":"ElementaryTypeName","src":"8484:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3817,"mutability":"mutable","name":"deleted","nameLocation":"8575:7:4","nodeType":"VariableDeclaration","scope":3842,"src":"8570:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3816,"name":"bool","nodeType":"ElementaryTypeName","src":"8570:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3820,"mutability":"mutable","name":"defaultKycStatus","nameLocation":"8704:16:4","nodeType":"VariableDeclaration","scope":3842,"src":"8699:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3819,"name":"bool","nodeType":"ElementaryTypeName","src":"8699:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3823,"mutability":"mutable","name":"pauseStatus","nameLocation":"8803:11:4","nodeType":"VariableDeclaration","scope":3842,"src":"8798:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3822,"name":"bool","nodeType":"ElementaryTypeName","src":"8798:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3828,"mutability":"mutable","name":"fixedFees","nameLocation":"8901:9:4","nodeType":"VariableDeclaration","scope":3842,"src":"8890:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"},"typeName":{"baseType":{"id":3826,"nodeType":"UserDefinedTypeName","pathNode":{"id":3825,"name":"FixedFee","nameLocations":["8890:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3881,"src":"8890:8:4"},"referencedDeclaration":3881,"src":"8890:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_FixedFee_$3881_storage_ptr","typeString":"struct IHederaTokenService.FixedFee"}},"id":3827,"nodeType":"ArrayTypeName","src":"8890:10:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"}},"visibility":"internal"},{"constant":false,"id":3833,"mutability":"mutable","name":"fractionalFees","nameLocation":"9007:14:4","nodeType":"VariableDeclaration","scope":3842,"src":"8991:30:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"},"typeName":{"baseType":{"id":3831,"nodeType":"UserDefinedTypeName","pathNode":{"id":3830,"name":"FractionalFee","nameLocations":["8991:13:4"],"nodeType":"IdentifierPath","referencedDeclaration":3894,"src":"8991:13:4"},"referencedDeclaration":3894,"src":"8991:13:4","typeDescriptions":{"typeIdentifier":"t_struct$_FractionalFee_$3894_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee"}},"id":3832,"nodeType":"ArrayTypeName","src":"8991:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"}},"visibility":"internal"},{"constant":false,"id":3838,"mutability":"mutable","name":"royaltyFees","nameLocation":"9112:11:4","nodeType":"VariableDeclaration","scope":3842,"src":"9099:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"},"typeName":{"baseType":{"id":3836,"nodeType":"UserDefinedTypeName","pathNode":{"id":3835,"name":"RoyaltyFee","nameLocations":["9099:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3907,"src":"9099:10:4"},"referencedDeclaration":3907,"src":"9099:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyFee_$3907_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee"}},"id":3837,"nodeType":"ArrayTypeName","src":"9099:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"}},"visibility":"internal"},{"constant":false,"id":3841,"mutability":"mutable","name":"ledgerId","nameLocation":"9182:8:4","nodeType":"VariableDeclaration","scope":3842,"src":"9175:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":3840,"name":"string","nodeType":"ElementaryTypeName","src":"9175:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"TokenInfo","nameLocation":"8306:9:4","nodeType":"StructDefinition","scope":4596,"src":"8299:898:4","visibility":"public"},{"canonicalName":"IHederaTokenService.FungibleTokenInfo","id":3850,"members":[{"constant":false,"id":3846,"mutability":"mutable","name":"tokenInfo","nameLocation":"9347:9:4","nodeType":"VariableDeclaration","scope":3850,"src":"9337:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$3842_storage_ptr","typeString":"struct IHederaTokenService.TokenInfo"},"typeName":{"id":3845,"nodeType":"UserDefinedTypeName","pathNode":{"id":3844,"name":"TokenInfo","nameLocations":["9337:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":3842,"src":"9337:9:4"},"referencedDeclaration":3842,"src":"9337:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$3842_storage_ptr","typeString":"struct IHederaTokenService.TokenInfo"}},"visibility":"internal"},{"constant":false,"id":3849,"mutability":"mutable","name":"decimals","nameLocation":"9438:8:4","nodeType":"VariableDeclaration","scope":3850,"src":"9432:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":3848,"name":"int32","nodeType":"ElementaryTypeName","src":"9432:5:4","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"name":"FungibleTokenInfo","nameLocation":"9268:17:4","nodeType":"StructDefinition","scope":4596,"src":"9261:192:4","visibility":"public"},{"canonicalName":"IHederaTokenService.NonFungibleTokenInfo","id":3870,"members":[{"constant":false,"id":3854,"mutability":"mutable","name":"tokenInfo","nameLocation":"9610:9:4","nodeType":"VariableDeclaration","scope":3870,"src":"9600:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$3842_storage_ptr","typeString":"struct IHederaTokenService.TokenInfo"},"typeName":{"id":3853,"nodeType":"UserDefinedTypeName","pathNode":{"id":3852,"name":"TokenInfo","nameLocations":["9600:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":3842,"src":"9600:9:4"},"referencedDeclaration":3842,"src":"9600:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$3842_storage_ptr","typeString":"struct IHederaTokenService.TokenInfo"}},"visibility":"internal"},{"constant":false,"id":3857,"mutability":"mutable","name":"serialNumber","nameLocation":"9677:12:4","nodeType":"VariableDeclaration","scope":3870,"src":"9671:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3856,"name":"int64","nodeType":"ElementaryTypeName","src":"9671:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3860,"mutability":"mutable","name":"ownerId","nameLocation":"9782:7:4","nodeType":"VariableDeclaration","scope":3870,"src":"9774:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3859,"name":"address","nodeType":"ElementaryTypeName","src":"9774:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3863,"mutability":"mutable","name":"creationTime","nameLocation":"9867:12:4","nodeType":"VariableDeclaration","scope":3870,"src":"9861:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3862,"name":"int64","nodeType":"ElementaryTypeName","src":"9861:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3866,"mutability":"mutable","name":"metadata","nameLocation":"9939:8:4","nodeType":"VariableDeclaration","scope":3870,"src":"9933:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":3865,"name":"bytes","nodeType":"ElementaryTypeName","src":"9933:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":3869,"mutability":"mutable","name":"spenderId","nameLocation":"10070:9:4","nodeType":"VariableDeclaration","scope":3870,"src":"10062:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3868,"name":"address","nodeType":"ElementaryTypeName","src":"10062:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"NonFungibleTokenInfo","nameLocation":"9528:20:4","nodeType":"StructDefinition","scope":4596,"src":"9521:565:4","visibility":"public"},{"canonicalName":"IHederaTokenService.FixedFee","id":3881,"members":[{"constant":false,"id":3872,"mutability":"mutable","name":"amount","nameLocation":"10446:6:4","nodeType":"VariableDeclaration","scope":3881,"src":"10440:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3871,"name":"int64","nodeType":"ElementaryTypeName","src":"10440:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3874,"mutability":"mutable","name":"tokenId","nameLocation":"10551:7:4","nodeType":"VariableDeclaration","scope":3881,"src":"10543:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3873,"name":"address","nodeType":"ElementaryTypeName","src":"10543:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3876,"mutability":"mutable","name":"useHbarsForPayment","nameLocation":"10640:18:4","nodeType":"VariableDeclaration","scope":3881,"src":"10635:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3875,"name":"bool","nodeType":"ElementaryTypeName","src":"10635:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3878,"mutability":"mutable","name":"useCurrentTokenForPayment","nameLocation":"10769:25:4","nodeType":"VariableDeclaration","scope":3881,"src":"10764:30:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3877,"name":"bool","nodeType":"ElementaryTypeName","src":"10764:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3880,"mutability":"mutable","name":"feeCollector","nameLocation":"10905:12:4","nodeType":"VariableDeclaration","scope":3881,"src":"10897:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3879,"name":"address","nodeType":"ElementaryTypeName","src":"10897:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"FixedFee","nameLocation":"10420:8:4","nodeType":"StructDefinition","scope":4596,"src":"10413:511:4","visibility":"public"},{"canonicalName":"IHederaTokenService.FractionalFee","id":3894,"members":[{"constant":false,"id":3883,"mutability":"mutable","name":"numerator","nameLocation":"11376:9:4","nodeType":"VariableDeclaration","scope":3894,"src":"11370:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3882,"name":"int64","nodeType":"ElementaryTypeName","src":"11370:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3885,"mutability":"mutable","name":"denominator","nameLocation":"11516:11:4","nodeType":"VariableDeclaration","scope":3894,"src":"11510:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3884,"name":"int64","nodeType":"ElementaryTypeName","src":"11510:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3887,"mutability":"mutable","name":"minimumAmount","nameLocation":"11584:13:4","nodeType":"VariableDeclaration","scope":3894,"src":"11578:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3886,"name":"int64","nodeType":"ElementaryTypeName","src":"11578:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3889,"mutability":"mutable","name":"maximumAmount","nameLocation":"11680:13:4","nodeType":"VariableDeclaration","scope":3894,"src":"11674:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3888,"name":"int64","nodeType":"ElementaryTypeName","src":"11674:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3891,"mutability":"mutable","name":"netOfTransfers","nameLocation":"11708:14:4","nodeType":"VariableDeclaration","scope":3894,"src":"11703:19:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3890,"name":"bool","nodeType":"ElementaryTypeName","src":"11703:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3893,"mutability":"mutable","name":"feeCollector","nameLocation":"11833:12:4","nodeType":"VariableDeclaration","scope":3894,"src":"11825:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3892,"name":"address","nodeType":"ElementaryTypeName","src":"11825:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"FractionalFee","nameLocation":"11234:13:4","nodeType":"StructDefinition","scope":4596,"src":"11227:625:4","visibility":"public"},{"canonicalName":"IHederaTokenService.RoyaltyFee","id":3907,"members":[{"constant":false,"id":3896,"mutability":"mutable","name":"numerator","nameLocation":"12482:9:4","nodeType":"VariableDeclaration","scope":3907,"src":"12476:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3895,"name":"int64","nodeType":"ElementaryTypeName","src":"12476:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3898,"mutability":"mutable","name":"denominator","nameLocation":"12605:11:4","nodeType":"VariableDeclaration","scope":3907,"src":"12599:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3897,"name":"int64","nodeType":"ElementaryTypeName","src":"12599:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3900,"mutability":"mutable","name":"amount","nameLocation":"12992:6:4","nodeType":"VariableDeclaration","scope":3907,"src":"12986:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3899,"name":"int64","nodeType":"ElementaryTypeName","src":"12986:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3902,"mutability":"mutable","name":"tokenId","nameLocation":"13016:7:4","nodeType":"VariableDeclaration","scope":3907,"src":"13008:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3901,"name":"address","nodeType":"ElementaryTypeName","src":"13008:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3904,"mutability":"mutable","name":"useHbarsForPayment","nameLocation":"13038:18:4","nodeType":"VariableDeclaration","scope":3907,"src":"13033:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3903,"name":"bool","nodeType":"ElementaryTypeName","src":"13033:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":3906,"mutability":"mutable","name":"feeCollector","nameLocation":"13167:12:4","nodeType":"VariableDeclaration","scope":3907,"src":"13159:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3905,"name":"address","nodeType":"ElementaryTypeName","src":"13159:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"RoyaltyFee","nameLocation":"12360:10:4","nodeType":"StructDefinition","scope":4596,"src":"12353:833:4","visibility":"public"},{"canonicalName":"IHederaTokenService.PendingAirdrop","id":3916,"members":[{"constant":false,"id":3909,"mutability":"mutable","name":"sender","nameLocation":"13614:6:4","nodeType":"VariableDeclaration","scope":3916,"src":"13606:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3908,"name":"address","nodeType":"ElementaryTypeName","src":"13606:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3911,"mutability":"mutable","name":"receiver","nameLocation":"13638:8:4","nodeType":"VariableDeclaration","scope":3916,"src":"13630:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3910,"name":"address","nodeType":"ElementaryTypeName","src":"13630:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3913,"mutability":"mutable","name":"token","nameLocation":"13664:5:4","nodeType":"VariableDeclaration","scope":3916,"src":"13656:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3912,"name":"address","nodeType":"ElementaryTypeName","src":"13656:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3915,"mutability":"mutable","name":"serial","nameLocation":"13685:6:4","nodeType":"VariableDeclaration","scope":3916,"src":"13679:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3914,"name":"int64","nodeType":"ElementaryTypeName","src":"13679:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"name":"PendingAirdrop","nameLocation":"13581:14:4","nodeType":"StructDefinition","scope":4596,"src":"13574:124:4","visibility":"public"},{"canonicalName":"IHederaTokenService.NftID","id":3921,"members":[{"constant":false,"id":3918,"mutability":"mutable","name":"nft","nameLocation":"13950:3:4","nodeType":"VariableDeclaration","scope":3921,"src":"13942:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3917,"name":"address","nodeType":"ElementaryTypeName","src":"13942:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3920,"mutability":"mutable","name":"serial","nameLocation":"13969:6:4","nodeType":"VariableDeclaration","scope":3921,"src":"13963:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3919,"name":"int64","nodeType":"ElementaryTypeName","src":"13963:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"name":"NftID","nameLocation":"13926:5:4","nodeType":"StructDefinition","scope":4596,"src":"13919:63:4","visibility":"public"},{"documentation":{"id":3922,"nodeType":"StructuredDocumentation","src":"14074:316:4","text":"Performs transfers among combinations of tokens and hbars\n @param transferList the list of hbar transfers to do\n @param tokenTransfers the list of token transfers to do\n @custom:version 0.3.0 the signature of the previous version was cryptoTransfer(TokenTransferList[] memory tokenTransfers)"},"functionSelector":"0e71804f","id":3934,"implemented":false,"kind":"function","modifiers":[],"name":"cryptoTransfer","nameLocation":"14404:14:4","nodeType":"FunctionDefinition","parameters":{"id":3930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3925,"mutability":"mutable","name":"transferList","nameLocation":"14439:12:4","nodeType":"VariableDeclaration","scope":3934,"src":"14419:32:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TransferList_$3761_memory_ptr","typeString":"struct IHederaTokenService.TransferList"},"typeName":{"id":3924,"nodeType":"UserDefinedTypeName","pathNode":{"id":3923,"name":"TransferList","nameLocations":["14419:12:4"],"nodeType":"IdentifierPath","referencedDeclaration":3761,"src":"14419:12:4"},"referencedDeclaration":3761,"src":"14419:12:4","typeDescriptions":{"typeIdentifier":"t_struct$_TransferList_$3761_storage_ptr","typeString":"struct IHederaTokenService.TransferList"}},"visibility":"internal"},{"constant":false,"id":3929,"mutability":"mutable","name":"tokenTransfers","nameLocation":"14480:14:4","nodeType":"VariableDeclaration","scope":3934,"src":"14453:41:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenTransferList_$3756_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenTransferList[]"},"typeName":{"baseType":{"id":3927,"nodeType":"UserDefinedTypeName","pathNode":{"id":3926,"name":"TokenTransferList","nameLocations":["14453:17:4"],"nodeType":"IdentifierPath","referencedDeclaration":3756,"src":"14453:17:4"},"referencedDeclaration":3756,"src":"14453:17:4","typeDescriptions":{"typeIdentifier":"t_struct$_TokenTransferList_$3756_storage_ptr","typeString":"struct IHederaTokenService.TokenTransferList"}},"id":3928,"nodeType":"ArrayTypeName","src":"14453:19:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenTransferList_$3756_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenTransferList[]"}},"visibility":"internal"}],"src":"14418:77:4"},"returnParameters":{"id":3933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3932,"mutability":"mutable","name":"responseCode","nameLocation":"14528:12:4","nodeType":"VariableDeclaration","scope":3934,"src":"14522:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3931,"name":"int64","nodeType":"ElementaryTypeName","src":"14522:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"14521:20:4"},"scope":4596,"src":"14395:147:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":3935,"nodeType":"StructuredDocumentation","src":"14548:984:4","text":"Mints an amount of the token to the defined treasury account\n @param token The token for which to mint tokens. If token does not exist, transaction results in\n INVALID_TOKEN_ID\n @param amount Applicable to tokens of type FUNGIBLE_COMMON. The amount to mint to the Treasury Account.\n Amount must be a positive non-zero number represented in the lowest denomination of the\n token. The new supply must be lower than 2^63.\n @param metadata Applicable to tokens of type NON_FUNGIBLE_UNIQUE. A list of metadata that are being created.\n Maximum allowed size of each metadata is 100 bytes\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return newTotalSupply The new supply of tokens. For NFTs it is the total count of NFTs\n @return serialNumbers If the token is an NFT the newly generate serial numbers, othersise empty."},"functionSelector":"e0f4059a","id":3952,"implemented":false,"kind":"function","modifiers":[],"name":"mintToken","nameLocation":"15546:9:4","nodeType":"FunctionDefinition","parameters":{"id":3943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3937,"mutability":"mutable","name":"token","nameLocation":"15573:5:4","nodeType":"VariableDeclaration","scope":3952,"src":"15565:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3936,"name":"address","nodeType":"ElementaryTypeName","src":"15565:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3939,"mutability":"mutable","name":"amount","nameLocation":"15594:6:4","nodeType":"VariableDeclaration","scope":3952,"src":"15588:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3938,"name":"int64","nodeType":"ElementaryTypeName","src":"15588:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3942,"mutability":"mutable","name":"metadata","nameLocation":"15625:8:4","nodeType":"VariableDeclaration","scope":3952,"src":"15610:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":3940,"name":"bytes","nodeType":"ElementaryTypeName","src":"15610:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":3941,"nodeType":"ArrayTypeName","src":"15610:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"15555:84:4"},"returnParameters":{"id":3951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3945,"mutability":"mutable","name":"responseCode","nameLocation":"15681:12:4","nodeType":"VariableDeclaration","scope":3952,"src":"15675:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3944,"name":"int64","nodeType":"ElementaryTypeName","src":"15675:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3947,"mutability":"mutable","name":"newTotalSupply","nameLocation":"15709:14:4","nodeType":"VariableDeclaration","scope":3952,"src":"15703:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3946,"name":"int64","nodeType":"ElementaryTypeName","src":"15703:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3950,"mutability":"mutable","name":"serialNumbers","nameLocation":"15748:13:4","nodeType":"VariableDeclaration","scope":3952,"src":"15733:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[]"},"typeName":{"baseType":{"id":3948,"name":"int64","nodeType":"ElementaryTypeName","src":"15733:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":3949,"nodeType":"ArrayTypeName","src":"15733:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}},"visibility":"internal"}],"src":"15665:102:4"},"scope":4596,"src":"15537:231:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":3953,"nodeType":"StructuredDocumentation","src":"15774:834:4","text":"Burns an amount of the token from the defined treasury account\n @param token The token for which to burn tokens. If token does not exist, transaction results in\n INVALID_TOKEN_ID\n @param amount Applicable to tokens of type FUNGIBLE_COMMON. The amount to burn from the Treasury Account.\n Amount must be a positive non-zero number, not bigger than the token balance of the treasury\n account (0; balance], represented in the lowest denomination.\n @param serialNumbers Applicable to tokens of type NON_FUNGIBLE_UNIQUE. The list of serial numbers to be burned.\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return newTotalSupply The new supply of tokens. For NFTs it is the total count of NFTs"},"functionSelector":"d6910d06","id":3967,"implemented":false,"kind":"function","modifiers":[],"name":"burnToken","nameLocation":"16622:9:4","nodeType":"FunctionDefinition","parameters":{"id":3961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3955,"mutability":"mutable","name":"token","nameLocation":"16649:5:4","nodeType":"VariableDeclaration","scope":3967,"src":"16641:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3954,"name":"address","nodeType":"ElementaryTypeName","src":"16641:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3957,"mutability":"mutable","name":"amount","nameLocation":"16670:6:4","nodeType":"VariableDeclaration","scope":3967,"src":"16664:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3956,"name":"int64","nodeType":"ElementaryTypeName","src":"16664:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3960,"mutability":"mutable","name":"serialNumbers","nameLocation":"16701:13:4","nodeType":"VariableDeclaration","scope":3967,"src":"16686:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[]"},"typeName":{"baseType":{"id":3958,"name":"int64","nodeType":"ElementaryTypeName","src":"16686:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":3959,"nodeType":"ArrayTypeName","src":"16686:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}},"visibility":"internal"}],"src":"16631:89:4"},"returnParameters":{"id":3966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3963,"mutability":"mutable","name":"responseCode","nameLocation":"16745:12:4","nodeType":"VariableDeclaration","scope":3967,"src":"16739:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3962,"name":"int64","nodeType":"ElementaryTypeName","src":"16739:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":3965,"mutability":"mutable","name":"newTotalSupply","nameLocation":"16765:14:4","nodeType":"VariableDeclaration","scope":3967,"src":"16759:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3964,"name":"int64","nodeType":"ElementaryTypeName","src":"16759:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"16738:42:4"},"scope":4596,"src":"16613:168:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":3968,"nodeType":"StructuredDocumentation","src":"16787:1515:4","text":"Associates the provided account with the provided tokens. Must be signed by the provided\n Account's key or called from the accounts contract key\n If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID.\n If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED.\n If any of the provided tokens is not found, the transaction will resolve to INVALID_TOKEN_REF.\n If any of the provided tokens has been deleted, the transaction will resolve to TOKEN_WAS_DELETED.\n If an association between the provided account and any of the tokens already exists, the\n transaction will resolve to TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT.\n If the provided account's associations count exceed the constraint of maximum token associations\n per account, the transaction will resolve to TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED.\n On success, associations between the provided account and tokens are made and the account is\n ready to interact with the tokens.\n @param account The account to be associated with the provided tokens\n @param tokens The tokens to be associated with the provided account. In the case of NON_FUNGIBLE_UNIQUE\n Type, once an account is associated, it can hold any number of NFTs (serial numbers) of that\n token type\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"2e63879b","id":3978,"implemented":false,"kind":"function","modifiers":[],"name":"associateTokens","nameLocation":"18316:15:4","nodeType":"FunctionDefinition","parameters":{"id":3974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3970,"mutability":"mutable","name":"account","nameLocation":"18340:7:4","nodeType":"VariableDeclaration","scope":3978,"src":"18332:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3969,"name":"address","nodeType":"ElementaryTypeName","src":"18332:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3973,"mutability":"mutable","name":"tokens","nameLocation":"18366:6:4","nodeType":"VariableDeclaration","scope":3978,"src":"18349:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":3971,"name":"address","nodeType":"ElementaryTypeName","src":"18349:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3972,"nodeType":"ArrayTypeName","src":"18349:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"18331:42:4"},"returnParameters":{"id":3977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3976,"mutability":"mutable","name":"responseCode","nameLocation":"18406:12:4","nodeType":"VariableDeclaration","scope":3978,"src":"18400:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3975,"name":"int64","nodeType":"ElementaryTypeName","src":"18400:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"18399:20:4"},"scope":4596,"src":"18307:113:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":3979,"nodeType":"StructuredDocumentation","src":"18426:257:4","text":"Single-token variant of associateTokens. Will be mapped to a single entry array call of associateTokens\n @param account The account to be associated with the provided token\n @param token The token to be associated with the provided account"},"functionSelector":"49146bde","id":3988,"implemented":false,"kind":"function","modifiers":[],"name":"associateToken","nameLocation":"18697:14:4","nodeType":"FunctionDefinition","parameters":{"id":3984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3981,"mutability":"mutable","name":"account","nameLocation":"18720:7:4","nodeType":"VariableDeclaration","scope":3988,"src":"18712:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3980,"name":"address","nodeType":"ElementaryTypeName","src":"18712:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3983,"mutability":"mutable","name":"token","nameLocation":"18737:5:4","nodeType":"VariableDeclaration","scope":3988,"src":"18729:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3982,"name":"address","nodeType":"ElementaryTypeName","src":"18729:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18711:32:4"},"returnParameters":{"id":3987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3986,"mutability":"mutable","name":"responseCode","nameLocation":"18776:12:4","nodeType":"VariableDeclaration","scope":3988,"src":"18770:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3985,"name":"int64","nodeType":"ElementaryTypeName","src":"18770:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"18769:20:4"},"scope":4596,"src":"18688:102:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":3989,"nodeType":"StructuredDocumentation","src":"18796:1533:4","text":"Dissociates the provided account with the provided tokens. Must be signed by the provided\n Account's key.\n If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID.\n If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED.\n If any of the provided tokens is not found, the transaction will resolve to INVALID_TOKEN_REF.\n If any of the provided tokens has been deleted, the transaction will resolve to TOKEN_WAS_DELETED.\n If an association between the provided account and any of the tokens does not exist, the\n transaction will resolve to TOKEN_NOT_ASSOCIATED_TO_ACCOUNT.\n If a token has not been deleted and has not expired, and the user has a nonzero balance, the\n transaction will resolve to TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES.\n If a fungible token has expired, the user can disassociate even if their token balance is\n not zero.\n If a non fungible token has expired, the user can not disassociate if their token\n balance is not zero. The transaction will resolve to TRANSACTION_REQUIRED_ZERO_TOKEN_BALANCES.\n On success, associations between the provided account and tokens are removed.\n @param account The account to be dissociated from the provided tokens\n @param tokens The tokens to be dissociated from the provided account.\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"78b63918","id":3999,"implemented":false,"kind":"function","modifiers":[],"name":"dissociateTokens","nameLocation":"20343:16:4","nodeType":"FunctionDefinition","parameters":{"id":3995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3991,"mutability":"mutable","name":"account","nameLocation":"20368:7:4","nodeType":"VariableDeclaration","scope":3999,"src":"20360:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3990,"name":"address","nodeType":"ElementaryTypeName","src":"20360:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3994,"mutability":"mutable","name":"tokens","nameLocation":"20394:6:4","nodeType":"VariableDeclaration","scope":3999,"src":"20377:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":3992,"name":"address","nodeType":"ElementaryTypeName","src":"20377:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3993,"nodeType":"ArrayTypeName","src":"20377:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"20359:42:4"},"returnParameters":{"id":3998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3997,"mutability":"mutable","name":"responseCode","nameLocation":"20434:12:4","nodeType":"VariableDeclaration","scope":3999,"src":"20428:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":3996,"name":"int64","nodeType":"ElementaryTypeName","src":"20428:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"20427:20:4"},"scope":4596,"src":"20334:114:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4000,"nodeType":"StructuredDocumentation","src":"20454:259:4","text":"Single-token variant of dissociateTokens. Will be mapped to a single entry array call of dissociateTokens\n @param account The account to be associated with the provided token\n @param token The token to be associated with the provided account"},"functionSelector":"099794e8","id":4009,"implemented":false,"kind":"function","modifiers":[],"name":"dissociateToken","nameLocation":"20727:15:4","nodeType":"FunctionDefinition","parameters":{"id":4005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4002,"mutability":"mutable","name":"account","nameLocation":"20751:7:4","nodeType":"VariableDeclaration","scope":4009,"src":"20743:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4001,"name":"address","nodeType":"ElementaryTypeName","src":"20743:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4004,"mutability":"mutable","name":"token","nameLocation":"20768:5:4","nodeType":"VariableDeclaration","scope":4009,"src":"20760:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4003,"name":"address","nodeType":"ElementaryTypeName","src":"20760:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20742:32:4"},"returnParameters":{"id":4008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4007,"mutability":"mutable","name":"responseCode","nameLocation":"20807:12:4","nodeType":"VariableDeclaration","scope":4009,"src":"20801:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4006,"name":"int64","nodeType":"ElementaryTypeName","src":"20801:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"20800:20:4"},"scope":4596,"src":"20718:103:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4010,"nodeType":"StructuredDocumentation","src":"20827:564:4","text":"Creates a Fungible Token with the specified properties\n @param token the basic properties of the token being created\n @param initialTotalSupply Specifies the initial supply of tokens to be put in circulation. The\n initial supply is sent to the Treasury Account. The supply is in the lowest denomination possible.\n @param decimals the number of decimal places a token is divisible by\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return tokenAddress the created token's address"},"functionSelector":"0fb65bf3","id":4024,"implemented":false,"kind":"function","modifiers":[],"name":"createFungibleToken","nameLocation":"21405:19:4","nodeType":"FunctionDefinition","parameters":{"id":4018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4013,"mutability":"mutable","name":"token","nameLocation":"21453:5:4","nodeType":"VariableDeclaration","scope":4024,"src":"21434:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":4012,"nodeType":"UserDefinedTypeName","pathNode":{"id":4011,"name":"HederaToken","nameLocations":["21434:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"21434:11:4"},"referencedDeclaration":3807,"src":"21434:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"},{"constant":false,"id":4015,"mutability":"mutable","name":"initialTotalSupply","nameLocation":"21474:18:4","nodeType":"VariableDeclaration","scope":4024,"src":"21468:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4014,"name":"int64","nodeType":"ElementaryTypeName","src":"21468:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4017,"mutability":"mutable","name":"decimals","nameLocation":"21508:8:4","nodeType":"VariableDeclaration","scope":4024,"src":"21502:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":4016,"name":"int32","nodeType":"ElementaryTypeName","src":"21502:5:4","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"21424:98:4"},"returnParameters":{"id":4023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4020,"mutability":"mutable","name":"responseCode","nameLocation":"21555:12:4","nodeType":"VariableDeclaration","scope":4024,"src":"21549:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4019,"name":"int64","nodeType":"ElementaryTypeName","src":"21549:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4022,"mutability":"mutable","name":"tokenAddress","nameLocation":"21577:12:4","nodeType":"VariableDeclaration","scope":4024,"src":"21569:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4021,"name":"address","nodeType":"ElementaryTypeName","src":"21569:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21548:42:4"},"scope":4596,"src":"21396:195:4","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":4025,"nodeType":"StructuredDocumentation","src":"21597:707:4","text":"Creates a Fungible Token with the specified properties\n @param token the basic properties of the token being created\n @param initialTotalSupply Specifies the initial supply of tokens to be put in circulation. The\n initial supply is sent to the Treasury Account. The supply is in the lowest denomination possible.\n @param decimals the number of decimal places a token is divisible by.\n @param fixedFees list of fixed fees to apply to the token\n @param fractionalFees list of fractional fees to apply to the token\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return tokenAddress the created token's address"},"functionSelector":"2af0c59a","id":4047,"implemented":false,"kind":"function","modifiers":[],"name":"createFungibleTokenWithCustomFees","nameLocation":"22318:33:4","nodeType":"FunctionDefinition","parameters":{"id":4041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4028,"mutability":"mutable","name":"token","nameLocation":"22380:5:4","nodeType":"VariableDeclaration","scope":4047,"src":"22361:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":4027,"nodeType":"UserDefinedTypeName","pathNode":{"id":4026,"name":"HederaToken","nameLocations":["22361:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"22361:11:4"},"referencedDeclaration":3807,"src":"22361:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"},{"constant":false,"id":4030,"mutability":"mutable","name":"initialTotalSupply","nameLocation":"22401:18:4","nodeType":"VariableDeclaration","scope":4047,"src":"22395:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4029,"name":"int64","nodeType":"ElementaryTypeName","src":"22395:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4032,"mutability":"mutable","name":"decimals","nameLocation":"22435:8:4","nodeType":"VariableDeclaration","scope":4047,"src":"22429:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":4031,"name":"int32","nodeType":"ElementaryTypeName","src":"22429:5:4","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":4036,"mutability":"mutable","name":"fixedFees","nameLocation":"22471:9:4","nodeType":"VariableDeclaration","scope":4047,"src":"22453:27:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee[]"},"typeName":{"baseType":{"id":4034,"nodeType":"UserDefinedTypeName","pathNode":{"id":4033,"name":"FixedFee","nameLocations":["22453:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3881,"src":"22453:8:4"},"referencedDeclaration":3881,"src":"22453:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_FixedFee_$3881_storage_ptr","typeString":"struct IHederaTokenService.FixedFee"}},"id":4035,"nodeType":"ArrayTypeName","src":"22453:10:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"}},"visibility":"internal"},{"constant":false,"id":4040,"mutability":"mutable","name":"fractionalFees","nameLocation":"22513:14:4","nodeType":"VariableDeclaration","scope":4047,"src":"22490:37:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"},"typeName":{"baseType":{"id":4038,"nodeType":"UserDefinedTypeName","pathNode":{"id":4037,"name":"FractionalFee","nameLocations":["22490:13:4"],"nodeType":"IdentifierPath","referencedDeclaration":3894,"src":"22490:13:4"},"referencedDeclaration":3894,"src":"22490:13:4","typeDescriptions":{"typeIdentifier":"t_struct$_FractionalFee_$3894_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee"}},"id":4039,"nodeType":"ArrayTypeName","src":"22490:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"}},"visibility":"internal"}],"src":"22351:182:4"},"returnParameters":{"id":4046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4043,"mutability":"mutable","name":"responseCode","nameLocation":"22566:12:4","nodeType":"VariableDeclaration","scope":4047,"src":"22560:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4042,"name":"int64","nodeType":"ElementaryTypeName","src":"22560:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4045,"mutability":"mutable","name":"tokenAddress","nameLocation":"22588:12:4","nodeType":"VariableDeclaration","scope":4047,"src":"22580:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4044,"name":"address","nodeType":"ElementaryTypeName","src":"22580:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22559:42:4"},"scope":4596,"src":"22309:293:4","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":4048,"nodeType":"StructuredDocumentation","src":"22608:289:4","text":"Creates an Non Fungible Unique Token with the specified properties\n @param token the basic properties of the token being created\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return tokenAddress the created token's address"},"functionSelector":"ea83f293","id":4058,"implemented":false,"kind":"function","modifiers":[],"name":"createNonFungibleToken","nameLocation":"22911:22:4","nodeType":"FunctionDefinition","parameters":{"id":4052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4051,"mutability":"mutable","name":"token","nameLocation":"22953:5:4","nodeType":"VariableDeclaration","scope":4058,"src":"22934:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":4050,"nodeType":"UserDefinedTypeName","pathNode":{"id":4049,"name":"HederaToken","nameLocations":["22934:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"22934:11:4"},"referencedDeclaration":3807,"src":"22934:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"}],"src":"22933:26:4"},"returnParameters":{"id":4057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4054,"mutability":"mutable","name":"responseCode","nameLocation":"23004:12:4","nodeType":"VariableDeclaration","scope":4058,"src":"22998:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4053,"name":"int64","nodeType":"ElementaryTypeName","src":"22998:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4056,"mutability":"mutable","name":"tokenAddress","nameLocation":"23026:12:4","nodeType":"VariableDeclaration","scope":4058,"src":"23018:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4055,"name":"address","nodeType":"ElementaryTypeName","src":"23018:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22997:42:4"},"scope":4596,"src":"22902:138:4","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":4059,"nodeType":"StructuredDocumentation","src":"23046:425:4","text":"Creates an Non Fungible Unique Token with the specified properties\n @param token the basic properties of the token being created\n @param fixedFees list of fixed fees to apply to the token\n @param royaltyFees list of royalty fees to apply to the token\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return tokenAddress the created token's address"},"functionSelector":"abb54eb5","id":4077,"implemented":false,"kind":"function","modifiers":[],"name":"createNonFungibleTokenWithCustomFees","nameLocation":"23485:36:4","nodeType":"FunctionDefinition","parameters":{"id":4071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4062,"mutability":"mutable","name":"token","nameLocation":"23550:5:4","nodeType":"VariableDeclaration","scope":4077,"src":"23531:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":4061,"nodeType":"UserDefinedTypeName","pathNode":{"id":4060,"name":"HederaToken","nameLocations":["23531:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"23531:11:4"},"referencedDeclaration":3807,"src":"23531:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"},{"constant":false,"id":4066,"mutability":"mutable","name":"fixedFees","nameLocation":"23583:9:4","nodeType":"VariableDeclaration","scope":4077,"src":"23565:27:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee[]"},"typeName":{"baseType":{"id":4064,"nodeType":"UserDefinedTypeName","pathNode":{"id":4063,"name":"FixedFee","nameLocations":["23565:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3881,"src":"23565:8:4"},"referencedDeclaration":3881,"src":"23565:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_FixedFee_$3881_storage_ptr","typeString":"struct IHederaTokenService.FixedFee"}},"id":4065,"nodeType":"ArrayTypeName","src":"23565:10:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"}},"visibility":"internal"},{"constant":false,"id":4070,"mutability":"mutable","name":"royaltyFees","nameLocation":"23622:11:4","nodeType":"VariableDeclaration","scope":4077,"src":"23602:31:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"},"typeName":{"baseType":{"id":4068,"nodeType":"UserDefinedTypeName","pathNode":{"id":4067,"name":"RoyaltyFee","nameLocations":["23602:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3907,"src":"23602:10:4"},"referencedDeclaration":3907,"src":"23602:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyFee_$3907_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee"}},"id":4069,"nodeType":"ArrayTypeName","src":"23602:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"}},"visibility":"internal"}],"src":"23521:118:4"},"returnParameters":{"id":4076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4073,"mutability":"mutable","name":"responseCode","nameLocation":"23672:12:4","nodeType":"VariableDeclaration","scope":4077,"src":"23666:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4072,"name":"int64","nodeType":"ElementaryTypeName","src":"23666:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4075,"mutability":"mutable","name":"tokenAddress","nameLocation":"23694:12:4","nodeType":"VariableDeclaration","scope":4077,"src":"23686:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4074,"name":"address","nodeType":"ElementaryTypeName","src":"23686:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23665:42:4"},"scope":4596,"src":"23476:232:4","stateMutability":"payable","virtual":false,"visibility":"external"},{"documentation":{"id":4078,"nodeType":"StructuredDocumentation","src":"23800:230:4","text":"Initiates a Fungible Token Transfer\n @param token The ID of the token as a solidity address\n @param accountId account to do a transfer to/from\n @param amount The amount from the accountId at the same index"},"functionSelector":"82bba493","id":4091,"implemented":false,"kind":"function","modifiers":[],"name":"transferTokens","nameLocation":"24044:14:4","nodeType":"FunctionDefinition","parameters":{"id":4087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4080,"mutability":"mutable","name":"token","nameLocation":"24076:5:4","nodeType":"VariableDeclaration","scope":4091,"src":"24068:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4079,"name":"address","nodeType":"ElementaryTypeName","src":"24068:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4083,"mutability":"mutable","name":"accountId","nameLocation":"24108:9:4","nodeType":"VariableDeclaration","scope":4091,"src":"24091:26:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4081,"name":"address","nodeType":"ElementaryTypeName","src":"24091:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4082,"nodeType":"ArrayTypeName","src":"24091:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":4086,"mutability":"mutable","name":"amount","nameLocation":"24142:6:4","nodeType":"VariableDeclaration","scope":4091,"src":"24127:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[]"},"typeName":{"baseType":{"id":4084,"name":"int64","nodeType":"ElementaryTypeName","src":"24127:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":4085,"nodeType":"ArrayTypeName","src":"24127:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}},"visibility":"internal"}],"src":"24058:96:4"},"returnParameters":{"id":4090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4089,"mutability":"mutable","name":"responseCode","nameLocation":"24179:12:4","nodeType":"VariableDeclaration","scope":4091,"src":"24173:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4088,"name":"int64","nodeType":"ElementaryTypeName","src":"24173:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"24172:20:4"},"scope":4596,"src":"24035:158:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4092,"nodeType":"StructuredDocumentation","src":"24199:320:4","text":"Initiates a Non-Fungable Token Transfer\n @param token The ID of the token as a solidity address\n @param sender the sender of an nft\n @param receiver the receiver of the nft sent by the same index at sender\n @param serialNumber the serial number of the nft sent by the same index at sender"},"functionSelector":"2c4ba191","id":4108,"implemented":false,"kind":"function","modifiers":[],"name":"transferNFTs","nameLocation":"24533:12:4","nodeType":"FunctionDefinition","parameters":{"id":4104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4094,"mutability":"mutable","name":"token","nameLocation":"24563:5:4","nodeType":"VariableDeclaration","scope":4108,"src":"24555:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4093,"name":"address","nodeType":"ElementaryTypeName","src":"24555:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4097,"mutability":"mutable","name":"sender","nameLocation":"24595:6:4","nodeType":"VariableDeclaration","scope":4108,"src":"24578:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4095,"name":"address","nodeType":"ElementaryTypeName","src":"24578:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4096,"nodeType":"ArrayTypeName","src":"24578:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":4100,"mutability":"mutable","name":"receiver","nameLocation":"24628:8:4","nodeType":"VariableDeclaration","scope":4108,"src":"24611:25:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4098,"name":"address","nodeType":"ElementaryTypeName","src":"24611:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4099,"nodeType":"ArrayTypeName","src":"24611:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":4103,"mutability":"mutable","name":"serialNumber","nameLocation":"24661:12:4","nodeType":"VariableDeclaration","scope":4108,"src":"24646:27:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[]"},"typeName":{"baseType":{"id":4101,"name":"int64","nodeType":"ElementaryTypeName","src":"24646:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":4102,"nodeType":"ArrayTypeName","src":"24646:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}},"visibility":"internal"}],"src":"24545:134:4"},"returnParameters":{"id":4107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4106,"mutability":"mutable","name":"responseCode","nameLocation":"24704:12:4","nodeType":"VariableDeclaration","scope":4108,"src":"24698:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4105,"name":"int64","nodeType":"ElementaryTypeName","src":"24698:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"24697:20:4"},"scope":4596,"src":"24524:194:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4109,"nodeType":"StructuredDocumentation","src":"24724:540:4","text":"Transfers tokens where the calling account/contract is implicitly the first entry in the token transfer list,\n where the amount is the value needed to zero balance the transfers. Regular signing rules apply for sending\n (positive amount) or receiving (negative amount)\n @param token The token to transfer to/from\n @param sender The sender for the transaction\n @param recipient The receiver of the transaction\n @param amount Non-negative value to send. a negative value will result in a failure."},"functionSelector":"eca36917","id":4122,"implemented":false,"kind":"function","modifiers":[],"name":"transferToken","nameLocation":"25278:13:4","nodeType":"FunctionDefinition","parameters":{"id":4118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4111,"mutability":"mutable","name":"token","nameLocation":"25309:5:4","nodeType":"VariableDeclaration","scope":4122,"src":"25301:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4110,"name":"address","nodeType":"ElementaryTypeName","src":"25301:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4113,"mutability":"mutable","name":"sender","nameLocation":"25332:6:4","nodeType":"VariableDeclaration","scope":4122,"src":"25324:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4112,"name":"address","nodeType":"ElementaryTypeName","src":"25324:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4115,"mutability":"mutable","name":"recipient","nameLocation":"25356:9:4","nodeType":"VariableDeclaration","scope":4122,"src":"25348:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4114,"name":"address","nodeType":"ElementaryTypeName","src":"25348:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4117,"mutability":"mutable","name":"amount","nameLocation":"25381:6:4","nodeType":"VariableDeclaration","scope":4122,"src":"25375:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4116,"name":"int64","nodeType":"ElementaryTypeName","src":"25375:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"25291:102:4"},"returnParameters":{"id":4121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4120,"mutability":"mutable","name":"responseCode","nameLocation":"25418:12:4","nodeType":"VariableDeclaration","scope":4122,"src":"25412:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4119,"name":"int64","nodeType":"ElementaryTypeName","src":"25412:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"25411:20:4"},"scope":4596,"src":"25269:163:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4123,"nodeType":"StructuredDocumentation","src":"25438:517:4","text":"Transfers tokens where the calling account/contract is implicitly the first entry in the token transfer list,\n where the amount is the value needed to zero balance the transfers. Regular signing rules apply for sending\n (positive amount) or receiving (negative amount)\n @param token The token to transfer to/from\n @param sender The sender for the transaction\n @param recipient The receiver of the transaction\n @param serialNumber The serial number of the NFT to transfer."},"functionSelector":"5cfc9011","id":4136,"implemented":false,"kind":"function","modifiers":[],"name":"transferNFT","nameLocation":"25969:11:4","nodeType":"FunctionDefinition","parameters":{"id":4132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4125,"mutability":"mutable","name":"token","nameLocation":"25998:5:4","nodeType":"VariableDeclaration","scope":4136,"src":"25990:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4124,"name":"address","nodeType":"ElementaryTypeName","src":"25990:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4127,"mutability":"mutable","name":"sender","nameLocation":"26021:6:4","nodeType":"VariableDeclaration","scope":4136,"src":"26013:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4126,"name":"address","nodeType":"ElementaryTypeName","src":"26013:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4129,"mutability":"mutable","name":"recipient","nameLocation":"26045:9:4","nodeType":"VariableDeclaration","scope":4136,"src":"26037:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4128,"name":"address","nodeType":"ElementaryTypeName","src":"26037:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4131,"mutability":"mutable","name":"serialNumber","nameLocation":"26070:12:4","nodeType":"VariableDeclaration","scope":4136,"src":"26064:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4130,"name":"int64","nodeType":"ElementaryTypeName","src":"26064:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"25980:108:4"},"returnParameters":{"id":4135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4134,"mutability":"mutable","name":"responseCode","nameLocation":"26113:12:4","nodeType":"VariableDeclaration","scope":4136,"src":"26107:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4133,"name":"int64","nodeType":"ElementaryTypeName","src":"26107:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"26106:20:4"},"scope":4596,"src":"25960:167:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4137,"nodeType":"StructuredDocumentation","src":"26133:497:4","text":"Allows spender to withdraw from your account multiple times, up to the value amount. If this function is called\n again it overwrites the current allowance with value.\n Only Applicable to Fungible Tokens\n @param token The hedera token address to approve\n @param spender the account address authorized to spend\n @param amount the amount of tokens authorized to spend.\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"e1f21c67","id":4148,"implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"26644:7:4","nodeType":"FunctionDefinition","parameters":{"id":4144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4139,"mutability":"mutable","name":"token","nameLocation":"26669:5:4","nodeType":"VariableDeclaration","scope":4148,"src":"26661:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4138,"name":"address","nodeType":"ElementaryTypeName","src":"26661:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4141,"mutability":"mutable","name":"spender","nameLocation":"26692:7:4","nodeType":"VariableDeclaration","scope":4148,"src":"26684:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4140,"name":"address","nodeType":"ElementaryTypeName","src":"26684:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4143,"mutability":"mutable","name":"amount","nameLocation":"26717:6:4","nodeType":"VariableDeclaration","scope":4148,"src":"26709:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4142,"name":"uint256","nodeType":"ElementaryTypeName","src":"26709:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26651:78:4"},"returnParameters":{"id":4147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4146,"mutability":"mutable","name":"responseCode","nameLocation":"26754:12:4","nodeType":"VariableDeclaration","scope":4148,"src":"26748:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4145,"name":"int64","nodeType":"ElementaryTypeName","src":"26748:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"26747:20:4"},"scope":4596,"src":"26635:133:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4149,"nodeType":"StructuredDocumentation","src":"26922:475:4","text":"Only applicable to fungible tokens\n @param token The address of the fungible Hedera token to transfer\n @param from The account address of the owner of the token, on the behalf of which to transfer `amount` tokens\n @param to The account address of the receiver of the `amount` tokens\n @param amount The amount of tokens to transfer from `from` to `to`\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"15dacbea","id":4162,"implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"27411:12:4","nodeType":"FunctionDefinition","parameters":{"id":4158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4151,"mutability":"mutable","name":"token","nameLocation":"27432:5:4","nodeType":"VariableDeclaration","scope":4162,"src":"27424:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4150,"name":"address","nodeType":"ElementaryTypeName","src":"27424:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4153,"mutability":"mutable","name":"from","nameLocation":"27447:4:4","nodeType":"VariableDeclaration","scope":4162,"src":"27439:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4152,"name":"address","nodeType":"ElementaryTypeName","src":"27439:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4155,"mutability":"mutable","name":"to","nameLocation":"27461:2:4","nodeType":"VariableDeclaration","scope":4162,"src":"27453:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4154,"name":"address","nodeType":"ElementaryTypeName","src":"27453:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4157,"mutability":"mutable","name":"amount","nameLocation":"27473:6:4","nodeType":"VariableDeclaration","scope":4162,"src":"27465:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4156,"name":"uint256","nodeType":"ElementaryTypeName","src":"27465:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27423:57:4"},"returnParameters":{"id":4161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4160,"mutability":"mutable","name":"responseCode","nameLocation":"27505:12:4","nodeType":"VariableDeclaration","scope":4162,"src":"27499:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4159,"name":"int64","nodeType":"ElementaryTypeName","src":"27499:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"27498:20:4"},"scope":4596,"src":"27402:117:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4163,"nodeType":"StructuredDocumentation","src":"27525:483:4","text":"Returns the amount which spender is still allowed to withdraw from owner.\n Only Applicable to Fungible Tokens\n @param token The Hedera token address to check the allowance of\n @param owner the owner of the tokens to be spent\n @param spender the spender of the tokens\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return allowance The amount which spender is still allowed to withdraw from owner."},"functionSelector":"927da105","id":4176,"implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"28022:9:4","nodeType":"FunctionDefinition","parameters":{"id":4170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4165,"mutability":"mutable","name":"token","nameLocation":"28049:5:4","nodeType":"VariableDeclaration","scope":4176,"src":"28041:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4164,"name":"address","nodeType":"ElementaryTypeName","src":"28041:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4167,"mutability":"mutable","name":"owner","nameLocation":"28072:5:4","nodeType":"VariableDeclaration","scope":4176,"src":"28064:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4166,"name":"address","nodeType":"ElementaryTypeName","src":"28064:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4169,"mutability":"mutable","name":"spender","nameLocation":"28095:7:4","nodeType":"VariableDeclaration","scope":4176,"src":"28087:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4168,"name":"address","nodeType":"ElementaryTypeName","src":"28087:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28031:77:4"},"returnParameters":{"id":4175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4172,"mutability":"mutable","name":"responseCode","nameLocation":"28133:12:4","nodeType":"VariableDeclaration","scope":4176,"src":"28127:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4171,"name":"int64","nodeType":"ElementaryTypeName","src":"28127:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4174,"mutability":"mutable","name":"allowance","nameLocation":"28155:9:4","nodeType":"VariableDeclaration","scope":4176,"src":"28147:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4173,"name":"uint256","nodeType":"ElementaryTypeName","src":"28147:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28126:39:4"},"scope":4596,"src":"28013:153:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4177,"nodeType":"StructuredDocumentation","src":"28172:454:4","text":"Allow or reaffirm the approved address to transfer an NFT the approved address does not own.\n Only Applicable to NFT Tokens\n @param token The Hedera NFT token address to approve\n @param approved The new approved NFT controller. To revoke approvals pass in the zero address.\n @param serialNumber The NFT serial number to approve\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"7336aaf0","id":4188,"implemented":false,"kind":"function","modifiers":[],"name":"approveNFT","nameLocation":"28640:10:4","nodeType":"FunctionDefinition","parameters":{"id":4184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4179,"mutability":"mutable","name":"token","nameLocation":"28668:5:4","nodeType":"VariableDeclaration","scope":4188,"src":"28660:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4178,"name":"address","nodeType":"ElementaryTypeName","src":"28660:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4181,"mutability":"mutable","name":"approved","nameLocation":"28691:8:4","nodeType":"VariableDeclaration","scope":4188,"src":"28683:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4180,"name":"address","nodeType":"ElementaryTypeName","src":"28683:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4183,"mutability":"mutable","name":"serialNumber","nameLocation":"28717:12:4","nodeType":"VariableDeclaration","scope":4188,"src":"28709:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4182,"name":"uint256","nodeType":"ElementaryTypeName","src":"28709:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28650:85:4"},"returnParameters":{"id":4187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4186,"mutability":"mutable","name":"responseCode","nameLocation":"28760:12:4","nodeType":"VariableDeclaration","scope":4188,"src":"28754:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4185,"name":"int64","nodeType":"ElementaryTypeName","src":"28754:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"28753:20:4"},"scope":4596,"src":"28631:143:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4189,"nodeType":"StructuredDocumentation","src":"28780:515:4","text":"Transfers `serialNumber` of `token` from `from` to `to` using the allowance mechanism.\n Only applicable to NFT tokens\n @param token The address of the non-fungible Hedera token to transfer\n @param from The account address of the owner of `serialNumber` of `token`\n @param to The account address of the receiver of `serialNumber`\n @param serialNumber The NFT serial number to transfer\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"9b23d3d9","id":4202,"implemented":false,"kind":"function","modifiers":[],"name":"transferFromNFT","nameLocation":"29309:15:4","nodeType":"FunctionDefinition","parameters":{"id":4198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4191,"mutability":"mutable","name":"token","nameLocation":"29333:5:4","nodeType":"VariableDeclaration","scope":4202,"src":"29325:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4190,"name":"address","nodeType":"ElementaryTypeName","src":"29325:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4193,"mutability":"mutable","name":"from","nameLocation":"29348:4:4","nodeType":"VariableDeclaration","scope":4202,"src":"29340:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4192,"name":"address","nodeType":"ElementaryTypeName","src":"29340:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4195,"mutability":"mutable","name":"to","nameLocation":"29362:2:4","nodeType":"VariableDeclaration","scope":4202,"src":"29354:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4194,"name":"address","nodeType":"ElementaryTypeName","src":"29354:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4197,"mutability":"mutable","name":"serialNumber","nameLocation":"29374:12:4","nodeType":"VariableDeclaration","scope":4202,"src":"29366:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4196,"name":"uint256","nodeType":"ElementaryTypeName","src":"29366:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29324:63:4"},"returnParameters":{"id":4201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4200,"mutability":"mutable","name":"responseCode","nameLocation":"29412:12:4","nodeType":"VariableDeclaration","scope":4202,"src":"29406:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4199,"name":"int64","nodeType":"ElementaryTypeName","src":"29406:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"29405:20:4"},"scope":4596,"src":"29300:126:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4203,"nodeType":"StructuredDocumentation","src":"29432:410:4","text":"Get the approved address for a single NFT\n Only Applicable to NFT Tokens\n @param token The Hedera NFT token address to check approval\n @param serialNumber The NFT to find the approved address for\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return approved The approved address for this NFT, or the zero address if there is none"},"functionSelector":"098f2366","id":4214,"implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"29856:11:4","nodeType":"FunctionDefinition","parameters":{"id":4208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4205,"mutability":"mutable","name":"token","nameLocation":"29876:5:4","nodeType":"VariableDeclaration","scope":4214,"src":"29868:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4204,"name":"address","nodeType":"ElementaryTypeName","src":"29868:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4207,"mutability":"mutable","name":"serialNumber","nameLocation":"29891:12:4","nodeType":"VariableDeclaration","scope":4214,"src":"29883:20:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4206,"name":"uint256","nodeType":"ElementaryTypeName","src":"29883:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29867:37:4"},"returnParameters":{"id":4213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4210,"mutability":"mutable","name":"responseCode","nameLocation":"29937:12:4","nodeType":"VariableDeclaration","scope":4214,"src":"29931:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4209,"name":"int64","nodeType":"ElementaryTypeName","src":"29931:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4212,"mutability":"mutable","name":"approved","nameLocation":"29959:8:4","nodeType":"VariableDeclaration","scope":4214,"src":"29951:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4211,"name":"address","nodeType":"ElementaryTypeName","src":"29951:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29930:38:4"},"scope":4596,"src":"29847:122:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4215,"nodeType":"StructuredDocumentation","src":"29975:420:4","text":"Enable or disable approval for a third party (\"operator\") to manage\n all of `msg.sender`'s assets\n @param token The Hedera NFT token address to approve\n @param operator Address to add to the set of authorized operators\n @param approved True if the operator is approved, false to revoke approval\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"367605ca","id":4226,"implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"30409:17:4","nodeType":"FunctionDefinition","parameters":{"id":4222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4217,"mutability":"mutable","name":"token","nameLocation":"30444:5:4","nodeType":"VariableDeclaration","scope":4226,"src":"30436:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4216,"name":"address","nodeType":"ElementaryTypeName","src":"30436:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4219,"mutability":"mutable","name":"operator","nameLocation":"30467:8:4","nodeType":"VariableDeclaration","scope":4226,"src":"30459:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4218,"name":"address","nodeType":"ElementaryTypeName","src":"30459:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4221,"mutability":"mutable","name":"approved","nameLocation":"30490:8:4","nodeType":"VariableDeclaration","scope":4226,"src":"30485:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4220,"name":"bool","nodeType":"ElementaryTypeName","src":"30485:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30426:78:4"},"returnParameters":{"id":4225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4224,"mutability":"mutable","name":"responseCode","nameLocation":"30529:12:4","nodeType":"VariableDeclaration","scope":4226,"src":"30523:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4223,"name":"int64","nodeType":"ElementaryTypeName","src":"30523:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"30522:20:4"},"scope":4596,"src":"30400:143:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4227,"nodeType":"StructuredDocumentation","src":"30549:479:4","text":"Query if an address is an authorized operator for another address\n Only Applicable to NFT Tokens\n @param token The Hedera NFT token address to approve\n @param owner The address that owns the NFTs\n @param operator The address that acts on behalf of the owner\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return approved True if `operator` is an approved operator for `owner`, false otherwise"},"functionSelector":"f49f40db","id":4240,"implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"31042:16:4","nodeType":"FunctionDefinition","parameters":{"id":4234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4229,"mutability":"mutable","name":"token","nameLocation":"31076:5:4","nodeType":"VariableDeclaration","scope":4240,"src":"31068:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4228,"name":"address","nodeType":"ElementaryTypeName","src":"31068:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4231,"mutability":"mutable","name":"owner","nameLocation":"31099:5:4","nodeType":"VariableDeclaration","scope":4240,"src":"31091:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4230,"name":"address","nodeType":"ElementaryTypeName","src":"31091:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4233,"mutability":"mutable","name":"operator","nameLocation":"31122:8:4","nodeType":"VariableDeclaration","scope":4240,"src":"31114:16:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4232,"name":"address","nodeType":"ElementaryTypeName","src":"31114:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31058:78:4"},"returnParameters":{"id":4239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4236,"mutability":"mutable","name":"responseCode","nameLocation":"31161:12:4","nodeType":"VariableDeclaration","scope":4240,"src":"31155:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4235,"name":"int64","nodeType":"ElementaryTypeName","src":"31155:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4238,"mutability":"mutable","name":"approved","nameLocation":"31180:8:4","nodeType":"VariableDeclaration","scope":4240,"src":"31175:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4237,"name":"bool","nodeType":"ElementaryTypeName","src":"31175:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31154:35:4"},"scope":4596,"src":"31033:157:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4241,"nodeType":"StructuredDocumentation","src":"31196:309:4","text":"Query if token account is frozen\n @param token The token address to check\n @param account The account address associated with the token\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return frozen True if `account` is frozen for `token`"},"functionSelector":"46de0fb1","id":4252,"implemented":false,"kind":"function","modifiers":[],"name":"isFrozen","nameLocation":"31519:8:4","nodeType":"FunctionDefinition","parameters":{"id":4246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4243,"mutability":"mutable","name":"token","nameLocation":"31536:5:4","nodeType":"VariableDeclaration","scope":4252,"src":"31528:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4242,"name":"address","nodeType":"ElementaryTypeName","src":"31528:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4245,"mutability":"mutable","name":"account","nameLocation":"31551:7:4","nodeType":"VariableDeclaration","scope":4252,"src":"31543:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4244,"name":"address","nodeType":"ElementaryTypeName","src":"31543:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31527:32:4"},"returnParameters":{"id":4251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4248,"mutability":"mutable","name":"responseCode","nameLocation":"31592:12:4","nodeType":"VariableDeclaration","scope":4252,"src":"31586:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4247,"name":"int64","nodeType":"ElementaryTypeName","src":"31586:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4250,"mutability":"mutable","name":"frozen","nameLocation":"31611:6:4","nodeType":"VariableDeclaration","scope":4252,"src":"31606:11:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4249,"name":"bool","nodeType":"ElementaryTypeName","src":"31606:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31585:33:4"},"scope":4596,"src":"31510:109:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4253,"nodeType":"StructuredDocumentation","src":"31625:325:4","text":"Query if token account has kyc granted\n @param token The token address to check\n @param account The account address associated with the token\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return kycGranted True if `account` has kyc granted for `token`"},"functionSelector":"f2c31ff4","id":4264,"implemented":false,"kind":"function","modifiers":[],"name":"isKyc","nameLocation":"31964:5:4","nodeType":"FunctionDefinition","parameters":{"id":4258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4255,"mutability":"mutable","name":"token","nameLocation":"31978:5:4","nodeType":"VariableDeclaration","scope":4264,"src":"31970:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4254,"name":"address","nodeType":"ElementaryTypeName","src":"31970:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4257,"mutability":"mutable","name":"account","nameLocation":"31993:7:4","nodeType":"VariableDeclaration","scope":4264,"src":"31985:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4256,"name":"address","nodeType":"ElementaryTypeName","src":"31985:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31969:32:4"},"returnParameters":{"id":4263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4260,"mutability":"mutable","name":"responseCode","nameLocation":"32034:12:4","nodeType":"VariableDeclaration","scope":4264,"src":"32028:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4259,"name":"int64","nodeType":"ElementaryTypeName","src":"32028:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4262,"mutability":"mutable","name":"kycGranted","nameLocation":"32053:10:4","nodeType":"VariableDeclaration","scope":4264,"src":"32048:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4261,"name":"bool","nodeType":"ElementaryTypeName","src":"32048:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32027:37:4"},"scope":4596,"src":"31955:110:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4265,"nodeType":"StructuredDocumentation","src":"32071:175:4","text":"Operation to delete token\n @param token The token address to be deleted\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"f069f712","id":4272,"implemented":false,"kind":"function","modifiers":[],"name":"deleteToken","nameLocation":"32260:11:4","nodeType":"FunctionDefinition","parameters":{"id":4268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4267,"mutability":"mutable","name":"token","nameLocation":"32280:5:4","nodeType":"VariableDeclaration","scope":4272,"src":"32272:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4266,"name":"address","nodeType":"ElementaryTypeName","src":"32272:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32271:15:4"},"returnParameters":{"id":4271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4270,"mutability":"mutable","name":"responseCode","nameLocation":"32311:12:4","nodeType":"VariableDeclaration","scope":4272,"src":"32305:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4269,"name":"int64","nodeType":"ElementaryTypeName","src":"32305:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"32304:20:4"},"scope":4596,"src":"32251:74:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4273,"nodeType":"StructuredDocumentation","src":"32331:350:4","text":"Query token custom fees\n @param token The token address to check\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return fixedFees Set of fixed fees for `token`\n @return fractionalFees Set of fractional fees for `token`\n @return royaltyFees Set of royalty fees for `token`"},"functionSelector":"ae7611a0","id":4292,"implemented":false,"kind":"function","modifiers":[],"name":"getTokenCustomFees","nameLocation":"32695:18:4","nodeType":"FunctionDefinition","parameters":{"id":4276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4275,"mutability":"mutable","name":"token","nameLocation":"32722:5:4","nodeType":"VariableDeclaration","scope":4292,"src":"32714:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4274,"name":"address","nodeType":"ElementaryTypeName","src":"32714:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32713:15:4"},"returnParameters":{"id":4291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4278,"mutability":"mutable","name":"responseCode","nameLocation":"32761:12:4","nodeType":"VariableDeclaration","scope":4292,"src":"32755:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4277,"name":"int64","nodeType":"ElementaryTypeName","src":"32755:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4282,"mutability":"mutable","name":"fixedFees","nameLocation":"32793:9:4","nodeType":"VariableDeclaration","scope":4292,"src":"32775:27:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee[]"},"typeName":{"baseType":{"id":4280,"nodeType":"UserDefinedTypeName","pathNode":{"id":4279,"name":"FixedFee","nameLocations":["32775:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3881,"src":"32775:8:4"},"referencedDeclaration":3881,"src":"32775:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_FixedFee_$3881_storage_ptr","typeString":"struct IHederaTokenService.FixedFee"}},"id":4281,"nodeType":"ArrayTypeName","src":"32775:10:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"}},"visibility":"internal"},{"constant":false,"id":4286,"mutability":"mutable","name":"fractionalFees","nameLocation":"32827:14:4","nodeType":"VariableDeclaration","scope":4292,"src":"32804:37:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"},"typeName":{"baseType":{"id":4284,"nodeType":"UserDefinedTypeName","pathNode":{"id":4283,"name":"FractionalFee","nameLocations":["32804:13:4"],"nodeType":"IdentifierPath","referencedDeclaration":3894,"src":"32804:13:4"},"referencedDeclaration":3894,"src":"32804:13:4","typeDescriptions":{"typeIdentifier":"t_struct$_FractionalFee_$3894_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee"}},"id":4285,"nodeType":"ArrayTypeName","src":"32804:15:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"}},"visibility":"internal"},{"constant":false,"id":4290,"mutability":"mutable","name":"royaltyFees","nameLocation":"32863:11:4","nodeType":"VariableDeclaration","scope":4292,"src":"32843:31:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"},"typeName":{"baseType":{"id":4288,"nodeType":"UserDefinedTypeName","pathNode":{"id":4287,"name":"RoyaltyFee","nameLocations":["32843:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3907,"src":"32843:10:4"},"referencedDeclaration":3907,"src":"32843:10:4","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyFee_$3907_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee"}},"id":4289,"nodeType":"ArrayTypeName","src":"32843:12:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"}},"visibility":"internal"}],"src":"32754:121:4"},"scope":4596,"src":"32686:190:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4293,"nodeType":"StructuredDocumentation","src":"32882:263:4","text":"Query token default freeze status\n @param token The token address to check\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return defaultFreezeStatus True if `token` default freeze status is frozen."},"functionSelector":"a7daa18d","id":4302,"implemented":false,"kind":"function","modifiers":[],"name":"getTokenDefaultFreezeStatus","nameLocation":"33159:27:4","nodeType":"FunctionDefinition","parameters":{"id":4296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4295,"mutability":"mutable","name":"token","nameLocation":"33195:5:4","nodeType":"VariableDeclaration","scope":4302,"src":"33187:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4294,"name":"address","nodeType":"ElementaryTypeName","src":"33187:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33186:15:4"},"returnParameters":{"id":4301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4298,"mutability":"mutable","name":"responseCode","nameLocation":"33234:12:4","nodeType":"VariableDeclaration","scope":4302,"src":"33228:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4297,"name":"int64","nodeType":"ElementaryTypeName","src":"33228:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4300,"mutability":"mutable","name":"defaultFreezeStatus","nameLocation":"33253:19:4","nodeType":"VariableDeclaration","scope":4302,"src":"33248:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4299,"name":"bool","nodeType":"ElementaryTypeName","src":"33248:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33227:46:4"},"scope":4596,"src":"33150:124:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4303,"nodeType":"StructuredDocumentation","src":"33280:285:4","text":"Query token default kyc status\n @param token The token address to check\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return defaultKycStatus True if `token` default kyc status is KycNotApplicable and false if Revoked."},"functionSelector":"335e04c1","id":4312,"implemented":false,"kind":"function","modifiers":[],"name":"getTokenDefaultKycStatus","nameLocation":"33579:24:4","nodeType":"FunctionDefinition","parameters":{"id":4306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4305,"mutability":"mutable","name":"token","nameLocation":"33612:5:4","nodeType":"VariableDeclaration","scope":4312,"src":"33604:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4304,"name":"address","nodeType":"ElementaryTypeName","src":"33604:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33603:15:4"},"returnParameters":{"id":4311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4308,"mutability":"mutable","name":"responseCode","nameLocation":"33651:12:4","nodeType":"VariableDeclaration","scope":4312,"src":"33645:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4307,"name":"int64","nodeType":"ElementaryTypeName","src":"33645:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4310,"mutability":"mutable","name":"defaultKycStatus","nameLocation":"33670:16:4","nodeType":"VariableDeclaration","scope":4312,"src":"33665:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4309,"name":"bool","nodeType":"ElementaryTypeName","src":"33665:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33644:43:4"},"scope":4596,"src":"33570:118:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4313,"nodeType":"StructuredDocumentation","src":"33694:215:4","text":"Query token expiry info\n @param token The token address to check\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return expiry Expiry info for `token`"},"functionSelector":"d614cdb8","id":4323,"implemented":false,"kind":"function","modifiers":[],"name":"getTokenExpiryInfo","nameLocation":"33923:18:4","nodeType":"FunctionDefinition","parameters":{"id":4316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4315,"mutability":"mutable","name":"token","nameLocation":"33950:5:4","nodeType":"VariableDeclaration","scope":4323,"src":"33942:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4314,"name":"address","nodeType":"ElementaryTypeName","src":"33942:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33941:15:4"},"returnParameters":{"id":4322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4318,"mutability":"mutable","name":"responseCode","nameLocation":"33989:12:4","nodeType":"VariableDeclaration","scope":4323,"src":"33983:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4317,"name":"int64","nodeType":"ElementaryTypeName","src":"33983:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4321,"mutability":"mutable","name":"expiry","nameLocation":"34017:6:4","nodeType":"VariableDeclaration","scope":4323,"src":"34003:20:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry"},"typeName":{"id":4320,"nodeType":"UserDefinedTypeName","pathNode":{"id":4319,"name":"Expiry","nameLocations":["34003:6:4"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"34003:6:4"},"referencedDeclaration":3768,"src":"34003:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_storage_ptr","typeString":"struct IHederaTokenService.Expiry"}},"visibility":"internal"}],"src":"33982:42:4"},"scope":4596,"src":"33914:111:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4324,"nodeType":"StructuredDocumentation","src":"34031:239:4","text":"Query fungible token info\n @param token The token address to check\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return fungibleTokenInfo FungibleTokenInfo info for `token`"},"functionSelector":"3f28a19b","id":4334,"implemented":false,"kind":"function","modifiers":[],"name":"getFungibleTokenInfo","nameLocation":"34284:20:4","nodeType":"FunctionDefinition","parameters":{"id":4327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4326,"mutability":"mutable","name":"token","nameLocation":"34313:5:4","nodeType":"VariableDeclaration","scope":4334,"src":"34305:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4325,"name":"address","nodeType":"ElementaryTypeName","src":"34305:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34304:15:4"},"returnParameters":{"id":4333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4329,"mutability":"mutable","name":"responseCode","nameLocation":"34352:12:4","nodeType":"VariableDeclaration","scope":4334,"src":"34346:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4328,"name":"int64","nodeType":"ElementaryTypeName","src":"34346:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4332,"mutability":"mutable","name":"fungibleTokenInfo","nameLocation":"34391:17:4","nodeType":"VariableDeclaration","scope":4334,"src":"34366:42:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FungibleTokenInfo_$3850_memory_ptr","typeString":"struct IHederaTokenService.FungibleTokenInfo"},"typeName":{"id":4331,"nodeType":"UserDefinedTypeName","pathNode":{"id":4330,"name":"FungibleTokenInfo","nameLocations":["34366:17:4"],"nodeType":"IdentifierPath","referencedDeclaration":3850,"src":"34366:17:4"},"referencedDeclaration":3850,"src":"34366:17:4","typeDescriptions":{"typeIdentifier":"t_struct$_FungibleTokenInfo_$3850_storage_ptr","typeString":"struct IHederaTokenService.FungibleTokenInfo"}},"visibility":"internal"}],"src":"34345:64:4"},"scope":4596,"src":"34275:135:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4335,"nodeType":"StructuredDocumentation","src":"34416:214:4","text":"Query token info\n @param token The token address to check\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return tokenInfo TokenInfo info for `token`"},"functionSelector":"1f69565f","id":4345,"implemented":false,"kind":"function","modifiers":[],"name":"getTokenInfo","nameLocation":"34644:12:4","nodeType":"FunctionDefinition","parameters":{"id":4338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4337,"mutability":"mutable","name":"token","nameLocation":"34665:5:4","nodeType":"VariableDeclaration","scope":4345,"src":"34657:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4336,"name":"address","nodeType":"ElementaryTypeName","src":"34657:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34656:15:4"},"returnParameters":{"id":4344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4340,"mutability":"mutable","name":"responseCode","nameLocation":"34704:12:4","nodeType":"VariableDeclaration","scope":4345,"src":"34698:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4339,"name":"int64","nodeType":"ElementaryTypeName","src":"34698:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4343,"mutability":"mutable","name":"tokenInfo","nameLocation":"34735:9:4","nodeType":"VariableDeclaration","scope":4345,"src":"34718:26:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$3842_memory_ptr","typeString":"struct IHederaTokenService.TokenInfo"},"typeName":{"id":4342,"nodeType":"UserDefinedTypeName","pathNode":{"id":4341,"name":"TokenInfo","nameLocations":["34718:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":3842,"src":"34718:9:4"},"referencedDeclaration":3842,"src":"34718:9:4","typeDescriptions":{"typeIdentifier":"t_struct$_TokenInfo_$3842_storage_ptr","typeString":"struct IHederaTokenService.TokenInfo"}},"visibility":"internal"}],"src":"34697:48:4"},"scope":4596,"src":"34635:111:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4346,"nodeType":"StructuredDocumentation","src":"34752:284:4","text":"Query token KeyValue\n @param token The token address to check\n @param keyType The keyType of the desired KeyValue\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return key KeyValue info for key of type `keyType`"},"functionSelector":"3c4dd32e","id":4358,"implemented":false,"kind":"function","modifiers":[],"name":"getTokenKey","nameLocation":"35050:11:4","nodeType":"FunctionDefinition","parameters":{"id":4351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4348,"mutability":"mutable","name":"token","nameLocation":"35070:5:4","nodeType":"VariableDeclaration","scope":4358,"src":"35062:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4347,"name":"address","nodeType":"ElementaryTypeName","src":"35062:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4350,"mutability":"mutable","name":"keyType","nameLocation":"35082:7:4","nodeType":"VariableDeclaration","scope":4358,"src":"35077:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4349,"name":"uint","nodeType":"ElementaryTypeName","src":"35077:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35061:29:4"},"returnParameters":{"id":4357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4353,"mutability":"mutable","name":"responseCode","nameLocation":"35123:12:4","nodeType":"VariableDeclaration","scope":4358,"src":"35117:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4352,"name":"int64","nodeType":"ElementaryTypeName","src":"35117:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4356,"mutability":"mutable","name":"key","nameLocation":"35153:3:4","nodeType":"VariableDeclaration","scope":4358,"src":"35137:19:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue"},"typeName":{"id":4355,"nodeType":"UserDefinedTypeName","pathNode":{"id":4354,"name":"KeyValue","nameLocations":["35137:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3779,"src":"35137:8:4"},"referencedDeclaration":3779,"src":"35137:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_storage_ptr","typeString":"struct IHederaTokenService.KeyValue"}},"visibility":"internal"}],"src":"35116:41:4"},"scope":4596,"src":"35041:117:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4359,"nodeType":"StructuredDocumentation","src":"35164:322:4","text":"Query non fungible token info\n @param token The token address to check\n @param serialNumber The NFT serialNumber to check\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return nonFungibleTokenInfo NonFungibleTokenInfo info for `token` `serialNumber`"},"functionSelector":"287e1da8","id":4371,"implemented":false,"kind":"function","modifiers":[],"name":"getNonFungibleTokenInfo","nameLocation":"35500:23:4","nodeType":"FunctionDefinition","parameters":{"id":4364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4361,"mutability":"mutable","name":"token","nameLocation":"35532:5:4","nodeType":"VariableDeclaration","scope":4371,"src":"35524:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4360,"name":"address","nodeType":"ElementaryTypeName","src":"35524:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4363,"mutability":"mutable","name":"serialNumber","nameLocation":"35545:12:4","nodeType":"VariableDeclaration","scope":4371,"src":"35539:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4362,"name":"int64","nodeType":"ElementaryTypeName","src":"35539:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"35523:35:4"},"returnParameters":{"id":4370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4366,"mutability":"mutable","name":"responseCode","nameLocation":"35591:12:4","nodeType":"VariableDeclaration","scope":4371,"src":"35585:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4365,"name":"int64","nodeType":"ElementaryTypeName","src":"35585:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4369,"mutability":"mutable","name":"nonFungibleTokenInfo","nameLocation":"35633:20:4","nodeType":"VariableDeclaration","scope":4371,"src":"35605:48:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_NonFungibleTokenInfo_$3870_memory_ptr","typeString":"struct IHederaTokenService.NonFungibleTokenInfo"},"typeName":{"id":4368,"nodeType":"UserDefinedTypeName","pathNode":{"id":4367,"name":"NonFungibleTokenInfo","nameLocations":["35605:20:4"],"nodeType":"IdentifierPath","referencedDeclaration":3870,"src":"35605:20:4"},"referencedDeclaration":3870,"src":"35605:20:4","typeDescriptions":{"typeIdentifier":"t_struct$_NonFungibleTokenInfo_$3870_storage_ptr","typeString":"struct IHederaTokenService.NonFungibleTokenInfo"}},"visibility":"internal"}],"src":"35584:70:4"},"scope":4596,"src":"35491:164:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4372,"nodeType":"StructuredDocumentation","src":"35661:225:4","text":"Operation to freeze token account\n @param token The token address\n @param account The account address to be frozen\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"5b8f8584","id":4381,"implemented":false,"kind":"function","modifiers":[],"name":"freezeToken","nameLocation":"35900:11:4","nodeType":"FunctionDefinition","parameters":{"id":4377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4374,"mutability":"mutable","name":"token","nameLocation":"35920:5:4","nodeType":"VariableDeclaration","scope":4381,"src":"35912:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4373,"name":"address","nodeType":"ElementaryTypeName","src":"35912:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4376,"mutability":"mutable","name":"account","nameLocation":"35935:7:4","nodeType":"VariableDeclaration","scope":4381,"src":"35927:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4375,"name":"address","nodeType":"ElementaryTypeName","src":"35927:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35911:32:4"},"returnParameters":{"id":4380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4379,"mutability":"mutable","name":"responseCode","nameLocation":"35976:12:4","nodeType":"VariableDeclaration","scope":4381,"src":"35970:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4378,"name":"int64","nodeType":"ElementaryTypeName","src":"35970:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"35969:20:4"},"scope":4596,"src":"35891:99:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4382,"nodeType":"StructuredDocumentation","src":"35996:229:4","text":"Operation to unfreeze token account\n @param token The token address\n @param account The account address to be unfrozen\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"52f91387","id":4391,"implemented":false,"kind":"function","modifiers":[],"name":"unfreezeToken","nameLocation":"36239:13:4","nodeType":"FunctionDefinition","parameters":{"id":4387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4384,"mutability":"mutable","name":"token","nameLocation":"36261:5:4","nodeType":"VariableDeclaration","scope":4391,"src":"36253:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4383,"name":"address","nodeType":"ElementaryTypeName","src":"36253:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4386,"mutability":"mutable","name":"account","nameLocation":"36276:7:4","nodeType":"VariableDeclaration","scope":4391,"src":"36268:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4385,"name":"address","nodeType":"ElementaryTypeName","src":"36268:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36252:32:4"},"returnParameters":{"id":4390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4389,"mutability":"mutable","name":"responseCode","nameLocation":"36317:12:4","nodeType":"VariableDeclaration","scope":4391,"src":"36311:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4388,"name":"int64","nodeType":"ElementaryTypeName","src":"36311:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"36310:20:4"},"scope":4596,"src":"36230:101:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4392,"nodeType":"StructuredDocumentation","src":"36337:231:4","text":"Operation to grant kyc to token account\n @param token The token address\n @param account The account address to grant kyc\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"8f8d7f99","id":4401,"implemented":false,"kind":"function","modifiers":[],"name":"grantTokenKyc","nameLocation":"36582:13:4","nodeType":"FunctionDefinition","parameters":{"id":4397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4394,"mutability":"mutable","name":"token","nameLocation":"36604:5:4","nodeType":"VariableDeclaration","scope":4401,"src":"36596:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4393,"name":"address","nodeType":"ElementaryTypeName","src":"36596:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4396,"mutability":"mutable","name":"account","nameLocation":"36619:7:4","nodeType":"VariableDeclaration","scope":4401,"src":"36611:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4395,"name":"address","nodeType":"ElementaryTypeName","src":"36611:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36595:32:4"},"returnParameters":{"id":4400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4399,"mutability":"mutable","name":"responseCode","nameLocation":"36660:12:4","nodeType":"VariableDeclaration","scope":4401,"src":"36654:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4398,"name":"int64","nodeType":"ElementaryTypeName","src":"36654:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"36653:20:4"},"scope":4596,"src":"36573:101:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4402,"nodeType":"StructuredDocumentation","src":"36680:233:4","text":"Operation to revoke kyc to token account\n @param token The token address\n @param account The account address to revoke kyc\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"af99c633","id":4411,"implemented":false,"kind":"function","modifiers":[],"name":"revokeTokenKyc","nameLocation":"36927:14:4","nodeType":"FunctionDefinition","parameters":{"id":4407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4404,"mutability":"mutable","name":"token","nameLocation":"36950:5:4","nodeType":"VariableDeclaration","scope":4411,"src":"36942:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4403,"name":"address","nodeType":"ElementaryTypeName","src":"36942:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4406,"mutability":"mutable","name":"account","nameLocation":"36965:7:4","nodeType":"VariableDeclaration","scope":4411,"src":"36957:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4405,"name":"address","nodeType":"ElementaryTypeName","src":"36957:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36941:32:4"},"returnParameters":{"id":4410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4409,"mutability":"mutable","name":"responseCode","nameLocation":"37006:12:4","nodeType":"VariableDeclaration","scope":4411,"src":"37000:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4408,"name":"int64","nodeType":"ElementaryTypeName","src":"37000:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"36999:20:4"},"scope":4596,"src":"36918:102:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4412,"nodeType":"StructuredDocumentation","src":"37026:173:4","text":"Operation to pause token\n @param token The token address to be paused\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"7c41ad2c","id":4419,"implemented":false,"kind":"function","modifiers":[],"name":"pauseToken","nameLocation":"37213:10:4","nodeType":"FunctionDefinition","parameters":{"id":4415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4414,"mutability":"mutable","name":"token","nameLocation":"37232:5:4","nodeType":"VariableDeclaration","scope":4419,"src":"37224:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4413,"name":"address","nodeType":"ElementaryTypeName","src":"37224:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37223:15:4"},"returnParameters":{"id":4418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4417,"mutability":"mutable","name":"responseCode","nameLocation":"37263:12:4","nodeType":"VariableDeclaration","scope":4419,"src":"37257:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4416,"name":"int64","nodeType":"ElementaryTypeName","src":"37257:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"37256:20:4"},"scope":4596,"src":"37204:73:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4420,"nodeType":"StructuredDocumentation","src":"37283:177:4","text":"Operation to unpause token\n @param token The token address to be unpaused\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"3b3bff0f","id":4427,"implemented":false,"kind":"function","modifiers":[],"name":"unpauseToken","nameLocation":"37474:12:4","nodeType":"FunctionDefinition","parameters":{"id":4423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4422,"mutability":"mutable","name":"token","nameLocation":"37495:5:4","nodeType":"VariableDeclaration","scope":4427,"src":"37487:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4421,"name":"address","nodeType":"ElementaryTypeName","src":"37487:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37486:15:4"},"returnParameters":{"id":4426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4425,"mutability":"mutable","name":"responseCode","nameLocation":"37526:12:4","nodeType":"VariableDeclaration","scope":4427,"src":"37520:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4424,"name":"int64","nodeType":"ElementaryTypeName","src":"37520:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"37519:20:4"},"scope":4596,"src":"37465:75:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4428,"nodeType":"StructuredDocumentation","src":"37546:290:4","text":"Operation to wipe fungible tokens from account\n @param token The token address\n @param account The account address to revoke kyc\n @param amount The number of tokens to wipe\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"efef57f9","id":4439,"implemented":false,"kind":"function","modifiers":[],"name":"wipeTokenAccount","nameLocation":"37850:16:4","nodeType":"FunctionDefinition","parameters":{"id":4435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4430,"mutability":"mutable","name":"token","nameLocation":"37884:5:4","nodeType":"VariableDeclaration","scope":4439,"src":"37876:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4429,"name":"address","nodeType":"ElementaryTypeName","src":"37876:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4432,"mutability":"mutable","name":"account","nameLocation":"37907:7:4","nodeType":"VariableDeclaration","scope":4439,"src":"37899:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4431,"name":"address","nodeType":"ElementaryTypeName","src":"37899:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4434,"mutability":"mutable","name":"amount","nameLocation":"37930:6:4","nodeType":"VariableDeclaration","scope":4439,"src":"37924:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4433,"name":"int64","nodeType":"ElementaryTypeName","src":"37924:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"37866:76:4"},"returnParameters":{"id":4438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4437,"mutability":"mutable","name":"responseCode","nameLocation":"37967:12:4","nodeType":"VariableDeclaration","scope":4439,"src":"37961:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4436,"name":"int64","nodeType":"ElementaryTypeName","src":"37961:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"37960:20:4"},"scope":4596,"src":"37841:140:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4440,"nodeType":"StructuredDocumentation","src":"37987:309:4","text":"Operation to wipe non fungible tokens from account\n @param token The token address\n @param account The account address to revoke kyc\n @param serialNumbers The serial numbers of token to wipe\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"f7f38e26","id":4452,"implemented":false,"kind":"function","modifiers":[],"name":"wipeTokenAccountNFT","nameLocation":"38310:19:4","nodeType":"FunctionDefinition","parameters":{"id":4448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4442,"mutability":"mutable","name":"token","nameLocation":"38347:5:4","nodeType":"VariableDeclaration","scope":4452,"src":"38339:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4441,"name":"address","nodeType":"ElementaryTypeName","src":"38339:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4444,"mutability":"mutable","name":"account","nameLocation":"38370:7:4","nodeType":"VariableDeclaration","scope":4452,"src":"38362:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4443,"name":"address","nodeType":"ElementaryTypeName","src":"38362:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4447,"mutability":"mutable","name":"serialNumbers","nameLocation":"38402:13:4","nodeType":"VariableDeclaration","scope":4452,"src":"38387:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_memory_ptr","typeString":"int64[]"},"typeName":{"baseType":{"id":4445,"name":"int64","nodeType":"ElementaryTypeName","src":"38387:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":4446,"nodeType":"ArrayTypeName","src":"38387:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_int64_$dyn_storage_ptr","typeString":"int64[]"}},"visibility":"internal"}],"src":"38329:92:4"},"returnParameters":{"id":4451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4450,"mutability":"mutable","name":"responseCode","nameLocation":"38446:12:4","nodeType":"VariableDeclaration","scope":4452,"src":"38440:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4449,"name":"int64","nodeType":"ElementaryTypeName","src":"38440:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"38439:20:4"},"scope":4596,"src":"38301:159:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4453,"nodeType":"StructuredDocumentation","src":"38466:234:4","text":"Operation to update token info\n @param token The token address\n @param tokenInfo The hedera token info to update token with\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"7d305cfa","id":4463,"implemented":false,"kind":"function","modifiers":[],"name":"updateTokenInfo","nameLocation":"38714:15:4","nodeType":"FunctionDefinition","parameters":{"id":4459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4455,"mutability":"mutable","name":"token","nameLocation":"38738:5:4","nodeType":"VariableDeclaration","scope":4463,"src":"38730:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4454,"name":"address","nodeType":"ElementaryTypeName","src":"38730:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4458,"mutability":"mutable","name":"tokenInfo","nameLocation":"38764:9:4","nodeType":"VariableDeclaration","scope":4463,"src":"38745:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_memory_ptr","typeString":"struct IHederaTokenService.HederaToken"},"typeName":{"id":4457,"nodeType":"UserDefinedTypeName","pathNode":{"id":4456,"name":"HederaToken","nameLocations":["38745:11:4"],"nodeType":"IdentifierPath","referencedDeclaration":3807,"src":"38745:11:4"},"referencedDeclaration":3807,"src":"38745:11:4","typeDescriptions":{"typeIdentifier":"t_struct$_HederaToken_$3807_storage_ptr","typeString":"struct IHederaTokenService.HederaToken"}},"visibility":"internal"}],"src":"38729:45:4"},"returnParameters":{"id":4462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4461,"mutability":"mutable","name":"responseCode","nameLocation":"38807:12:4","nodeType":"VariableDeclaration","scope":4463,"src":"38801:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4460,"name":"int64","nodeType":"ElementaryTypeName","src":"38801:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"38800:20:4"},"scope":4596,"src":"38705:116:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4464,"nodeType":"StructuredDocumentation","src":"38827:228:4","text":"Operation to update token expiry info\n @param token The token address\n @param expiryInfo The hedera token expiry info\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"d27be6cd","id":4474,"implemented":false,"kind":"function","modifiers":[],"name":"updateTokenExpiryInfo","nameLocation":"39069:21:4","nodeType":"FunctionDefinition","parameters":{"id":4470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4466,"mutability":"mutable","name":"token","nameLocation":"39099:5:4","nodeType":"VariableDeclaration","scope":4474,"src":"39091:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4465,"name":"address","nodeType":"ElementaryTypeName","src":"39091:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4469,"mutability":"mutable","name":"expiryInfo","nameLocation":"39120:10:4","nodeType":"VariableDeclaration","scope":4474,"src":"39106:24:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_memory_ptr","typeString":"struct IHederaTokenService.Expiry"},"typeName":{"id":4468,"nodeType":"UserDefinedTypeName","pathNode":{"id":4467,"name":"Expiry","nameLocations":["39106:6:4"],"nodeType":"IdentifierPath","referencedDeclaration":3768,"src":"39106:6:4"},"referencedDeclaration":3768,"src":"39106:6:4","typeDescriptions":{"typeIdentifier":"t_struct$_Expiry_$3768_storage_ptr","typeString":"struct IHederaTokenService.Expiry"}},"visibility":"internal"}],"src":"39090:41:4"},"returnParameters":{"id":4473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4472,"mutability":"mutable","name":"responseCode","nameLocation":"39164:12:4","nodeType":"VariableDeclaration","scope":4474,"src":"39158:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4471,"name":"int64","nodeType":"ElementaryTypeName","src":"39158:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"39157:20:4"},"scope":4596,"src":"39060:118:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4475,"nodeType":"StructuredDocumentation","src":"39184:208:4","text":"Operation to update token expiry info\n @param token The token address\n @param keys The token keys\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"6fc3cbaf","id":4486,"implemented":false,"kind":"function","modifiers":[],"name":"updateTokenKeys","nameLocation":"39406:15:4","nodeType":"FunctionDefinition","parameters":{"id":4482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4477,"mutability":"mutable","name":"token","nameLocation":"39430:5:4","nodeType":"VariableDeclaration","scope":4486,"src":"39422:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4476,"name":"address","nodeType":"ElementaryTypeName","src":"39422:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4481,"mutability":"mutable","name":"keys","nameLocation":"39455:4:4","nodeType":"VariableDeclaration","scope":4486,"src":"39437:22:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey[]"},"typeName":{"baseType":{"id":4479,"nodeType":"UserDefinedTypeName","pathNode":{"id":4478,"name":"TokenKey","nameLocations":["39437:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"39437:8:4"},"referencedDeclaration":3785,"src":"39437:8:4","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":4480,"nodeType":"ArrayTypeName","src":"39437:10:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}},"visibility":"internal"}],"src":"39421:39:4"},"returnParameters":{"id":4485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4484,"mutability":"mutable","name":"responseCode","nameLocation":"39493:12:4","nodeType":"VariableDeclaration","scope":4486,"src":"39487:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4483,"name":"int64","nodeType":"ElementaryTypeName","src":"39487:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"39486:20:4"},"scope":4596,"src":"39397:110:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4487,"nodeType":"StructuredDocumentation","src":"39513:256:4","text":"Query if valid token found for the given address\n @param token The token address\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return isToken True if valid token found for the given address"},"functionSelector":"19f37361","id":4496,"implemented":false,"kind":"function","modifiers":[],"name":"isToken","nameLocation":"39783:7:4","nodeType":"FunctionDefinition","parameters":{"id":4490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4489,"mutability":"mutable","name":"token","nameLocation":"39799:5:4","nodeType":"VariableDeclaration","scope":4496,"src":"39791:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4488,"name":"address","nodeType":"ElementaryTypeName","src":"39791:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39790:15:4"},"returnParameters":{"id":4495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4492,"mutability":"mutable","name":"responseCode","nameLocation":"39838:12:4","nodeType":"VariableDeclaration","scope":4496,"src":"39832:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4491,"name":"int64","nodeType":"ElementaryTypeName","src":"39832:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4494,"mutability":"mutable","name":"isToken","nameLocation":"39857:7:4","nodeType":"VariableDeclaration","scope":4496,"src":"39852:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4493,"name":"bool","nodeType":"ElementaryTypeName","src":"39852:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39831:34:4"},"scope":4596,"src":"39774:92:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4497,"nodeType":"StructuredDocumentation","src":"39872:295:4","text":"Query to return the token type for a given address\n @param token The token address\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return tokenType the token type. 0 is FUNGIBLE_COMMON, 1 is NON_FUNGIBLE_UNIQUE, -1 is UNRECOGNIZED"},"functionSelector":"93272baf","id":4506,"implemented":false,"kind":"function","modifiers":[],"name":"getTokenType","nameLocation":"40181:12:4","nodeType":"FunctionDefinition","parameters":{"id":4500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4499,"mutability":"mutable","name":"token","nameLocation":"40202:5:4","nodeType":"VariableDeclaration","scope":4506,"src":"40194:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4498,"name":"address","nodeType":"ElementaryTypeName","src":"40194:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40193:15:4"},"returnParameters":{"id":4505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4502,"mutability":"mutable","name":"responseCode","nameLocation":"40241:12:4","nodeType":"VariableDeclaration","scope":4506,"src":"40235:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4501,"name":"int64","nodeType":"ElementaryTypeName","src":"40235:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4504,"mutability":"mutable","name":"tokenType","nameLocation":"40261:9:4","nodeType":"VariableDeclaration","scope":4506,"src":"40255:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":4503,"name":"int32","nodeType":"ElementaryTypeName","src":"40255:5:4","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"40234:37:4"},"scope":4596,"src":"40172:100:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4507,"nodeType":"StructuredDocumentation","src":"40278:388:4","text":"Initiates a Redirect For Token\n @param token The token address\n @param encodedFunctionSelector The function selector from the ERC20 interface + the bytes input for the function called\n @return responseCode The response code for the status of the request. SUCCESS is 22.\n @return response The result of the call that had been encoded and sent for execution."},"functionSelector":"618dc65e","id":4518,"implemented":false,"kind":"function","modifiers":[],"name":"redirectForToken","nameLocation":"40680:16:4","nodeType":"FunctionDefinition","parameters":{"id":4512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4509,"mutability":"mutable","name":"token","nameLocation":"40705:5:4","nodeType":"VariableDeclaration","scope":4518,"src":"40697:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4508,"name":"address","nodeType":"ElementaryTypeName","src":"40697:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4511,"mutability":"mutable","name":"encodedFunctionSelector","nameLocation":"40725:23:4","nodeType":"VariableDeclaration","scope":4518,"src":"40712:36:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4510,"name":"bytes","nodeType":"ElementaryTypeName","src":"40712:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"40696:53:4"},"returnParameters":{"id":4517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4514,"mutability":"mutable","name":"responseCode","nameLocation":"40774:12:4","nodeType":"VariableDeclaration","scope":4518,"src":"40768:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4513,"name":"int64","nodeType":"ElementaryTypeName","src":"40768:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":4516,"mutability":"mutable","name":"response","nameLocation":"40801:8:4","nodeType":"VariableDeclaration","scope":4518,"src":"40788:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4515,"name":"bytes","nodeType":"ElementaryTypeName","src":"40788:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"40767:43:4"},"scope":4596,"src":"40671:140:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4519,"nodeType":"StructuredDocumentation","src":"40817:299:4","text":"Update the custom fees for a fungible token\n @param token The token address\n @param fixedFees Set of fixed fees for `token`\n @param fractionalFees Set of fractional fees for `token`\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"d5f60c47","id":4534,"implemented":false,"kind":"function","modifiers":[],"name":"updateFungibleTokenCustomFees","nameLocation":"41130:29:4","nodeType":"FunctionDefinition","parameters":{"id":4530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4521,"mutability":"mutable","name":"token","nameLocation":"41168:5:4","nodeType":"VariableDeclaration","scope":4534,"src":"41160:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4520,"name":"address","nodeType":"ElementaryTypeName","src":"41160:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4525,"mutability":"mutable","name":"fixedFees","nameLocation":"41214:9:4","nodeType":"VariableDeclaration","scope":4534,"src":"41176:47:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee[]"},"typeName":{"baseType":{"id":4523,"nodeType":"UserDefinedTypeName","pathNode":{"id":4522,"name":"IHederaTokenService.FixedFee","nameLocations":["41176:19:4","41196:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3881,"src":"41176:28:4"},"referencedDeclaration":3881,"src":"41176:28:4","typeDescriptions":{"typeIdentifier":"t_struct$_FixedFee_$3881_storage_ptr","typeString":"struct IHederaTokenService.FixedFee"}},"id":4524,"nodeType":"ArrayTypeName","src":"41176:30:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"}},"visibility":"internal"},{"constant":false,"id":4529,"mutability":"mutable","name":"fractionalFees","nameLocation":"41268:14:4","nodeType":"VariableDeclaration","scope":4534,"src":"41225:57:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"},"typeName":{"baseType":{"id":4527,"nodeType":"UserDefinedTypeName","pathNode":{"id":4526,"name":"IHederaTokenService.FractionalFee","nameLocations":["41225:19:4","41245:13:4"],"nodeType":"IdentifierPath","referencedDeclaration":3894,"src":"41225:33:4"},"referencedDeclaration":3894,"src":"41225:33:4","typeDescriptions":{"typeIdentifier":"t_struct$_FractionalFee_$3894_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee"}},"id":4528,"nodeType":"ArrayTypeName","src":"41225:35:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FractionalFee_$3894_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FractionalFee[]"}},"visibility":"internal"}],"src":"41159:124:4"},"returnParameters":{"id":4533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4532,"mutability":"mutable","name":"responseCode","nameLocation":"41308:12:4","nodeType":"VariableDeclaration","scope":4534,"src":"41302:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4531,"name":"int64","nodeType":"ElementaryTypeName","src":"41302:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"41301:20:4"},"scope":4596,"src":"41121:201:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4535,"nodeType":"StructuredDocumentation","src":"41328:297:4","text":"Update the custom fees for a non-fungible token\n @param token The token address\n @param fixedFees Set of fixed fees for `token`\n @param royaltyFees Set of royalty fees for `token`\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"30727a29","id":4550,"implemented":false,"kind":"function","modifiers":[],"name":"updateNonFungibleTokenCustomFees","nameLocation":"41639:32:4","nodeType":"FunctionDefinition","parameters":{"id":4546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4537,"mutability":"mutable","name":"token","nameLocation":"41680:5:4","nodeType":"VariableDeclaration","scope":4550,"src":"41672:13:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4536,"name":"address","nodeType":"ElementaryTypeName","src":"41672:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4541,"mutability":"mutable","name":"fixedFees","nameLocation":"41725:9:4","nodeType":"VariableDeclaration","scope":4550,"src":"41687:47:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.FixedFee[]"},"typeName":{"baseType":{"id":4539,"nodeType":"UserDefinedTypeName","pathNode":{"id":4538,"name":"IHederaTokenService.FixedFee","nameLocations":["41687:19:4","41707:8:4"],"nodeType":"IdentifierPath","referencedDeclaration":3881,"src":"41687:28:4"},"referencedDeclaration":3881,"src":"41687:28:4","typeDescriptions":{"typeIdentifier":"t_struct$_FixedFee_$3881_storage_ptr","typeString":"struct IHederaTokenService.FixedFee"}},"id":4540,"nodeType":"ArrayTypeName","src":"41687:30:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_FixedFee_$3881_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.FixedFee[]"}},"visibility":"internal"},{"constant":false,"id":4545,"mutability":"mutable","name":"royaltyFees","nameLocation":"41776:11:4","nodeType":"VariableDeclaration","scope":4550,"src":"41736:51:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"},"typeName":{"baseType":{"id":4543,"nodeType":"UserDefinedTypeName","pathNode":{"id":4542,"name":"IHederaTokenService.RoyaltyFee","nameLocations":["41736:19:4","41756:10:4"],"nodeType":"IdentifierPath","referencedDeclaration":3907,"src":"41736:30:4"},"referencedDeclaration":3907,"src":"41736:30:4","typeDescriptions":{"typeIdentifier":"t_struct$_RoyaltyFee_$3907_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee"}},"id":4544,"nodeType":"ArrayTypeName","src":"41736:32:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_RoyaltyFee_$3907_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.RoyaltyFee[]"}},"visibility":"internal"}],"src":"41671:117:4"},"returnParameters":{"id":4549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4548,"mutability":"mutable","name":"responseCode","nameLocation":"41813:12:4","nodeType":"VariableDeclaration","scope":4550,"src":"41807:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4547,"name":"int64","nodeType":"ElementaryTypeName","src":"41807:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"41806:20:4"},"scope":4596,"src":"41630:197:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4551,"nodeType":"StructuredDocumentation","src":"41833:888:4","text":"@notice Airdrop one or more tokens to one or more accounts\n @notice Recipients will receive tokens in one of these ways:\n @notice - Immediately if already associated with the token\n @notice - Immediately with auto-association if they have available slots\n @notice - As a pending airdrop requiring claim if they have \"receiver signature required\"\n @notice - As a pending airdrop requiring claim if they have no available auto-association slots\n @notice Immediate airdrops are irreversible, pending airdrops can be canceled\n @notice All transfer fees and auto-renewal rent costs are charged to the transaction submitter\n @param tokenTransfers Array of token transfer lists containing token addresses and recipient details\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"2f348119","id":4560,"implemented":false,"kind":"function","modifiers":[],"name":"airdropTokens","nameLocation":"42735:13:4","nodeType":"FunctionDefinition","parameters":{"id":4556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4555,"mutability":"mutable","name":"tokenTransfers","nameLocation":"42776:14:4","nodeType":"VariableDeclaration","scope":4560,"src":"42749:41:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenTransferList_$3756_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenTransferList[]"},"typeName":{"baseType":{"id":4553,"nodeType":"UserDefinedTypeName","pathNode":{"id":4552,"name":"TokenTransferList","nameLocations":["42749:17:4"],"nodeType":"IdentifierPath","referencedDeclaration":3756,"src":"42749:17:4"},"referencedDeclaration":3756,"src":"42749:17:4","typeDescriptions":{"typeIdentifier":"t_struct$_TokenTransferList_$3756_storage_ptr","typeString":"struct IHederaTokenService.TokenTransferList"}},"id":4554,"nodeType":"ArrayTypeName","src":"42749:19:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenTransferList_$3756_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenTransferList[]"}},"visibility":"internal"}],"src":"42748:43:4"},"returnParameters":{"id":4559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4558,"mutability":"mutable","name":"responseCode","nameLocation":"42816:12:4","nodeType":"VariableDeclaration","scope":4560,"src":"42810:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4557,"name":"int64","nodeType":"ElementaryTypeName","src":"42810:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"42809:20:4"},"scope":4596,"src":"42726:104:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4561,"nodeType":"StructuredDocumentation","src":"42836:227:4","text":"@notice Cancels pending airdrops that have not yet been claimed\n @param pendingAirdrops Array of pending airdrops to cancel\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"012ebcaf","id":4570,"implemented":false,"kind":"function","modifiers":[],"name":"cancelAirdrops","nameLocation":"43077:14:4","nodeType":"FunctionDefinition","parameters":{"id":4566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4565,"mutability":"mutable","name":"pendingAirdrops","nameLocation":"43116:15:4","nodeType":"VariableDeclaration","scope":4570,"src":"43092:39:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PendingAirdrop_$3916_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.PendingAirdrop[]"},"typeName":{"baseType":{"id":4563,"nodeType":"UserDefinedTypeName","pathNode":{"id":4562,"name":"PendingAirdrop","nameLocations":["43092:14:4"],"nodeType":"IdentifierPath","referencedDeclaration":3916,"src":"43092:14:4"},"referencedDeclaration":3916,"src":"43092:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_PendingAirdrop_$3916_storage_ptr","typeString":"struct IHederaTokenService.PendingAirdrop"}},"id":4564,"nodeType":"ArrayTypeName","src":"43092:16:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PendingAirdrop_$3916_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.PendingAirdrop[]"}},"visibility":"internal"}],"src":"43091:41:4"},"returnParameters":{"id":4569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4568,"mutability":"mutable","name":"responseCode","nameLocation":"43157:12:4","nodeType":"VariableDeclaration","scope":4570,"src":"43151:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4567,"name":"int64","nodeType":"ElementaryTypeName","src":"43151:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"43150:20:4"},"scope":4596,"src":"43068:103:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4571,"nodeType":"StructuredDocumentation","src":"43177:232:4","text":"@notice Claims pending airdrops that were sent to the calling account\n @param pendingAirdrops Array of pending airdrops to claim\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"05961641","id":4580,"implemented":false,"kind":"function","modifiers":[],"name":"claimAirdrops","nameLocation":"43423:13:4","nodeType":"FunctionDefinition","parameters":{"id":4576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4575,"mutability":"mutable","name":"pendingAirdrops","nameLocation":"43461:15:4","nodeType":"VariableDeclaration","scope":4580,"src":"43437:39:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PendingAirdrop_$3916_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.PendingAirdrop[]"},"typeName":{"baseType":{"id":4573,"nodeType":"UserDefinedTypeName","pathNode":{"id":4572,"name":"PendingAirdrop","nameLocations":["43437:14:4"],"nodeType":"IdentifierPath","referencedDeclaration":3916,"src":"43437:14:4"},"referencedDeclaration":3916,"src":"43437:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_PendingAirdrop_$3916_storage_ptr","typeString":"struct IHederaTokenService.PendingAirdrop"}},"id":4574,"nodeType":"ArrayTypeName","src":"43437:16:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PendingAirdrop_$3916_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.PendingAirdrop[]"}},"visibility":"internal"}],"src":"43436:41:4"},"returnParameters":{"id":4579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4578,"mutability":"mutable","name":"responseCode","nameLocation":"43502:12:4","nodeType":"VariableDeclaration","scope":4580,"src":"43496:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4577,"name":"int64","nodeType":"ElementaryTypeName","src":"43496:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"43495:20:4"},"scope":4596,"src":"43414:102:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"documentation":{"id":4581,"nodeType":"StructuredDocumentation","src":"43522:788:4","text":"@notice Rejects one or more tokens by transferring their full balance from the requesting account to the treasury\n @notice This transfer does not charge any custom fees or royalties defined for the tokens\n @notice For fungible tokens, the requesting account's balance will become 0 and the treasury balance will increase by that amount\n @notice For non-fungible tokens, the requesting account will no longer hold the rejected serial numbers and they will be transferred to the treasury\n @param rejectingAddress The address rejecting the tokens\n @param ftAddresses Array of fungible token addresses to reject\n @param nftIDs Array of NFT IDs to reject\n @return responseCode The response code for the status of the request. SUCCESS is 22."},"functionSelector":"ebd595e0","id":4595,"implemented":false,"kind":"function","modifiers":[],"name":"rejectTokens","nameLocation":"44324:12:4","nodeType":"FunctionDefinition","parameters":{"id":4591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4583,"mutability":"mutable","name":"rejectingAddress","nameLocation":"44345:16:4","nodeType":"VariableDeclaration","scope":4595,"src":"44337:24:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4582,"name":"address","nodeType":"ElementaryTypeName","src":"44337:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4586,"mutability":"mutable","name":"ftAddresses","nameLocation":"44380:11:4","nodeType":"VariableDeclaration","scope":4595,"src":"44363:28:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":4584,"name":"address","nodeType":"ElementaryTypeName","src":"44363:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4585,"nodeType":"ArrayTypeName","src":"44363:9:4","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":4590,"mutability":"mutable","name":"nftIDs","nameLocation":"44408:6:4","nodeType":"VariableDeclaration","scope":4595,"src":"44393:21:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_NftID_$3921_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.NftID[]"},"typeName":{"baseType":{"id":4588,"nodeType":"UserDefinedTypeName","pathNode":{"id":4587,"name":"NftID","nameLocations":["44393:5:4"],"nodeType":"IdentifierPath","referencedDeclaration":3921,"src":"44393:5:4"},"referencedDeclaration":3921,"src":"44393:5:4","typeDescriptions":{"typeIdentifier":"t_struct$_NftID_$3921_storage_ptr","typeString":"struct IHederaTokenService.NftID"}},"id":4589,"nodeType":"ArrayTypeName","src":"44393:7:4","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_NftID_$3921_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.NftID[]"}},"visibility":"internal"}],"src":"44336:79:4"},"returnParameters":{"id":4594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4593,"mutability":"mutable","name":"responseCode","nameLocation":"44440:12:4","nodeType":"VariableDeclaration","scope":4595,"src":"44434:18:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":4592,"name":"int64","nodeType":"ElementaryTypeName","src":"44434:5:4","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"44433:20:4"},"scope":4596,"src":"44315:139:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":4597,"src":"106:44350:4","usedErrors":[]}],"src":"39:44417:4"},"id":4},"contracts/utils/KeyHelper.sol":{"ast":{"absolutePath":"contracts/utils/KeyHelper.sol","exportedSymbols":{"Bits":[5194],"HederaResponseCodes":[1220],"HederaTokenService":[3726],"IHederaTokenService":[4596],"KeyHelper":[5170]},"id":5195,"license":"Apache-2.0","nodeType":"SourceUnit","nodes":[{"id":4598,"literals":["solidity",">=","0.5",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"39:31:5"},{"id":4599,"literals":["experimental","ABIEncoderV2"],"nodeType":"PragmaDirective","src":"71:33:5"},{"absolutePath":"contracts/utils/HederaTokenService.sol","file":"./HederaTokenService.sol","id":4600,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":5195,"sourceUnit":3727,"src":"106:34:5","symbolAliases":[],"unitAlias":""},{"abstract":true,"baseContracts":[],"canonicalName":"KeyHelper","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":5170,"linearizedBaseContracts":[5170],"name":"KeyHelper","nameLocation":"160:9:5","nodeType":"ContractDefinition","nodes":[{"global":false,"id":4603,"libraryName":{"id":4601,"name":"Bits","nameLocations":["182:4:5"],"nodeType":"IdentifierPath","referencedDeclaration":5194,"src":"182:4:5"},"nodeType":"UsingForDirective","src":"176:23:5","typeName":{"id":4602,"name":"uint256","nodeType":"ElementaryTypeName","src":"191:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"constant":false,"id":4605,"mutability":"mutable","name":"supplyContract","nameLocation":"212:14:5","nodeType":"VariableDeclaration","scope":5170,"src":"204:22:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4604,"name":"address","nodeType":"ElementaryTypeName","src":"204:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4610,"mutability":"mutable","name":"keyTypes","nameLocation":"261:8:5","nodeType":"VariableDeclaration","scope":5170,"src":"233:36:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_KeyType_$4618_$_t_uint256_$","typeString":"mapping(enum KeyHelper.KeyType => uint256)"},"typeName":{"id":4609,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":4607,"nodeType":"UserDefinedTypeName","pathNode":{"id":4606,"name":"KeyType","nameLocations":["241:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":4618,"src":"241:7:5"},"referencedDeclaration":4618,"src":"241:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"nodeType":"Mapping","src":"233:27:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_KeyType_$4618_$_t_uint256_$","typeString":"mapping(enum KeyHelper.KeyType => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":4608,"name":"uint256","nodeType":"ElementaryTypeName","src":"252:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"canonicalName":"KeyHelper.KeyType","id":4618,"members":[{"id":4611,"name":"ADMIN","nameLocation":"299:5:5","nodeType":"EnumValue","src":"299:5:5"},{"id":4612,"name":"KYC","nameLocation":"314:3:5","nodeType":"EnumValue","src":"314:3:5"},{"id":4613,"name":"FREEZE","nameLocation":"327:6:5","nodeType":"EnumValue","src":"327:6:5"},{"id":4614,"name":"WIPE","nameLocation":"343:4:5","nodeType":"EnumValue","src":"343:4:5"},{"id":4615,"name":"SUPPLY","nameLocation":"357:6:5","nodeType":"EnumValue","src":"357:6:5"},{"id":4616,"name":"FEE","nameLocation":"373:3:5","nodeType":"EnumValue","src":"373:3:5"},{"id":4617,"name":"PAUSE","nameLocation":"386:5:5","nodeType":"EnumValue","src":"386:5:5"}],"name":"KeyType","nameLocation":"281:7:5","nodeType":"EnumDefinition","src":"276:121:5"},{"canonicalName":"KeyHelper.KeyValueType","id":4624,"members":[{"id":4619,"name":"INHERIT_ACCOUNT_KEY","nameLocation":"430:19:5","nodeType":"EnumValue","src":"430:19:5"},{"id":4620,"name":"CONTRACT_ID","nameLocation":"459:11:5","nodeType":"EnumValue","src":"459:11:5"},{"id":4621,"name":"ED25519","nameLocation":"480:7:5","nodeType":"EnumValue","src":"480:7:5"},{"id":4622,"name":"SECP256K1","nameLocation":"497:9:5","nodeType":"EnumValue","src":"497:9:5"},{"id":4623,"name":"DELEGETABLE_CONTRACT_ID","nameLocation":"516:23:5","nodeType":"EnumValue","src":"516:23:5"}],"name":"KeyValueType","nameLocation":"407:12:5","nodeType":"EnumDefinition","src":"402:143:5"},{"body":{"id":4676,"nodeType":"Block","src":"565:266:5","statements":[{"expression":{"id":4632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4627,"name":"keyTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4610,"src":"575:8:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_KeyType_$4618_$_t_uint256_$","typeString":"mapping(enum KeyHelper.KeyType => uint256)"}},"id":4630,"indexExpression":{"expression":{"id":4628,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"584:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"592:5:5","memberName":"ADMIN","nodeType":"MemberAccess","referencedDeclaration":4611,"src":"584:13:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"575:23:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":4631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"601:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"575:27:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4633,"nodeType":"ExpressionStatement","src":"575:27:5"},{"expression":{"id":4639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4634,"name":"keyTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4610,"src":"612:8:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_KeyType_$4618_$_t_uint256_$","typeString":"mapping(enum KeyHelper.KeyType => uint256)"}},"id":4637,"indexExpression":{"expression":{"id":4635,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"621:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"629:3:5","memberName":"KYC","nodeType":"MemberAccess","referencedDeclaration":4612,"src":"621:11:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"612:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"32","id":4638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"636:1:5","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"612:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4640,"nodeType":"ExpressionStatement","src":"612:25:5"},{"expression":{"id":4646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4641,"name":"keyTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4610,"src":"647:8:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_KeyType_$4618_$_t_uint256_$","typeString":"mapping(enum KeyHelper.KeyType => uint256)"}},"id":4644,"indexExpression":{"expression":{"id":4642,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"656:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"664:6:5","memberName":"FREEZE","nodeType":"MemberAccess","referencedDeclaration":4613,"src":"656:14:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"647:24:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"34","id":4645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"674:1:5","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"647:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4647,"nodeType":"ExpressionStatement","src":"647:28:5"},{"expression":{"id":4653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4648,"name":"keyTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4610,"src":"685:8:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_KeyType_$4618_$_t_uint256_$","typeString":"mapping(enum KeyHelper.KeyType => uint256)"}},"id":4651,"indexExpression":{"expression":{"id":4649,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"694:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"702:4:5","memberName":"WIPE","nodeType":"MemberAccess","referencedDeclaration":4614,"src":"694:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"685:22:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"38","id":4652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"710:1:5","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"685:26:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4654,"nodeType":"ExpressionStatement","src":"685:26:5"},{"expression":{"id":4660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4655,"name":"keyTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4610,"src":"721:8:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_KeyType_$4618_$_t_uint256_$","typeString":"mapping(enum KeyHelper.KeyType => uint256)"}},"id":4658,"indexExpression":{"expression":{"id":4656,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"730:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"738:6:5","memberName":"SUPPLY","nodeType":"MemberAccess","referencedDeclaration":4615,"src":"730:14:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"721:24:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"3136","id":4659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"748:2:5","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"721:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4661,"nodeType":"ExpressionStatement","src":"721:29:5"},{"expression":{"id":4667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4662,"name":"keyTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4610,"src":"760:8:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_KeyType_$4618_$_t_uint256_$","typeString":"mapping(enum KeyHelper.KeyType => uint256)"}},"id":4665,"indexExpression":{"expression":{"id":4663,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"769:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4664,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"777:3:5","memberName":"FEE","nodeType":"MemberAccess","referencedDeclaration":4616,"src":"769:11:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"760:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"3332","id":4666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"784:2:5","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"760:26:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4668,"nodeType":"ExpressionStatement","src":"760:26:5"},{"expression":{"id":4674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4669,"name":"keyTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4610,"src":"796:8:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_KeyType_$4618_$_t_uint256_$","typeString":"mapping(enum KeyHelper.KeyType => uint256)"}},"id":4672,"indexExpression":{"expression":{"id":4670,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"805:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"813:5:5","memberName":"PAUSE","nodeType":"MemberAccess","referencedDeclaration":4617,"src":"805:13:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"796:23:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"3634","id":4673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"822:2:5","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"796:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4675,"nodeType":"ExpressionStatement","src":"796:28:5"}]},"id":4677,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":4625,"nodeType":"ParameterList","parameters":[],"src":"562:2:5"},"returnParameters":{"id":4626,"nodeType":"ParameterList","parameters":[],"src":"565:0:5"},"scope":5170,"src":"551:280:5","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":4724,"nodeType":"Block","src":"930:314:5","statements":[{"expression":{"id":4691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4684,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4682,"src":"940:4:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"32","id":4689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"982:1:5","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}],"id":4688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"947:34:5","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IHederaTokenService.TokenKey memory[] memory)"},"typeName":{"baseType":{"id":4686,"nodeType":"UserDefinedTypeName","pathNode":{"id":4685,"name":"IHederaTokenService.TokenKey","nameLocations":["951:19:5","971:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"951:28:5"},"referencedDeclaration":3785,"src":"951:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":4687,"nodeType":"ArrayTypeName","src":"951:30:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}}},"id":4690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"947:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"src":"940:44:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"id":4692,"nodeType":"ExpressionStatement","src":"940:44:5"},{"expression":{"id":4703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4693,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4682,"src":"994:4:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"id":4695,"indexExpression":{"hexValue":"30","id":4694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"999:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"994:7:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":4697,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"1017:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1025:3:5","memberName":"KYC","nodeType":"MemberAccess","referencedDeclaration":4612,"src":"1017:11:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},{"expression":{"id":4699,"name":"KeyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"1030:12:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyValueType_$4624_$","typeString":"type(enum KeyHelper.KeyValueType)"}},"id":4700,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1043:11:5","memberName":"CONTRACT_ID","nodeType":"MemberAccess","referencedDeclaration":4620,"src":"1030:24:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},{"hexValue":"","id":4701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1056:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":4696,"name":"getSingleKey","nodeType":"Identifier","overloadedDeclarations":[4873,4901,4933],"referencedDeclaration":4873,"src":"1004:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_KeyType_$4618_$_t_enum$_KeyValueType_$4624_$_t_bytes_memory_ptr_$returns$_t_struct$_TokenKey_$3785_memory_ptr_$","typeString":"function (enum KeyHelper.KeyType,enum KeyHelper.KeyValueType,bytes memory) view returns (struct IHederaTokenService.TokenKey memory)"}},"id":4702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1004:55:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"src":"994:65:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"id":4704,"nodeType":"ExpressionStatement","src":"994:65:5"},{"expression":{"id":4722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4705,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4682,"src":"1069:4:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"id":4707,"indexExpression":{"hexValue":"31","id":4706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1074:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1069:7:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":4711,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"1138:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1146:6:5","memberName":"SUPPLY","nodeType":"MemberAccess","referencedDeclaration":4615,"src":"1138:14:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},{"expression":{"id":4713,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"1154:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1162:5:5","memberName":"PAUSE","nodeType":"MemberAccess","referencedDeclaration":4617,"src":"1154:13:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":4710,"name":"getDuplexKeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4965,"src":"1121:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_KeyType_$4618_$_t_enum$_KeyType_$4618_$returns$_t_uint256_$","typeString":"function (enum KeyHelper.KeyType,enum KeyHelper.KeyType) pure returns (uint256)"}},"id":4715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1121:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":4717,"name":"KeyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"1198:12:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyValueType_$4624_$","typeString":"type(enum KeyHelper.KeyValueType)"}},"id":4718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1211:11:5","memberName":"CONTRACT_ID","nodeType":"MemberAccess","referencedDeclaration":4620,"src":"1198:24:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},{"hexValue":"","id":4719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1224:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":4716,"name":"getKeyValueType","nodeType":"Identifier","overloadedDeclarations":[5133,5169],"referencedDeclaration":5133,"src":"1182:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_KeyValueType_$4624_$_t_bytes_memory_ptr_$returns$_t_struct$_KeyValue_$3779_memory_ptr_$","typeString":"function (enum KeyHelper.KeyValueType,bytes memory) view returns (struct IHederaTokenService.KeyValue memory)"}},"id":4720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1182:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}],"expression":{"id":4708,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"1079:19:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":4709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1099:8:5","memberName":"TokenKey","nodeType":"MemberAccess","referencedDeclaration":3785,"src":"1079:28:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TokenKey_$3785_storage_ptr_$","typeString":"type(struct IHederaTokenService.TokenKey storage pointer)"}},"id":4721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1079:158:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"src":"1069:168:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"id":4723,"nodeType":"ExpressionStatement","src":"1069:168:5"}]},"id":4725,"implemented":true,"kind":"function","modifiers":[],"name":"getDefaultKeys","nameLocation":"846:14:5","nodeType":"FunctionDefinition","parameters":{"id":4678,"nodeType":"ParameterList","parameters":[],"src":"860:2:5"},"returnParameters":{"id":4683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4682,"mutability":"mutable","name":"keys","nameLocation":"924:4:5","nodeType":"VariableDeclaration","scope":4725,"src":"886:42:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey[]"},"typeName":{"baseType":{"id":4680,"nodeType":"UserDefinedTypeName","pathNode":{"id":4679,"name":"IHederaTokenService.TokenKey","nameLocations":["886:19:5","906:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"886:28:5"},"referencedDeclaration":3785,"src":"886:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":4681,"nodeType":"ArrayTypeName","src":"886:30:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}},"visibility":"internal"}],"src":"885:44:5"},"scope":5170,"src":"837:407:5","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4760,"nodeType":"Block","src":"1402:163:5","statements":[{"expression":{"id":4744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4737,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4735,"src":"1412:4:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":4742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1454:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":4741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1419:34:5","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IHederaTokenService.TokenKey memory[] memory)"},"typeName":{"baseType":{"id":4739,"nodeType":"UserDefinedTypeName","pathNode":{"id":4738,"name":"IHederaTokenService.TokenKey","nameLocations":["1423:19:5","1443:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"1423:28:5"},"referencedDeclaration":3785,"src":"1423:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":4740,"nodeType":"ArrayTypeName","src":"1423:30:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}}},"id":4743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1419:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"src":"1412:44:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"id":4745,"nodeType":"ExpressionStatement","src":"1412:44:5"},{"expression":{"id":4758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4746,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4735,"src":"1466:4:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"id":4748,"indexExpression":{"hexValue":"30","id":4747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1471:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1466:7:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":4751,"name":"getAllKeyTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5048,"src":"1505:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$__$returns$_t_uint256_$","typeString":"function () pure returns (uint256)"}},"id":4752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1505:16:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":4754,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4728,"src":"1539:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},{"id":4755,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4730,"src":"1553:3:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4753,"name":"getKeyValueType","nodeType":"Identifier","overloadedDeclarations":[5133,5169],"referencedDeclaration":5133,"src":"1523:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_KeyValueType_$4624_$_t_bytes_memory_ptr_$returns$_t_struct$_KeyValue_$3779_memory_ptr_$","typeString":"function (enum KeyHelper.KeyValueType,bytes memory) view returns (struct IHederaTokenService.KeyValue memory)"}},"id":4756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1523:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}],"expression":{"id":4749,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"1476:19:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":4750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1496:8:5","memberName":"TokenKey","nodeType":"MemberAccess","referencedDeclaration":3785,"src":"1476:28:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TokenKey_$3785_storage_ptr_$","typeString":"type(struct IHederaTokenService.TokenKey storage pointer)"}},"id":4757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1476:82:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"src":"1466:92:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"id":4759,"nodeType":"ExpressionStatement","src":"1466:92:5"}]},"id":4761,"implemented":true,"kind":"function","modifiers":[],"name":"getAllTypeKeys","nameLocation":"1259:14:5","nodeType":"FunctionDefinition","parameters":{"id":4731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4728,"mutability":"mutable","name":"keyValueType","nameLocation":"1287:12:5","nodeType":"VariableDeclaration","scope":4761,"src":"1274:25:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"typeName":{"id":4727,"nodeType":"UserDefinedTypeName","pathNode":{"id":4726,"name":"KeyValueType","nameLocations":["1274:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":4624,"src":"1274:12:5"},"referencedDeclaration":4624,"src":"1274:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"visibility":"internal"},{"constant":false,"id":4730,"mutability":"mutable","name":"key","nameLocation":"1314:3:5","nodeType":"VariableDeclaration","scope":4761,"src":"1301:16:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4729,"name":"bytes","nodeType":"ElementaryTypeName","src":"1301:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1273:45:5"},"returnParameters":{"id":4736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4735,"mutability":"mutable","name":"keys","nameLocation":"1392:4:5","nodeType":"VariableDeclaration","scope":4761,"src":"1354:42:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey[]"},"typeName":{"baseType":{"id":4733,"nodeType":"UserDefinedTypeName","pathNode":{"id":4732,"name":"IHederaTokenService.TokenKey","nameLocations":["1354:19:5","1374:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"1354:28:5"},"referencedDeclaration":3785,"src":"1354:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":4734,"nodeType":"ArrayTypeName","src":"1354:30:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}},"visibility":"internal"}],"src":"1353:44:5"},"scope":5170,"src":"1250:315:5","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4800,"nodeType":"Block","src":"1763:166:5","statements":[{"expression":{"id":4783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4776,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4774,"src":"1773:4:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":4781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1815:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":4780,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1780:34:5","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IHederaTokenService.TokenKey memory[] memory)"},"typeName":{"baseType":{"id":4778,"nodeType":"UserDefinedTypeName","pathNode":{"id":4777,"name":"IHederaTokenService.TokenKey","nameLocations":["1784:19:5","1804:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"1784:28:5"},"referencedDeclaration":3785,"src":"1784:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":4779,"nodeType":"ArrayTypeName","src":"1784:30:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}}},"id":4782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1780:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"src":"1773:44:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"id":4784,"nodeType":"ExpressionStatement","src":"1773:44:5"},{"expression":{"id":4798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4785,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4774,"src":"1827:4:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"id":4787,"indexExpression":{"hexValue":"30","id":4786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1832:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1827:7:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":4791,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4764,"src":"1877:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":4790,"name":"getKeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5061,"src":"1866:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_KeyType_$4618_$returns$_t_uint256_$","typeString":"function (enum KeyHelper.KeyType) view returns (uint256)"}},"id":4792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1866:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":4794,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4767,"src":"1903:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},{"id":4795,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4769,"src":"1917:3:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4793,"name":"getKeyValueType","nodeType":"Identifier","overloadedDeclarations":[5133,5169],"referencedDeclaration":5133,"src":"1887:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_KeyValueType_$4624_$_t_bytes_memory_ptr_$returns$_t_struct$_KeyValue_$3779_memory_ptr_$","typeString":"function (enum KeyHelper.KeyValueType,bytes memory) view returns (struct IHederaTokenService.KeyValue memory)"}},"id":4796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1887:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}],"expression":{"id":4788,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"1837:19:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":4789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1857:8:5","memberName":"TokenKey","nodeType":"MemberAccess","referencedDeclaration":3785,"src":"1837:28:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TokenKey_$3785_storage_ptr_$","typeString":"type(struct IHederaTokenService.TokenKey storage pointer)"}},"id":4797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1837:85:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"src":"1827:95:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"id":4799,"nodeType":"ExpressionStatement","src":"1827:95:5"}]},"id":4801,"implemented":true,"kind":"function","modifiers":[],"name":"getCustomSingleTypeKeys","nameLocation":"1580:23:5","nodeType":"FunctionDefinition","parameters":{"id":4770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4764,"mutability":"mutable","name":"keyType","nameLocation":"1621:7:5","nodeType":"VariableDeclaration","scope":4801,"src":"1613:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},"typeName":{"id":4763,"nodeType":"UserDefinedTypeName","pathNode":{"id":4762,"name":"KeyType","nameLocations":["1613:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":4618,"src":"1613:7:5"},"referencedDeclaration":4618,"src":"1613:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"visibility":"internal"},{"constant":false,"id":4767,"mutability":"mutable","name":"keyValueType","nameLocation":"1651:12:5","nodeType":"VariableDeclaration","scope":4801,"src":"1638:25:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"typeName":{"id":4766,"nodeType":"UserDefinedTypeName","pathNode":{"id":4765,"name":"KeyValueType","nameLocations":["1638:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":4624,"src":"1638:12:5"},"referencedDeclaration":4624,"src":"1638:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"visibility":"internal"},{"constant":false,"id":4769,"mutability":"mutable","name":"key","nameLocation":"1686:3:5","nodeType":"VariableDeclaration","scope":4801,"src":"1673:16:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4768,"name":"bytes","nodeType":"ElementaryTypeName","src":"1673:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1603:92:5"},"returnParameters":{"id":4775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4774,"mutability":"mutable","name":"keys","nameLocation":"1757:4:5","nodeType":"VariableDeclaration","scope":4801,"src":"1719:42:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey[]"},"typeName":{"baseType":{"id":4772,"nodeType":"UserDefinedTypeName","pathNode":{"id":4771,"name":"IHederaTokenService.TokenKey","nameLocations":["1719:19:5","1739:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"1719:28:5"},"referencedDeclaration":3785,"src":"1719:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":4773,"nodeType":"ArrayTypeName","src":"1719:30:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}},"visibility":"internal"}],"src":"1718:44:5"},"scope":5170,"src":"1571:358:5","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4844,"nodeType":"Block","src":"2157:220:5","statements":[{"expression":{"id":4826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4819,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"2167:4:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":4824,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2209:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":4823,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2174:34:5","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct IHederaTokenService.TokenKey memory[] memory)"},"typeName":{"baseType":{"id":4821,"nodeType":"UserDefinedTypeName","pathNode":{"id":4820,"name":"IHederaTokenService.TokenKey","nameLocations":["2178:19:5","2198:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"2178:28:5"},"referencedDeclaration":3785,"src":"2178:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":4822,"nodeType":"ArrayTypeName","src":"2178:30:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}}},"id":4825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2174:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"src":"2167:44:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"id":4827,"nodeType":"ExpressionStatement","src":"2167:44:5"},{"expression":{"id":4842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":4828,"name":"keys","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"2221:4:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory[] memory"}},"id":4830,"indexExpression":{"hexValue":"30","id":4829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2226:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2221:7:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":4834,"name":"firstType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4804,"src":"2290:9:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},{"id":4835,"name":"secondType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4807,"src":"2301:10:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":4833,"name":"getDuplexKeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4965,"src":"2273:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_KeyType_$4618_$_t_enum$_KeyType_$4618_$returns$_t_uint256_$","typeString":"function (enum KeyHelper.KeyType,enum KeyHelper.KeyType) pure returns (uint256)"}},"id":4836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2273:39:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":4838,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4810,"src":"2342:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},{"id":4839,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4812,"src":"2356:3:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4837,"name":"getKeyValueType","nodeType":"Identifier","overloadedDeclarations":[5133,5169],"referencedDeclaration":5133,"src":"2326:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_KeyValueType_$4624_$_t_bytes_memory_ptr_$returns$_t_struct$_KeyValue_$3779_memory_ptr_$","typeString":"function (enum KeyHelper.KeyValueType,bytes memory) view returns (struct IHederaTokenService.KeyValue memory)"}},"id":4840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2326:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}],"expression":{"id":4831,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"2231:19:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":4832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2251:8:5","memberName":"TokenKey","nodeType":"MemberAccess","referencedDeclaration":3785,"src":"2231:28:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TokenKey_$3785_storage_ptr_$","typeString":"type(struct IHederaTokenService.TokenKey storage pointer)"}},"id":4841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2231:139:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"src":"2221:149:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"id":4843,"nodeType":"ExpressionStatement","src":"2221:149:5"}]},"id":4845,"implemented":true,"kind":"function","modifiers":[],"name":"getCustomDuplexTypeKeys","nameLocation":"1944:23:5","nodeType":"FunctionDefinition","parameters":{"id":4813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4804,"mutability":"mutable","name":"firstType","nameLocation":"1985:9:5","nodeType":"VariableDeclaration","scope":4845,"src":"1977:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},"typeName":{"id":4803,"nodeType":"UserDefinedTypeName","pathNode":{"id":4802,"name":"KeyType","nameLocations":["1977:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":4618,"src":"1977:7:5"},"referencedDeclaration":4618,"src":"1977:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"visibility":"internal"},{"constant":false,"id":4807,"mutability":"mutable","name":"secondType","nameLocation":"2012:10:5","nodeType":"VariableDeclaration","scope":4845,"src":"2004:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},"typeName":{"id":4806,"nodeType":"UserDefinedTypeName","pathNode":{"id":4805,"name":"KeyType","nameLocations":["2004:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":4618,"src":"2004:7:5"},"referencedDeclaration":4618,"src":"2004:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"visibility":"internal"},{"constant":false,"id":4810,"mutability":"mutable","name":"keyValueType","nameLocation":"2045:12:5","nodeType":"VariableDeclaration","scope":4845,"src":"2032:25:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"typeName":{"id":4809,"nodeType":"UserDefinedTypeName","pathNode":{"id":4808,"name":"KeyValueType","nameLocations":["2032:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":4624,"src":"2032:12:5"},"referencedDeclaration":4624,"src":"2032:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"visibility":"internal"},{"constant":false,"id":4812,"mutability":"mutable","name":"key","nameLocation":"2080:3:5","nodeType":"VariableDeclaration","scope":4845,"src":"2067:16:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4811,"name":"bytes","nodeType":"ElementaryTypeName","src":"2067:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1967:122:5"},"returnParameters":{"id":4818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4817,"mutability":"mutable","name":"keys","nameLocation":"2151:4:5","nodeType":"VariableDeclaration","scope":4845,"src":"2113:42:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","typeString":"struct IHederaTokenService.TokenKey[]"},"typeName":{"baseType":{"id":4815,"nodeType":"UserDefinedTypeName","pathNode":{"id":4814,"name":"IHederaTokenService.TokenKey","nameLocations":["2113:19:5","2133:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"2113:28:5"},"referencedDeclaration":3785,"src":"2113:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"id":4816,"nodeType":"ArrayTypeName","src":"2113:30:5","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_TokenKey_$3785_storage_$dyn_storage_ptr","typeString":"struct IHederaTokenService.TokenKey[]"}},"visibility":"internal"}],"src":"2112:44:5"},"scope":5170,"src":"1935:442:5","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4872,"nodeType":"Block","src":"2566:113:5","statements":[{"expression":{"id":4870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4859,"name":"tokenKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4857,"src":"2576:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":4863,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4848,"src":"2627:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":4862,"name":"getKeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5061,"src":"2616:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_KeyType_$4618_$returns$_t_uint256_$","typeString":"function (enum KeyHelper.KeyType) view returns (uint256)"}},"id":4864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2616:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":4866,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4851,"src":"2653:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},{"id":4867,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4853,"src":"2667:3:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4865,"name":"getKeyValueType","nodeType":"Identifier","overloadedDeclarations":[5133,5169],"referencedDeclaration":5133,"src":"2637:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_KeyValueType_$4624_$_t_bytes_memory_ptr_$returns$_t_struct$_KeyValue_$3779_memory_ptr_$","typeString":"function (enum KeyHelper.KeyValueType,bytes memory) view returns (struct IHederaTokenService.KeyValue memory)"}},"id":4868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2637:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}],"expression":{"id":4860,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"2587:19:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":4861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2607:8:5","memberName":"TokenKey","nodeType":"MemberAccess","referencedDeclaration":3785,"src":"2587:28:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TokenKey_$3785_storage_ptr_$","typeString":"type(struct IHederaTokenService.TokenKey storage pointer)"}},"id":4869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2587:85:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"src":"2576:96:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"id":4871,"nodeType":"ExpressionStatement","src":"2576:96:5"}]},"id":4873,"implemented":true,"kind":"function","modifiers":[],"name":"getSingleKey","nameLocation":"2392:12:5","nodeType":"FunctionDefinition","parameters":{"id":4854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4848,"mutability":"mutable","name":"keyType","nameLocation":"2422:7:5","nodeType":"VariableDeclaration","scope":4873,"src":"2414:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},"typeName":{"id":4847,"nodeType":"UserDefinedTypeName","pathNode":{"id":4846,"name":"KeyType","nameLocations":["2414:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":4618,"src":"2414:7:5"},"referencedDeclaration":4618,"src":"2414:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"visibility":"internal"},{"constant":false,"id":4851,"mutability":"mutable","name":"keyValueType","nameLocation":"2452:12:5","nodeType":"VariableDeclaration","scope":4873,"src":"2439:25:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"typeName":{"id":4850,"nodeType":"UserDefinedTypeName","pathNode":{"id":4849,"name":"KeyValueType","nameLocations":["2439:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":4624,"src":"2439:12:5"},"referencedDeclaration":4624,"src":"2439:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"visibility":"internal"},{"constant":false,"id":4853,"mutability":"mutable","name":"key","nameLocation":"2487:3:5","nodeType":"VariableDeclaration","scope":4873,"src":"2474:16:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4852,"name":"bytes","nodeType":"ElementaryTypeName","src":"2474:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2404:92:5"},"returnParameters":{"id":4858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4857,"mutability":"mutable","name":"tokenKey","nameLocation":"2556:8:5","nodeType":"VariableDeclaration","scope":4873,"src":"2520:44:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey"},"typeName":{"id":4856,"nodeType":"UserDefinedTypeName","pathNode":{"id":4855,"name":"IHederaTokenService.TokenKey","nameLocations":["2520:19:5","2540:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"2520:28:5"},"referencedDeclaration":3785,"src":"2520:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"visibility":"internal"}],"src":"2519:46:5"},"scope":5170,"src":"2383:296:5","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4900,"nodeType":"Block","src":"2863:113:5","statements":[{"expression":{"id":4898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4887,"name":"tokenKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4885,"src":"2873:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":4891,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4876,"src":"2924:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":4890,"name":"getKeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5061,"src":"2913:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_KeyType_$4618_$returns$_t_uint256_$","typeString":"function (enum KeyHelper.KeyType) view returns (uint256)"}},"id":4892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2913:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":4894,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4879,"src":"2950:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},{"id":4895,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4881,"src":"2964:3:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4893,"name":"getKeyValueType","nodeType":"Identifier","overloadedDeclarations":[5133,5169],"referencedDeclaration":5169,"src":"2934:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_KeyValueType_$4624_$_t_address_$returns$_t_struct$_KeyValue_$3779_memory_ptr_$","typeString":"function (enum KeyHelper.KeyValueType,address) pure returns (struct IHederaTokenService.KeyValue memory)"}},"id":4896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2934:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}],"expression":{"id":4888,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"2884:19:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":4889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2904:8:5","memberName":"TokenKey","nodeType":"MemberAccess","referencedDeclaration":3785,"src":"2884:28:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TokenKey_$3785_storage_ptr_$","typeString":"type(struct IHederaTokenService.TokenKey storage pointer)"}},"id":4897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2884:85:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"src":"2873:96:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"id":4899,"nodeType":"ExpressionStatement","src":"2873:96:5"}]},"id":4901,"implemented":true,"kind":"function","modifiers":[],"name":"getSingleKey","nameLocation":"2694:12:5","nodeType":"FunctionDefinition","parameters":{"id":4882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4876,"mutability":"mutable","name":"keyType","nameLocation":"2724:7:5","nodeType":"VariableDeclaration","scope":4901,"src":"2716:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},"typeName":{"id":4875,"nodeType":"UserDefinedTypeName","pathNode":{"id":4874,"name":"KeyType","nameLocations":["2716:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":4618,"src":"2716:7:5"},"referencedDeclaration":4618,"src":"2716:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"visibility":"internal"},{"constant":false,"id":4879,"mutability":"mutable","name":"keyValueType","nameLocation":"2754:12:5","nodeType":"VariableDeclaration","scope":4901,"src":"2741:25:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"typeName":{"id":4878,"nodeType":"UserDefinedTypeName","pathNode":{"id":4877,"name":"KeyValueType","nameLocations":["2741:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":4624,"src":"2741:12:5"},"referencedDeclaration":4624,"src":"2741:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"visibility":"internal"},{"constant":false,"id":4881,"mutability":"mutable","name":"key","nameLocation":"2784:3:5","nodeType":"VariableDeclaration","scope":4901,"src":"2776:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4880,"name":"address","nodeType":"ElementaryTypeName","src":"2776:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2706:87:5"},"returnParameters":{"id":4886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4885,"mutability":"mutable","name":"tokenKey","nameLocation":"2853:8:5","nodeType":"VariableDeclaration","scope":4901,"src":"2817:44:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey"},"typeName":{"id":4884,"nodeType":"UserDefinedTypeName","pathNode":{"id":4883,"name":"IHederaTokenService.TokenKey","nameLocations":["2817:19:5","2837:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"2817:28:5"},"referencedDeclaration":3785,"src":"2817:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"visibility":"internal"}],"src":"2816:46:5"},"scope":5170,"src":"2685:291:5","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4932,"nodeType":"Block","src":"3195:167:5","statements":[{"expression":{"id":4930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4918,"name":"tokenKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4916,"src":"3205:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":4922,"name":"firstType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4904,"src":"3275:9:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},{"id":4923,"name":"secondType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4907,"src":"3286:10:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":4921,"name":"getDuplexKeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4965,"src":"3258:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_KeyType_$4618_$_t_enum$_KeyType_$4618_$returns$_t_uint256_$","typeString":"function (enum KeyHelper.KeyType,enum KeyHelper.KeyType) pure returns (uint256)"}},"id":4924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3258:39:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":4926,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4910,"src":"3327:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},{"id":4927,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4912,"src":"3341:3:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4925,"name":"getKeyValueType","nodeType":"Identifier","overloadedDeclarations":[5133,5169],"referencedDeclaration":5133,"src":"3311:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_enum$_KeyValueType_$4624_$_t_bytes_memory_ptr_$returns$_t_struct$_KeyValue_$3779_memory_ptr_$","typeString":"function (enum KeyHelper.KeyValueType,bytes memory) view returns (struct IHederaTokenService.KeyValue memory)"}},"id":4928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3311:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}],"expression":{"id":4919,"name":"IHederaTokenService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4596,"src":"3216:19:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IHederaTokenService_$4596_$","typeString":"type(contract IHederaTokenService)"}},"id":4920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3236:8:5","memberName":"TokenKey","nodeType":"MemberAccess","referencedDeclaration":3785,"src":"3216:28:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_TokenKey_$3785_storage_ptr_$","typeString":"type(struct IHederaTokenService.TokenKey storage pointer)"}},"id":4929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3216:139:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"src":"3205:150:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey memory"}},"id":4931,"nodeType":"ExpressionStatement","src":"3205:150:5"}]},"id":4933,"implemented":true,"kind":"function","modifiers":[],"name":"getSingleKey","nameLocation":"2991:12:5","nodeType":"FunctionDefinition","parameters":{"id":4913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4904,"mutability":"mutable","name":"firstType","nameLocation":"3021:9:5","nodeType":"VariableDeclaration","scope":4933,"src":"3013:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},"typeName":{"id":4903,"nodeType":"UserDefinedTypeName","pathNode":{"id":4902,"name":"KeyType","nameLocations":["3013:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":4618,"src":"3013:7:5"},"referencedDeclaration":4618,"src":"3013:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"visibility":"internal"},{"constant":false,"id":4907,"mutability":"mutable","name":"secondType","nameLocation":"3048:10:5","nodeType":"VariableDeclaration","scope":4933,"src":"3040:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},"typeName":{"id":4906,"nodeType":"UserDefinedTypeName","pathNode":{"id":4905,"name":"KeyType","nameLocations":["3040:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":4618,"src":"3040:7:5"},"referencedDeclaration":4618,"src":"3040:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"visibility":"internal"},{"constant":false,"id":4910,"mutability":"mutable","name":"keyValueType","nameLocation":"3081:12:5","nodeType":"VariableDeclaration","scope":4933,"src":"3068:25:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"typeName":{"id":4909,"nodeType":"UserDefinedTypeName","pathNode":{"id":4908,"name":"KeyValueType","nameLocations":["3068:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":4624,"src":"3068:12:5"},"referencedDeclaration":4624,"src":"3068:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"visibility":"internal"},{"constant":false,"id":4912,"mutability":"mutable","name":"key","nameLocation":"3116:3:5","nodeType":"VariableDeclaration","scope":4933,"src":"3103:16:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4911,"name":"bytes","nodeType":"ElementaryTypeName","src":"3103:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3003:122:5"},"returnParameters":{"id":4917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4916,"mutability":"mutable","name":"tokenKey","nameLocation":"3185:8:5","nodeType":"VariableDeclaration","scope":4933,"src":"3149:44:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_memory_ptr","typeString":"struct IHederaTokenService.TokenKey"},"typeName":{"id":4915,"nodeType":"UserDefinedTypeName","pathNode":{"id":4914,"name":"IHederaTokenService.TokenKey","nameLocations":["3149:19:5","3169:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3785,"src":"3149:28:5"},"referencedDeclaration":3785,"src":"3149:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_TokenKey_$3785_storage_ptr","typeString":"struct IHederaTokenService.TokenKey"}},"visibility":"internal"}],"src":"3148:46:5"},"scope":5170,"src":"2982:380:5","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":4964,"nodeType":"Block","src":"3473:112:5","statements":[{"expression":{"id":4952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4944,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"3483:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":4949,"name":"firstType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4936,"src":"3514:9:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":4948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3508:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":4947,"name":"uint8","nodeType":"ElementaryTypeName","src":"3508:5:5","typeDescriptions":{}}},"id":4950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3508:16:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":4945,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"3493:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3501:6:5","memberName":"setBit","nodeType":"MemberAccess","referencedDeclaration":5193,"src":"3493:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint8) pure returns (uint256)"}},"id":4951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3493:32:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3483:42:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4953,"nodeType":"ExpressionStatement","src":"3483:42:5"},{"expression":{"id":4962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4954,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"3535:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":4959,"name":"secondType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4939,"src":"3566:10:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":4958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3560:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":4957,"name":"uint8","nodeType":"ElementaryTypeName","src":"3560:5:5","typeDescriptions":{}}},"id":4960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3560:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":4955,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4942,"src":"3545:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3553:6:5","memberName":"setBit","nodeType":"MemberAccess","referencedDeclaration":5193,"src":"3545:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint8) pure returns (uint256)"}},"id":4961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3545:33:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3535:43:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4963,"nodeType":"ExpressionStatement","src":"3535:43:5"}]},"id":4965,"implemented":true,"kind":"function","modifiers":[],"name":"getDuplexKeyType","nameLocation":"3377:16:5","nodeType":"FunctionDefinition","parameters":{"id":4940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4936,"mutability":"mutable","name":"firstType","nameLocation":"3402:9:5","nodeType":"VariableDeclaration","scope":4965,"src":"3394:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},"typeName":{"id":4935,"nodeType":"UserDefinedTypeName","pathNode":{"id":4934,"name":"KeyType","nameLocations":["3394:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":4618,"src":"3394:7:5"},"referencedDeclaration":4618,"src":"3394:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"visibility":"internal"},{"constant":false,"id":4939,"mutability":"mutable","name":"secondType","nameLocation":"3421:10:5","nodeType":"VariableDeclaration","scope":4965,"src":"3413:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},"typeName":{"id":4938,"nodeType":"UserDefinedTypeName","pathNode":{"id":4937,"name":"KeyType","nameLocations":["3413:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":4618,"src":"3413:7:5"},"referencedDeclaration":4618,"src":"3413:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"visibility":"internal"}],"src":"3393:39:5"},"returnParameters":{"id":4943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4942,"mutability":"mutable","name":"keyType","nameLocation":"3464:7:5","nodeType":"VariableDeclaration","scope":4965,"src":"3456:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4941,"name":"uint256","nodeType":"ElementaryTypeName","src":"3456:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3455:17:5"},"scope":5170,"src":"3368:217:5","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5047,"nodeType":"Block","src":"3657:396:5","statements":[{"expression":{"id":4979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4970,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"3667:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":4975,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"3698:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3706:5:5","memberName":"ADMIN","nodeType":"MemberAccess","referencedDeclaration":4611,"src":"3698:13:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":4974,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3692:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":4973,"name":"uint8","nodeType":"ElementaryTypeName","src":"3692:5:5","typeDescriptions":{}}},"id":4977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3692:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":4971,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"3677:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3685:6:5","memberName":"setBit","nodeType":"MemberAccess","referencedDeclaration":5193,"src":"3677:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint8) pure returns (uint256)"}},"id":4978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3677:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3667:46:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4980,"nodeType":"ExpressionStatement","src":"3667:46:5"},{"expression":{"id":4990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4981,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"3723:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":4986,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"3754:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4987,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3762:3:5","memberName":"KYC","nodeType":"MemberAccess","referencedDeclaration":4612,"src":"3754:11:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":4985,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3748:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":4984,"name":"uint8","nodeType":"ElementaryTypeName","src":"3748:5:5","typeDescriptions":{}}},"id":4988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3748:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":4982,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"3733:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3741:6:5","memberName":"setBit","nodeType":"MemberAccess","referencedDeclaration":5193,"src":"3733:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint8) pure returns (uint256)"}},"id":4989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3733:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3723:44:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4991,"nodeType":"ExpressionStatement","src":"3723:44:5"},{"expression":{"id":5001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4992,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"3777:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":4997,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"3808:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":4998,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3816:6:5","memberName":"FREEZE","nodeType":"MemberAccess","referencedDeclaration":4613,"src":"3808:14:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":4996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3802:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":4995,"name":"uint8","nodeType":"ElementaryTypeName","src":"3802:5:5","typeDescriptions":{}}},"id":4999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3802:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":4993,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"3787:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3795:6:5","memberName":"setBit","nodeType":"MemberAccess","referencedDeclaration":5193,"src":"3787:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint8) pure returns (uint256)"}},"id":5000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3787:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3777:47:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5002,"nodeType":"ExpressionStatement","src":"3777:47:5"},{"expression":{"id":5012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5003,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"3834:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":5008,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"3865:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":5009,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3873:4:5","memberName":"WIPE","nodeType":"MemberAccess","referencedDeclaration":4614,"src":"3865:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":5007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3859:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":5006,"name":"uint8","nodeType":"ElementaryTypeName","src":"3859:5:5","typeDescriptions":{}}},"id":5010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3859:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":5004,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"3844:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3852:6:5","memberName":"setBit","nodeType":"MemberAccess","referencedDeclaration":5193,"src":"3844:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint8) pure returns (uint256)"}},"id":5011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3844:35:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3834:45:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5013,"nodeType":"ExpressionStatement","src":"3834:45:5"},{"expression":{"id":5023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5014,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"3889:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":5019,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"3920:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":5020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3928:6:5","memberName":"SUPPLY","nodeType":"MemberAccess","referencedDeclaration":4615,"src":"3920:14:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":5018,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3914:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":5017,"name":"uint8","nodeType":"ElementaryTypeName","src":"3914:5:5","typeDescriptions":{}}},"id":5021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3914:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":5015,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"3899:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3907:6:5","memberName":"setBit","nodeType":"MemberAccess","referencedDeclaration":5193,"src":"3899:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint8) pure returns (uint256)"}},"id":5022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3899:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3889:47:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5024,"nodeType":"ExpressionStatement","src":"3889:47:5"},{"expression":{"id":5034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5025,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"3946:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":5030,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"3977:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":5031,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3985:3:5","memberName":"FEE","nodeType":"MemberAccess","referencedDeclaration":4616,"src":"3977:11:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":5029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3971:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":5028,"name":"uint8","nodeType":"ElementaryTypeName","src":"3971:5:5","typeDescriptions":{}}},"id":5032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3971:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":5026,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"3956:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3964:6:5","memberName":"setBit","nodeType":"MemberAccess","referencedDeclaration":5193,"src":"3956:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint8) pure returns (uint256)"}},"id":5033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3956:34:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3946:44:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5035,"nodeType":"ExpressionStatement","src":"3946:44:5"},{"expression":{"id":5045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5036,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"4000:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":5041,"name":"KeyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4618,"src":"4031:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyType_$4618_$","typeString":"type(enum KeyHelper.KeyType)"}},"id":5042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4039:5:5","memberName":"PAUSE","nodeType":"MemberAccess","referencedDeclaration":4617,"src":"4031:13:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}],"id":5040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4025:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":5039,"name":"uint8","nodeType":"ElementaryTypeName","src":"4025:5:5","typeDescriptions":{}}},"id":5043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4025:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":5037,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"4010:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4018:6:5","memberName":"setBit","nodeType":"MemberAccess","referencedDeclaration":5193,"src":"4010:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint8_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256,uint8) pure returns (uint256)"}},"id":5044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4010:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4000:46:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5046,"nodeType":"ExpressionStatement","src":"4000:46:5"}]},"id":5048,"implemented":true,"kind":"function","modifiers":[],"name":"getAllKeyTypes","nameLocation":"3600:14:5","nodeType":"FunctionDefinition","parameters":{"id":4966,"nodeType":"ParameterList","parameters":[],"src":"3614:2:5"},"returnParameters":{"id":4969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4968,"mutability":"mutable","name":"keyType","nameLocation":"3648:7:5","nodeType":"VariableDeclaration","scope":5048,"src":"3640:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4967,"name":"uint256","nodeType":"ElementaryTypeName","src":"3640:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3639:17:5"},"scope":5170,"src":"3591:462:5","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":5060,"nodeType":"Block","src":"4128:41:5","statements":[{"expression":{"baseExpression":{"id":5056,"name":"keyTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4610,"src":"4145:8:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_enum$_KeyType_$4618_$_t_uint256_$","typeString":"mapping(enum KeyHelper.KeyType => uint256)"}},"id":5058,"indexExpression":{"id":5057,"name":"keyType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5051,"src":"4154:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4145:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5055,"id":5059,"nodeType":"Return","src":"4138:24:5"}]},"id":5061,"implemented":true,"kind":"function","modifiers":[],"name":"getKeyType","nameLocation":"4068:10:5","nodeType":"FunctionDefinition","parameters":{"id":5052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5051,"mutability":"mutable","name":"keyType","nameLocation":"4087:7:5","nodeType":"VariableDeclaration","scope":5061,"src":"4079:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"},"typeName":{"id":5050,"nodeType":"UserDefinedTypeName","pathNode":{"id":5049,"name":"KeyType","nameLocations":["4079:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":4618,"src":"4079:7:5"},"referencedDeclaration":4618,"src":"4079:7:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyType_$4618","typeString":"enum KeyHelper.KeyType"}},"visibility":"internal"}],"src":"4078:17:5"},"returnParameters":{"id":5055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5054,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5061,"src":"4119:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5053,"name":"uint256","nodeType":"ElementaryTypeName","src":"4119:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4118:9:5"},"scope":5170,"src":"4059:110:5","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":5132,"nodeType":"Block","src":"4330:577:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"id":5075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5072,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5064,"src":"4344:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5073,"name":"KeyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"4360:12:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyValueType_$4624_$","typeString":"type(enum KeyHelper.KeyValueType)"}},"id":5074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4373:19:5","memberName":"INHERIT_ACCOUNT_KEY","nodeType":"MemberAccess","referencedDeclaration":4619,"src":"4360:32:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"src":"4344:48:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"id":5086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5083,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5064,"src":"4462:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5084,"name":"KeyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"4478:12:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyValueType_$4624_$","typeString":"type(enum KeyHelper.KeyValueType)"}},"id":5085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4491:11:5","memberName":"CONTRACT_ID","nodeType":"MemberAccess","referencedDeclaration":4620,"src":"4478:24:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"src":"4462:40:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"id":5097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5094,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5064,"src":"4575:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5095,"name":"KeyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"4591:12:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyValueType_$4624_$","typeString":"type(enum KeyHelper.KeyValueType)"}},"id":5096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4604:7:5","memberName":"ED25519","nodeType":"MemberAccess","referencedDeclaration":4621,"src":"4591:20:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"src":"4575:36:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"id":5108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5105,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5064,"src":"4670:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5106,"name":"KeyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"4686:12:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyValueType_$4624_$","typeString":"type(enum KeyHelper.KeyValueType)"}},"id":5107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4699:9:5","memberName":"SECP256K1","nodeType":"MemberAccess","referencedDeclaration":4622,"src":"4686:22:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"src":"4670:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"id":5119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5116,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5064,"src":"4775:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5117,"name":"KeyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"4791:12:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyValueType_$4624_$","typeString":"type(enum KeyHelper.KeyValueType)"}},"id":5118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4804:23:5","memberName":"DELEGETABLE_CONTRACT_ID","nodeType":"MemberAccess","referencedDeclaration":4623,"src":"4791:36:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"src":"4775:52:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5127,"nodeType":"IfStatement","src":"4771:130:5","trueBody":{"id":5126,"nodeType":"Block","src":"4829:72:5","statements":[{"expression":{"id":5124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5120,"name":"keyValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5070,"src":"4843:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}},"id":5122,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4852:21:5","memberName":"delegatableContractId","nodeType":"MemberAccess","referencedDeclaration":3778,"src":"4843:30:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5123,"name":"supplyContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4605,"src":"4876:14:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4843:47:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5125,"nodeType":"ExpressionStatement","src":"4843:47:5"}]}},"id":5128,"nodeType":"IfStatement","src":"4666:235:5","trueBody":{"id":5115,"nodeType":"Block","src":"4710:55:5","statements":[{"expression":{"id":5113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5109,"name":"keyValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5070,"src":"4724:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}},"id":5111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4733:15:5","memberName":"ECDSA_secp256k1","nodeType":"MemberAccess","referencedDeclaration":3776,"src":"4724:24:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5112,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5066,"src":"4751:3:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4724:30:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5114,"nodeType":"ExpressionStatement","src":"4724:30:5"}]}},"id":5129,"nodeType":"IfStatement","src":"4571:330:5","trueBody":{"id":5104,"nodeType":"Block","src":"4613:47:5","statements":[{"expression":{"id":5102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5098,"name":"keyValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5070,"src":"4627:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}},"id":5100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4636:7:5","memberName":"ed25519","nodeType":"MemberAccess","referencedDeclaration":3774,"src":"4627:16:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5101,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5066,"src":"4646:3:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"4627:22:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5103,"nodeType":"ExpressionStatement","src":"4627:22:5"}]}},"id":5130,"nodeType":"IfStatement","src":"4458:443:5","trueBody":{"id":5093,"nodeType":"Block","src":"4504:61:5","statements":[{"expression":{"id":5091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5087,"name":"keyValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5070,"src":"4518:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}},"id":5089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4527:10:5","memberName":"contractId","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"4518:19:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5090,"name":"supplyContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4605,"src":"4540:14:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4518:36:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5092,"nodeType":"ExpressionStatement","src":"4518:36:5"}]}},"id":5131,"nodeType":"IfStatement","src":"4340:561:5","trueBody":{"id":5082,"nodeType":"Block","src":"4394:58:5","statements":[{"expression":{"id":5080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5076,"name":"keyValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5070,"src":"4408:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}},"id":5078,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"4417:17:5","memberName":"inheritAccountKey","nodeType":"MemberAccess","referencedDeclaration":3770,"src":"4408:26:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":5079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4437:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4408:33:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5081,"nodeType":"ExpressionStatement","src":"4408:33:5"}]}}]},"id":5133,"implemented":true,"kind":"function","modifiers":[],"name":"getKeyValueType","nameLocation":"4184:15:5","nodeType":"FunctionDefinition","parameters":{"id":5067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5064,"mutability":"mutable","name":"keyValueType","nameLocation":"4213:12:5","nodeType":"VariableDeclaration","scope":5133,"src":"4200:25:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"typeName":{"id":5063,"nodeType":"UserDefinedTypeName","pathNode":{"id":5062,"name":"KeyValueType","nameLocations":["4200:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":4624,"src":"4200:12:5"},"referencedDeclaration":4624,"src":"4200:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"visibility":"internal"},{"constant":false,"id":5066,"mutability":"mutable","name":"key","nameLocation":"4240:3:5","nodeType":"VariableDeclaration","scope":5133,"src":"4227:16:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5065,"name":"bytes","nodeType":"ElementaryTypeName","src":"4227:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4199:45:5"},"returnParameters":{"id":5071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5070,"mutability":"mutable","name":"keyValue","nameLocation":"4316:8:5","nodeType":"VariableDeclaration","scope":5133,"src":"4280:44:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue"},"typeName":{"id":5069,"nodeType":"UserDefinedTypeName","pathNode":{"id":5068,"name":"IHederaTokenService.KeyValue","nameLocations":["4280:19:5","4300:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3779,"src":"4280:28:5"},"referencedDeclaration":3779,"src":"4280:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_storage_ptr","typeString":"struct IHederaTokenService.KeyValue"}},"visibility":"internal"}],"src":"4279:46:5"},"scope":5170,"src":"4175:732:5","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":5168,"nodeType":"Block","src":"5070:251:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"id":5147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5144,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"5084:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5145,"name":"KeyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"5100:12:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyValueType_$4624_$","typeString":"type(enum KeyHelper.KeyValueType)"}},"id":5146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5113:11:5","memberName":"CONTRACT_ID","nodeType":"MemberAccess","referencedDeclaration":4620,"src":"5100:24:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"src":"5084:40:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"id":5158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5155,"name":"keyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5136,"src":"5193:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5156,"name":"KeyValueType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4624,"src":"5209:12:5","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_KeyValueType_$4624_$","typeString":"type(enum KeyHelper.KeyValueType)"}},"id":5157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5222:23:5","memberName":"DELEGETABLE_CONTRACT_ID","nodeType":"MemberAccess","referencedDeclaration":4623,"src":"5209:36:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"src":"5193:52:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5166,"nodeType":"IfStatement","src":"5189:126:5","trueBody":{"id":5165,"nodeType":"Block","src":"5247:68:5","statements":[{"expression":{"id":5163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5159,"name":"keyValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5142,"src":"5261:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}},"id":5161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5270:21:5","memberName":"delegatableContractId","nodeType":"MemberAccess","referencedDeclaration":3778,"src":"5261:30:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5162,"name":"keyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5138,"src":"5294:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5261:43:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5164,"nodeType":"ExpressionStatement","src":"5261:43:5"}]}},"id":5167,"nodeType":"IfStatement","src":"5080:235:5","trueBody":{"id":5154,"nodeType":"Block","src":"5126:57:5","statements":[{"expression":{"id":5152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":5148,"name":"keyValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5142,"src":"5140:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue memory"}},"id":5150,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5149:10:5","memberName":"contractId","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"5140:19:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5151,"name":"keyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5138,"src":"5162:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5140:32:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5153,"nodeType":"ExpressionStatement","src":"5140:32:5"}]}}]},"id":5169,"implemented":true,"kind":"function","modifiers":[],"name":"getKeyValueType","nameLocation":"4922:15:5","nodeType":"FunctionDefinition","parameters":{"id":5139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5136,"mutability":"mutable","name":"keyValueType","nameLocation":"4951:12:5","nodeType":"VariableDeclaration","scope":5169,"src":"4938:25:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"},"typeName":{"id":5135,"nodeType":"UserDefinedTypeName","pathNode":{"id":5134,"name":"KeyValueType","nameLocations":["4938:12:5"],"nodeType":"IdentifierPath","referencedDeclaration":4624,"src":"4938:12:5"},"referencedDeclaration":4624,"src":"4938:12:5","typeDescriptions":{"typeIdentifier":"t_enum$_KeyValueType_$4624","typeString":"enum KeyHelper.KeyValueType"}},"visibility":"internal"},{"constant":false,"id":5138,"mutability":"mutable","name":"keyAddress","nameLocation":"4973:10:5","nodeType":"VariableDeclaration","scope":5169,"src":"4965:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5137,"name":"address","nodeType":"ElementaryTypeName","src":"4965:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4937:47:5"},"returnParameters":{"id":5143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5142,"mutability":"mutable","name":"keyValue","nameLocation":"5056:8:5","nodeType":"VariableDeclaration","scope":5169,"src":"5020:44:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_memory_ptr","typeString":"struct IHederaTokenService.KeyValue"},"typeName":{"id":5141,"nodeType":"UserDefinedTypeName","pathNode":{"id":5140,"name":"IHederaTokenService.KeyValue","nameLocations":["5020:19:5","5040:8:5"],"nodeType":"IdentifierPath","referencedDeclaration":3779,"src":"5020:28:5"},"referencedDeclaration":3779,"src":"5020:28:5","typeDescriptions":{"typeIdentifier":"t_struct$_KeyValue_$3779_storage_ptr","typeString":"struct IHederaTokenService.KeyValue"}},"visibility":"internal"}],"src":"5019:46:5"},"scope":5170,"src":"4913:408:5","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":5195,"src":"142:5181:5","usedErrors":[]},{"abstract":false,"baseContracts":[],"canonicalName":"Bits","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"id":5194,"linearizedBaseContracts":[5194],"name":"Bits","nameLocation":"5333:4:5","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":5176,"mutability":"constant","name":"ONE","nameLocation":"5370:3:5","nodeType":"VariableDeclaration","scope":5194,"src":"5344:42:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5171,"name":"uint256","nodeType":"ElementaryTypeName","src":"5344:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"arguments":[{"hexValue":"31","id":5174,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5384:1:5","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":5173,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5376:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5172,"name":"uint256","nodeType":"ElementaryTypeName","src":"5376:7:5","typeDescriptions":{}}},"id":5175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5376:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"body":{"id":5192,"nodeType":"Block","src":"5562:45:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5185,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5178,"src":"5579:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"|","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5186,"name":"ONE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5176,"src":"5587:3:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":5187,"name":"index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5180,"src":"5594:5:5","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"5587:12:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":5189,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5586:14:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5579:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5184,"id":5191,"nodeType":"Return","src":"5572:28:5"}]},"id":5193,"implemented":true,"kind":"function","modifiers":[],"name":"setBit","nameLocation":"5496:6:5","nodeType":"FunctionDefinition","parameters":{"id":5181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5178,"mutability":"mutable","name":"self","nameLocation":"5511:4:5","nodeType":"VariableDeclaration","scope":5193,"src":"5503:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5177,"name":"uint256","nodeType":"ElementaryTypeName","src":"5503:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5180,"mutability":"mutable","name":"index","nameLocation":"5523:5:5","nodeType":"VariableDeclaration","scope":5193,"src":"5517:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":5179,"name":"uint8","nodeType":"ElementaryTypeName","src":"5517:5:5","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"5502:27:5"},"returnParameters":{"id":5184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5183,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5193,"src":"5553:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5182,"name":"uint256","nodeType":"ElementaryTypeName","src":"5553:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5552:9:5"},"scope":5194,"src":"5487:120:5","stateMutability":"pure","virtual":false,"visibility":"internal"}],"scope":5195,"src":"5325:284:5","usedErrors":[]}],"src":"39:5570:5"},"id":5}},"contracts":{"contracts/NFTContract.sol":{"NFTContract":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"","type":"bool"},{"indexed":false,"internalType":"bytes","name":"","type":"bytes"}],"name":"CallResponseEvent","type":"event"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"int64","name":"serial","type":"int64"}],"name":"claimNft","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int64","name":"","type":"int64"}],"name":"claimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"int64","name":"maxSupply","type":"int64"},{"internalType":"int64","name":"autoRenewPeriod","type":"int64"}],"name":"createNft","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"int64","name":"serial","type":"int64"}],"name":"getClaimerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int64","name":"serial","type":"int64"}],"name":"isNftClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"bytes[]","name":"metadata","type":"bytes[]"},{"internalType":"address","name":"allowedClaimer","type":"address"}],"name":"mintNftForUser","outputs":[{"internalType":"int64","name":"","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int64","name":"","type":"int64"}],"name":"nftClaimRights","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"bytes","name":"encodedFunctionSelector","type":"bytes"}],"name":"redirectForToken","outputs":[{"internalType":"int256","name":"responseCode","type":"int256"},{"internalType":"bytes","name":"response","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"serialNumber","type":"uint256"}],"name":"transferFromNFT","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_31":{"entryPoint":null,"id":31,"parameterSlots":0,"returnSlots":0},"@_4677":{"entryPoint":null,"id":4677,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":562,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:190:6","statements":[{"body":{"nodeType":"YulBlock","src":"35:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"52:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"55:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"45:6:6"},"nodeType":"YulFunctionCall","src":"45:88:6"},"nodeType":"YulExpressionStatement","src":"45:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"149:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"152:4:6","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"142:6:6"},"nodeType":"YulFunctionCall","src":"142:15:6"},"nodeType":"YulExpressionStatement","src":"142:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"173:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"176:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"166:6:6"},"nodeType":"YulFunctionCall","src":"166:15:6"},"nodeType":"YulExpressionStatement","src":"166:15:6"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"7:180:6"}]},"contents":"{\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n","id":6,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b5060018060008060068111156200002d576200002c62000232565b5b600681111562000042576200004162000232565b5b8152602001908152602001600020819055506002600160006001600681111562000071576200007062000232565b5b600681111562000086576200008562000232565b5b81526020019081526020016000208190555060046001600060026006811115620000b557620000b462000232565b5b6006811115620000ca57620000c962000232565b5b81526020019081526020016000208190555060086001600060036006811115620000f957620000f862000232565b5b60068111156200010e576200010d62000232565b5b815260200190815260200160002081905550601060016000600460068111156200013d576200013c62000232565b5b600681111562000152576200015162000232565b5b8152602001908152602001600020819055506020600160006005600681111562000181576200018062000232565b5b600681111562000196576200019562000232565b5b815260200190815260200160002081905550604060016000600680811115620001c457620001c362000232565b5b6006811115620001d957620001d862000232565b5b81526020019081526020016000208190555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000261565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61275080620002716000396000f3fe60806040526004361061009c5760003560e01c80639b23d3d9116100645780639b23d3d9146101c1578063b6c907a6146101fe578063c985c6521461022e578063d689332f1461026b578063e0a6ad65146102a8578063f1d9d8df146102e55761009c565b806302f6ef87146100a157806315dacbea146100de578063618dc65e1461011b578063836993e2146101595780638da5cb5b14610196575b600080fd5b3480156100ad57600080fd5b506100c860048036038101906100c3919061141d565b610322565b6040516100d5919061148b565b60405180910390f35b3480156100ea57600080fd5b5061010560048036038101906101009190611508565b610355565b604051610112919061157e565b60405180910390f35b34801561012757600080fd5b50610142600480360381019061013d91906116df565b610473565b6040516101509291906117d3565b60405180910390f35b34801561016557600080fd5b50610180600480360381019061017b919061141d565b6105cf565b60405161018d919061181e565b60405180910390f35b3480156101a257600080fd5b506101ab6105ff565b6040516101b8919061148b565b60405180910390f35b3480156101cd57600080fd5b506101e860048036038101906101e39190611508565b610625565b6040516101f5919061157e565b60405180910390f35b610218600480360381019061021391906118da565b610743565b604051610225919061148b565b60405180910390f35b34801561023a57600080fd5b506102556004803603810190610250919061141d565b61096b565b604051610262919061148b565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d919061141d565b6109ae565b60405161029f919061181e565b60405180910390f35b3480156102b457600080fd5b506102cf60048036038101906102ca9190611a8f565b6109ce565b6040516102dc919061157e565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190611afe565b610b54565b6040516103199190611b3e565b60405180910390f35b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061016773ffffffffffffffffffffffffffffffffffffffff166315dacbea60e01b888888886040516024016103929493929190611b68565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103fc9190611be9565b6000604051808303816000865af19150503d8060008114610439576040519150601f19603f3d011682016040523d82523d6000602084013e61043e565b606091505b50915091508161044f576015610464565b808060200190518101906104639190611c39565b5b60030b92505050949350505050565b6000606060008061016773ffffffffffffffffffffffffffffffffffffffff1663618dc65e60e01b87876040516024016104ae929190611c66565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105189190611be9565b6000604051808303816000865af19150503d8060008114610555576040519150601f19603f3d011682016040523d82523d6000602084013e61055a565b606091505b50915091507f4af4780e06fe8cb9df64b0794fa6f01399af979175bb988e35e0e57e594567bc8282604051610590929190611c96565b60405180910390a1816105b4576015604051806020016040528060008152506105b8565b6016815b8160030b9150809450819550505050509250929050565b6000600460008360070b60070b815260200190815260200160002060009054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061016773ffffffffffffffffffffffffffffffffffffffff16639b23d3d960e01b888888886040516024016106629493929190611b68565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516106cc9190611be9565b6000604051808303816000865af19150503d8060008114610709576040519150601f19603f3d011682016040523d82523d6000602084013e61070e565b606091505b50915091508161071f576015610734565b808060200190518101906107339190611c39565b5b60030b92505050949350505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cc90611d49565b60405180910390fd5b6000600167ffffffffffffffff8111156107f2576107f16115b4565b5b60405190808252806020026020018201604052801561082b57816020015b6108186112a7565b8152602001906001900390816108105790505b50905061083b6004600130610cf6565b8160008151811061084f5761084e611d69565b5b60200260200101819052506108626112c7565b87816000018190525086816020018190525085816060018190525030816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001816080019015159081151581525050848160a0019060070b908160070b81525050818160e0018190525060008160c00190151590811515815250506108fc3085610d2d565b81610100018190525060008061091183610d85565b91509150601660030b821461095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290611e0a565b60405180910390fd5b8094505050505095945050505050565b6000600360008360070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60046020528060005260406000206000915054906101000a900460ff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5790611d49565b60405180910390fd5b600080610a6f86600087610ef4565b9250509150601660030b8214610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190611e9c565b60405180910390fd5b836003600083600081518110610ad357610ad2611d69565b5b602002602001015160070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600081518110610b4157610b40611d69565b5b6020026020010151925050509392505050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf490611f2e565b60405180910390fd5b600460008360070b60070b815260200190815260200160002060009054906101000a900460ff1615610c64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5b90611f9a565b60405180910390fd5b6000610c728430338661106c565b9050601660030b8114610cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb19061202c565b60405180910390fd5b6001600460008560070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055508091505092915050565b610cfe6112a7565b6040518060400160405280610d128661118a565b8152602001610d2185856111cb565b81525090509392505050565b610d35611336565b82816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505081816040019060070b908160070b8152505092915050565b6000808260008161010001516000015160070b148015610db1575060008161010001516040015160070b145b15610dd4576276a70060030b8161010001516040019060070b908160070b815250505b60008061016773ffffffffffffffffffffffffffffffffffffffff163463ea83f29360e01b88604051602401610e0a91906123bf565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610e749190611be9565b60006040518083038185875af1925050503d8060008114610eb1576040519150601f19603f3d011682016040523d82523d6000602084013e610eb6565b606091505b509150915081610ec95760156000610ede565b80806020019051810190610edd919061241f565b5b8160030b91508095508196505050505050915091565b600080606060008061016773ffffffffffffffffffffffffffffffffffffffff1663e0f4059a60e01b898989604051602401610f3293929190612521565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610f9c9190611be9565b6000604051808303816000865af19150503d8060008114610fd9576040519150601f19603f3d011682016040523d82523d6000602084013e610fde565b606091505b50915091508161103a57601560008067ffffffffffffffff811115611006576110056115b4565b5b6040519080825280602002602001820160405280156110345781602001602082028036833780820191505090505b5061104f565b8080602001905181019061104e9190612637565b5b8260030b9250809550819650829750505050505093509350939050565b600080600061016773ffffffffffffffffffffffffffffffffffffffff16635cfc901160e01b888888886040516024016110a994939291906126a6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516111139190611be9565b6000604051808303816000865af19150503d8060008114611150576040519150601f19603f3d011682016040523d82523d6000602084013e611155565b606091505b50915091508161116657601561117b565b8080602001905181019061117a9190611c39565b5b60030b92505050949350505050565b6000600160008360068111156111a3576111a26126eb565b5b60068111156111b5576111b46126eb565b5b8152602001908152602001600020549050919050565b6111d3611373565b600160048111156111e7576111e66126eb565b5b8360048111156111fa576111f96126eb565b5b0361123c5781816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506112a1565b60048081111561124f5761124e6126eb565b5b836004811115611262576112616126eb565b5b036112a05781816080019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b5b92915050565b6040518060400160405280600081526020016112c1611373565b81525090565b6040518061012001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001600015158152602001600060070b815260200160001515815260200160608152602001611330611336565b81525090565b6040518060600160405280600060070b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060070b81525090565b6040518060a00160405280600015158152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b60008160070b9050919050565b6113fa816113e4565b811461140557600080fd5b50565b600081359050611417816113f1565b92915050565b600060208284031215611433576114326113da565b5b600061144184828501611408565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114758261144a565b9050919050565b6114858161146a565b82525050565b60006020820190506114a0600083018461147c565b92915050565b6114af8161146a565b81146114ba57600080fd5b50565b6000813590506114cc816114a6565b92915050565b6000819050919050565b6114e5816114d2565b81146114f057600080fd5b50565b600081359050611502816114dc565b92915050565b60008060008060808587031215611522576115216113da565b5b6000611530878288016114bd565b9450506020611541878288016114bd565b9350506040611552878288016114bd565b9250506060611563878288016114f3565b91505092959194509250565b611578816113e4565b82525050565b6000602082019050611593600083018461156f565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6115ec826115a3565b810181811067ffffffffffffffff8211171561160b5761160a6115b4565b5b80604052505050565b600061161e6113d0565b905061162a82826115e3565b919050565b600067ffffffffffffffff82111561164a576116496115b4565b5b611653826115a3565b9050602081019050919050565b82818337600083830152505050565b600061168261167d8461162f565b611614565b90508281526020810184848401111561169e5761169d61159e565b5b6116a9848285611660565b509392505050565b600082601f8301126116c6576116c5611599565b5b81356116d684826020860161166f565b91505092915050565b600080604083850312156116f6576116f56113da565b5b6000611704858286016114bd565b925050602083013567ffffffffffffffff811115611725576117246113df565b5b611731858286016116b1565b9150509250929050565b6000819050919050565b61174e8161173b565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561178e578082015181840152602081019050611773565b60008484015250505050565b60006117a582611754565b6117af818561175f565b93506117bf818560208601611770565b6117c8816115a3565b840191505092915050565b60006040820190506117e86000830185611745565b81810360208301526117fa818461179a565b90509392505050565b60008115159050919050565b61181881611803565b82525050565b6000602082019050611833600083018461180f565b92915050565b600067ffffffffffffffff821115611854576118536115b4565b5b61185d826115a3565b9050602081019050919050565b600061187d61187884611839565b611614565b9050828152602081018484840111156118995761189861159e565b5b6118a4848285611660565b509392505050565b600082601f8301126118c1576118c0611599565b5b81356118d184826020860161186a565b91505092915050565b600080600080600060a086880312156118f6576118f56113da565b5b600086013567ffffffffffffffff811115611914576119136113df565b5b611920888289016118ac565b955050602086013567ffffffffffffffff811115611941576119406113df565b5b61194d888289016118ac565b945050604086013567ffffffffffffffff81111561196e5761196d6113df565b5b61197a888289016118ac565b935050606061198b88828901611408565b925050608061199c88828901611408565b9150509295509295909350565b600067ffffffffffffffff8211156119c4576119c36115b4565b5b602082029050602081019050919050565b600080fd5b60006119ed6119e8846119a9565b611614565b90508083825260208201905060208402830185811115611a1057611a0f6119d5565b5b835b81811015611a5757803567ffffffffffffffff811115611a3557611a34611599565b5b808601611a4289826116b1565b85526020850194505050602081019050611a12565b5050509392505050565b600082601f830112611a7657611a75611599565b5b8135611a868482602086016119da565b91505092915050565b600080600060608486031215611aa857611aa76113da565b5b6000611ab6868287016114bd565b935050602084013567ffffffffffffffff811115611ad757611ad66113df565b5b611ae386828701611a61565b9250506040611af4868287016114bd565b9150509250925092565b60008060408385031215611b1557611b146113da565b5b6000611b23858286016114bd565b9250506020611b3485828601611408565b9150509250929050565b6000602082019050611b536000830184611745565b92915050565b611b62816114d2565b82525050565b6000608082019050611b7d600083018761147c565b611b8a602083018661147c565b611b97604083018561147c565b611ba46060830184611b59565b95945050505050565b600081905092915050565b6000611bc382611754565b611bcd8185611bad565b9350611bdd818560208601611770565b80840191505092915050565b6000611bf58284611bb8565b915081905092915050565b60008160030b9050919050565b611c1681611c00565b8114611c2157600080fd5b50565b600081519050611c3381611c0d565b92915050565b600060208284031215611c4f57611c4e6113da565b5b6000611c5d84828501611c24565b91505092915050565b6000604082019050611c7b600083018561147c565b8181036020830152611c8d818461179a565b90509392505050565b6000604082019050611cab600083018561180f565b8181036020830152611cbd818461179a565b90509392505050565b600082825260208201905092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d33602183611cc6565b9150611d3e82611cd7565b604082019050919050565b60006020820190508181036000830152611d6281611d26565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4661696c656420746f20637265617465206e6f6e2d66756e6769626c6520746f60008201527f6b656e0000000000000000000000000000000000000000000000000000000000602082015250565b6000611df4602383611cc6565b9150611dff82611d98565b604082019050919050565b60006020820190508181036000830152611e2381611de7565b9050919050565b7f4661696c656420746f206d696e74206e6f6e2d66756e6769626c6520746f6b6560008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e86602183611cc6565b9150611e9182611e2a565b604082019050919050565b60006020820190508181036000830152611eb581611e79565b9050919050565b7f596f7520617265206e6f7420617574686f72697a656420746f20636c61696d2060008201527f74686973204e4654000000000000000000000000000000000000000000000000602082015250565b6000611f18602883611cc6565b9150611f2382611ebc565b604082019050919050565b60006020820190508181036000830152611f4781611f0b565b9050919050565b7f4e46542068617320616c7265616479206265656e20636c61696d656400000000600082015250565b6000611f84601c83611cc6565b9150611f8f82611f4e565b602082019050919050565b60006020820190508181036000830152611fb381611f77565b9050919050565b7f4661696c656420746f207472616e73666572206e6f6e2d66756e6769626c652060008201527f746f6b656e000000000000000000000000000000000000000000000000000000602082015250565b6000612016602583611cc6565b915061202182611fba565b604082019050919050565b6000602082019050818103600083015261204581612009565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006120738261204c565b61207d8185612057565b935061208d818560208601611770565b612096816115a3565b840191505092915050565b6120aa8161146a565b82525050565b6120b981611803565b82525050565b6120c8816113e4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612103816114d2565b82525050565b600082825260208201905092915050565b600061212582611754565b61212f8185612109565b935061213f818560208601611770565b612148816115a3565b840191505092915050565b600060a08301600083015161216b60008601826120b0565b50602083015161217e60208601826120a1565b5060408301518482036040860152612196828261211a565b915050606083015184820360608601526121b0828261211a565b91505060808301516121c560808601826120a1565b508091505092915050565b60006040830160008301516121e860008601826120fa565b50602083015184820360208601526122008282612153565b9150508091505092915050565b600061221983836121d0565b905092915050565b6000602082019050919050565b6000612239826120ce565b61224381856120d9565b935083602082028501612255856120ea565b8060005b858110156122915784840389528151612272858261220d565b945061227d83612221565b925060208a01995050600181019050612259565b50829750879550505050505092915050565b6060820160008201516122b960008501826120bf565b5060208201516122cc60208501826120a1565b5060408201516122df60408501826120bf565b50505050565b60006101608301600083015184820360008601526123038282612068565b9150506020830151848203602086015261231d8282612068565b915050604083015161233260408601826120a1565b506060830151848203606086015261234a8282612068565b915050608083015161235f60808601826120b0565b5060a083015161237260a08601826120bf565b5060c083015161238560c08601826120b0565b5060e083015184820360e086015261239d828261222e565b9150506101008301516123b46101008601826122a3565b508091505092915050565b600060208201905081810360008301526123d981846122e5565b905092915050565b60006123ec8261144a565b9050919050565b6123fc816123e1565b811461240757600080fd5b50565b600081519050612419816123f3565b92915050565b60008060408385031215612436576124356113da565b5b600061244485828601611c24565b92505060206124558582860161240a565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000612497838361211a565b905092915050565b6000602082019050919050565b60006124b78261245f565b6124c1818561246a565b9350836020820285016124d38561247b565b8060005b8581101561250f57848403895281516124f0858261248b565b94506124fb8361249f565b925060208a019950506001810190506124d7565b50829750879550505050505092915050565b6000606082019050612536600083018661147c565b612543602083018561156f565b818103604083015261255581846124ac565b9050949350505050565b60008151905061256e816113f1565b92915050565b600067ffffffffffffffff82111561258f5761258e6115b4565b5b602082029050602081019050919050565b60006125b36125ae84612574565b611614565b905080838252602082019050602084028301858111156125d6576125d56119d5565b5b835b818110156125ff57806125eb888261255f565b8452602084019350506020810190506125d8565b5050509392505050565b600082601f83011261261e5761261d611599565b5b815161262e8482602086016125a0565b91505092915050565b6000806000606084860312156126505761264f6113da565b5b600061265e86828701611c24565b935050602061266f8682870161255f565b925050604084015167ffffffffffffffff8111156126905761268f6113df565b5b61269c86828701612609565b9150509250925092565b60006080820190506126bb600083018761147c565b6126c8602083018661147c565b6126d5604083018561147c565b6126e2606083018461156f565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122051db1df0f20a3d0f46ca7dfe18c76da7431ff1e7db964cec45939efdbe0ea63064736f6c63430008120033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 DUP1 PUSH1 0x0 DUP1 PUSH1 0x6 DUP2 GT ISZERO PUSH3 0x2D JUMPI PUSH3 0x2C PUSH3 0x232 JUMP JUMPDEST JUMPDEST PUSH1 0x6 DUP2 GT ISZERO PUSH3 0x42 JUMPI PUSH3 0x41 PUSH3 0x232 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x2 PUSH1 0x1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x6 DUP2 GT ISZERO PUSH3 0x71 JUMPI PUSH3 0x70 PUSH3 0x232 JUMP JUMPDEST JUMPDEST PUSH1 0x6 DUP2 GT ISZERO PUSH3 0x86 JUMPI PUSH3 0x85 PUSH3 0x232 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x4 PUSH1 0x1 PUSH1 0x0 PUSH1 0x2 PUSH1 0x6 DUP2 GT ISZERO PUSH3 0xB5 JUMPI PUSH3 0xB4 PUSH3 0x232 JUMP JUMPDEST JUMPDEST PUSH1 0x6 DUP2 GT ISZERO PUSH3 0xCA JUMPI PUSH3 0xC9 PUSH3 0x232 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x8 PUSH1 0x1 PUSH1 0x0 PUSH1 0x3 PUSH1 0x6 DUP2 GT ISZERO PUSH3 0xF9 JUMPI PUSH3 0xF8 PUSH3 0x232 JUMP JUMPDEST JUMPDEST PUSH1 0x6 DUP2 GT ISZERO PUSH3 0x10E JUMPI PUSH3 0x10D PUSH3 0x232 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x10 PUSH1 0x1 PUSH1 0x0 PUSH1 0x4 PUSH1 0x6 DUP2 GT ISZERO PUSH3 0x13D JUMPI PUSH3 0x13C PUSH3 0x232 JUMP JUMPDEST JUMPDEST PUSH1 0x6 DUP2 GT ISZERO PUSH3 0x152 JUMPI PUSH3 0x151 PUSH3 0x232 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x20 PUSH1 0x1 PUSH1 0x0 PUSH1 0x5 PUSH1 0x6 DUP2 GT ISZERO PUSH3 0x181 JUMPI PUSH3 0x180 PUSH3 0x232 JUMP JUMPDEST JUMPDEST PUSH1 0x6 DUP2 GT ISZERO PUSH3 0x196 JUMPI PUSH3 0x195 PUSH3 0x232 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x40 PUSH1 0x1 PUSH1 0x0 PUSH1 0x6 DUP1 DUP2 GT ISZERO PUSH3 0x1C4 JUMPI PUSH3 0x1C3 PUSH3 0x232 JUMP JUMPDEST JUMPDEST PUSH1 0x6 DUP2 GT ISZERO PUSH3 0x1D9 JUMPI PUSH3 0x1D8 PUSH3 0x232 JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP CALLER PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x261 JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x2750 DUP1 PUSH3 0x271 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9B23D3D9 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x9B23D3D9 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0xB6C907A6 EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0xC985C652 EQ PUSH2 0x22E JUMPI DUP1 PUSH4 0xD689332F EQ PUSH2 0x26B JUMPI DUP1 PUSH4 0xE0A6AD65 EQ PUSH2 0x2A8 JUMPI DUP1 PUSH4 0xF1D9D8DF EQ PUSH2 0x2E5 JUMPI PUSH2 0x9C JUMP JUMPDEST DUP1 PUSH4 0x2F6EF87 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x15DACBEA EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0x618DC65E EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0x836993E2 EQ PUSH2 0x159 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x196 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x141D JUMP JUMPDEST PUSH2 0x322 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD5 SWAP2 SWAP1 PUSH2 0x148B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x105 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x1508 JUMP JUMPDEST PUSH2 0x355 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x112 SWAP2 SWAP1 PUSH2 0x157E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x127 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x142 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13D SWAP2 SWAP1 PUSH2 0x16DF JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x150 SWAP3 SWAP2 SWAP1 PUSH2 0x17D3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x165 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x180 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17B SWAP2 SWAP1 PUSH2 0x141D JUMP JUMPDEST PUSH2 0x5CF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18D SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AB PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x148B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x1508 JUMP JUMPDEST PUSH2 0x625 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0x157E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x218 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x213 SWAP2 SWAP1 PUSH2 0x18DA JUMP JUMPDEST PUSH2 0x743 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x225 SWAP2 SWAP1 PUSH2 0x148B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x23A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x255 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x250 SWAP2 SWAP1 PUSH2 0x141D JUMP JUMPDEST PUSH2 0x96B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x262 SWAP2 SWAP1 PUSH2 0x148B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x277 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x292 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x28D SWAP2 SWAP1 PUSH2 0x141D JUMP JUMPDEST PUSH2 0x9AE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29F SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2CF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2CA SWAP2 SWAP1 PUSH2 0x1A8F JUMP JUMPDEST PUSH2 0x9CE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DC SWAP2 SWAP1 PUSH2 0x157E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x30C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x307 SWAP2 SWAP1 PUSH2 0x1AFE JUMP JUMPDEST PUSH2 0xB54 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x319 SWAP2 SWAP1 PUSH2 0x1B3E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x167 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x15DACBEA PUSH1 0xE0 SHL DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x392 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x3FC SWAP2 SWAP1 PUSH2 0x1BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x439 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x43E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x44F JUMPI PUSH1 0x15 PUSH2 0x464 JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x463 SWAP2 SWAP1 PUSH2 0x1C39 JUMP JUMPDEST JUMPDEST PUSH1 0x3 SIGNEXTEND SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x0 DUP1 PUSH2 0x167 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x618DC65E PUSH1 0xE0 SHL DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x4AE SWAP3 SWAP2 SWAP1 PUSH2 0x1C66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x518 SWAP2 SWAP1 PUSH2 0x1BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x555 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x55A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH32 0x4AF4780E06FE8CB9DF64B0794FA6F01399AF979175BB988E35E0E57E594567BC DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x590 SWAP3 SWAP2 SWAP1 PUSH2 0x1C96 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 PUSH2 0x5B4 JUMPI PUSH1 0x15 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x5B8 JUMP JUMPDEST PUSH1 0x16 DUP2 JUMPDEST DUP2 PUSH1 0x3 SIGNEXTEND SWAP2 POP DUP1 SWAP5 POP DUP2 SWAP6 POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x167 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x9B23D3D9 PUSH1 0xE0 SHL DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x662 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x6CC SWAP2 SWAP1 PUSH2 0x1BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x709 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x70E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x71F JUMPI PUSH1 0x15 PUSH2 0x734 JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x733 SWAP2 SWAP1 PUSH2 0x1C39 JUMP JUMPDEST JUMPDEST PUSH1 0x3 SIGNEXTEND SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x7D5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7CC SWAP1 PUSH2 0x1D49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7F2 JUMPI PUSH2 0x7F1 PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x82B JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x818 PUSH2 0x12A7 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x810 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH2 0x83B PUSH1 0x4 PUSH1 0x1 ADDRESS PUSH2 0xCF6 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x84F JUMPI PUSH2 0x84E PUSH2 0x1D69 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP PUSH2 0x862 PUSH2 0x12C7 JUMP JUMPDEST DUP8 DUP2 PUSH1 0x0 ADD DUP2 SWAP1 MSTORE POP DUP7 DUP2 PUSH1 0x20 ADD DUP2 SWAP1 MSTORE POP DUP6 DUP2 PUSH1 0x60 ADD DUP2 SWAP1 MSTORE POP ADDRESS DUP2 PUSH1 0x40 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH1 0x1 DUP2 PUSH1 0x80 ADD SWAP1 ISZERO ISZERO SWAP1 DUP2 ISZERO ISZERO DUP2 MSTORE POP POP DUP5 DUP2 PUSH1 0xA0 ADD SWAP1 PUSH1 0x7 SIGNEXTEND SWAP1 DUP2 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE POP POP DUP2 DUP2 PUSH1 0xE0 ADD DUP2 SWAP1 MSTORE POP PUSH1 0x0 DUP2 PUSH1 0xC0 ADD SWAP1 ISZERO ISZERO SWAP1 DUP2 ISZERO ISZERO DUP2 MSTORE POP POP PUSH2 0x8FC ADDRESS DUP6 PUSH2 0xD2D JUMP JUMPDEST DUP2 PUSH2 0x100 ADD DUP2 SWAP1 MSTORE POP PUSH1 0x0 DUP1 PUSH2 0x911 DUP4 PUSH2 0xD85 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x16 PUSH1 0x3 SIGNEXTEND DUP3 EQ PUSH2 0x95B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x952 SWAP1 PUSH2 0x1E0A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP5 POP POP POP POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA60 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA57 SWAP1 PUSH2 0x1D49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xA6F DUP7 PUSH1 0x0 DUP8 PUSH2 0xEF4 JUMP JUMPDEST SWAP3 POP POP SWAP2 POP PUSH1 0x16 PUSH1 0x3 SIGNEXTEND DUP3 EQ PUSH2 0xABA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAB1 SWAP1 PUSH2 0x1E9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0xAD3 JUMPI PUSH2 0xAD2 PUSH2 0x1D69 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0xB41 JUMPI PUSH2 0xB40 PUSH2 0x1D69 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xBFD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBF4 SWAP1 PUSH2 0x1F2E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xC64 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC5B SWAP1 PUSH2 0x1F9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xC72 DUP5 ADDRESS CALLER DUP7 PUSH2 0x106C JUMP JUMPDEST SWAP1 POP PUSH1 0x16 PUSH1 0x3 SIGNEXTEND DUP2 EQ PUSH2 0xCBA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCB1 SWAP1 PUSH2 0x202C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 DUP6 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xCFE PUSH2 0x12A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0xD12 DUP7 PUSH2 0x118A JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD21 DUP6 DUP6 PUSH2 0x11CB JUMP JUMPDEST DUP2 MSTORE POP SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xD35 PUSH2 0x1336 JUMP JUMPDEST DUP3 DUP2 PUSH1 0x20 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP2 DUP2 PUSH1 0x40 ADD SWAP1 PUSH1 0x7 SIGNEXTEND SWAP1 DUP2 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x0 DUP2 PUSH2 0x100 ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x7 SIGNEXTEND EQ DUP1 ISZERO PUSH2 0xDB1 JUMPI POP PUSH1 0x0 DUP2 PUSH2 0x100 ADD MLOAD PUSH1 0x40 ADD MLOAD PUSH1 0x7 SIGNEXTEND EQ JUMPDEST ISZERO PUSH2 0xDD4 JUMPI PUSH3 0x76A700 PUSH1 0x3 SIGNEXTEND DUP2 PUSH2 0x100 ADD MLOAD PUSH1 0x40 ADD SWAP1 PUSH1 0x7 SIGNEXTEND SWAP1 DUP2 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE POP POP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x167 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLVALUE PUSH4 0xEA83F293 PUSH1 0xE0 SHL DUP9 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0xE0A SWAP2 SWAP1 PUSH2 0x23BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0xE74 SWAP2 SWAP1 PUSH2 0x1BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xEB1 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xEB6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0xEC9 JUMPI PUSH1 0x15 PUSH1 0x0 PUSH2 0xEDE JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0xEDD SWAP2 SWAP1 PUSH2 0x241F JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x3 SIGNEXTEND SWAP2 POP DUP1 SWAP6 POP DUP2 SWAP7 POP POP POP POP POP POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x60 PUSH1 0x0 DUP1 PUSH2 0x167 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xE0F4059A PUSH1 0xE0 SHL DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0xF32 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2521 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0xF9C SWAP2 SWAP1 PUSH2 0x1BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xFD9 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xFDE JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x103A JUMPI PUSH1 0x15 PUSH1 0x0 DUP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1006 JUMPI PUSH2 0x1005 PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1034 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP PUSH2 0x104F JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x104E SWAP2 SWAP1 PUSH2 0x2637 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 SIGNEXTEND SWAP3 POP DUP1 SWAP6 POP DUP2 SWAP7 POP DUP3 SWAP8 POP POP POP POP POP POP SWAP4 POP SWAP4 POP SWAP4 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x167 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5CFC9011 PUSH1 0xE0 SHL DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x10A9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x26A6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x1113 SWAP2 SWAP1 PUSH2 0x1BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1150 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1155 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x1166 JUMPI PUSH1 0x15 PUSH2 0x117B JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x117A SWAP2 SWAP1 PUSH2 0x1C39 JUMP JUMPDEST JUMPDEST PUSH1 0x3 SIGNEXTEND SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x11A3 JUMPI PUSH2 0x11A2 PUSH2 0x26EB JUMP JUMPDEST JUMPDEST PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x11B5 JUMPI PUSH2 0x11B4 PUSH2 0x26EB JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11D3 PUSH2 0x1373 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x11E7 JUMPI PUSH2 0x11E6 PUSH2 0x26EB JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x11FA JUMPI PUSH2 0x11F9 PUSH2 0x26EB JUMP JUMPDEST JUMPDEST SUB PUSH2 0x123C JUMPI DUP2 DUP2 PUSH1 0x20 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH2 0x12A1 JUMP JUMPDEST PUSH1 0x4 DUP1 DUP2 GT ISZERO PUSH2 0x124F JUMPI PUSH2 0x124E PUSH2 0x26EB JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x1262 JUMPI PUSH2 0x1261 PUSH2 0x26EB JUMP JUMPDEST JUMPDEST SUB PUSH2 0x12A0 JUMPI DUP2 DUP2 PUSH1 0x80 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12C1 PUSH2 0x1373 JUMP JUMPDEST DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x120 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1330 PUSH2 0x1336 JUMP JUMPDEST DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x7 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13FA DUP2 PUSH2 0x13E4 JUMP JUMPDEST DUP2 EQ PUSH2 0x1405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1417 DUP2 PUSH2 0x13F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1433 JUMPI PUSH2 0x1432 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1441 DUP5 DUP3 DUP6 ADD PUSH2 0x1408 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1475 DUP3 PUSH2 0x144A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1485 DUP2 PUSH2 0x146A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x14A0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x147C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14AF DUP2 PUSH2 0x146A JUMP JUMPDEST DUP2 EQ PUSH2 0x14BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x14CC DUP2 PUSH2 0x14A6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14E5 DUP2 PUSH2 0x14D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x14F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1502 DUP2 PUSH2 0x14DC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1522 JUMPI PUSH2 0x1521 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1530 DUP8 DUP3 DUP9 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x1541 DUP8 DUP3 DUP9 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x1552 DUP8 DUP3 DUP9 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x1563 DUP8 DUP3 DUP9 ADD PUSH2 0x14F3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH2 0x1578 DUP2 PUSH2 0x13E4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1593 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x156F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x15EC DUP3 PUSH2 0x15A3 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x160B JUMPI PUSH2 0x160A PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x161E PUSH2 0x13D0 JUMP JUMPDEST SWAP1 POP PUSH2 0x162A DUP3 DUP3 PUSH2 0x15E3 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x164A JUMPI PUSH2 0x1649 PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST PUSH2 0x1653 DUP3 PUSH2 0x15A3 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1682 PUSH2 0x167D DUP5 PUSH2 0x162F JUMP JUMPDEST PUSH2 0x1614 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x169E JUMPI PUSH2 0x169D PUSH2 0x159E JUMP JUMPDEST JUMPDEST PUSH2 0x16A9 DUP5 DUP3 DUP6 PUSH2 0x1660 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x16C6 JUMPI PUSH2 0x16C5 PUSH2 0x1599 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x16D6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x166F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x16F6 JUMPI PUSH2 0x16F5 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1704 DUP6 DUP3 DUP7 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1725 JUMPI PUSH2 0x1724 PUSH2 0x13DF JUMP JUMPDEST JUMPDEST PUSH2 0x1731 DUP6 DUP3 DUP7 ADD PUSH2 0x16B1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x174E DUP2 PUSH2 0x173B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x178E JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1773 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17A5 DUP3 PUSH2 0x1754 JUMP JUMPDEST PUSH2 0x17AF DUP2 DUP6 PUSH2 0x175F JUMP JUMPDEST SWAP4 POP PUSH2 0x17BF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1770 JUMP JUMPDEST PUSH2 0x17C8 DUP2 PUSH2 0x15A3 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x17E8 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1745 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x17FA DUP2 DUP5 PUSH2 0x179A JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1818 DUP2 PUSH2 0x1803 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1833 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x180F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1854 JUMPI PUSH2 0x1853 PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST PUSH2 0x185D DUP3 PUSH2 0x15A3 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x187D PUSH2 0x1878 DUP5 PUSH2 0x1839 JUMP JUMPDEST PUSH2 0x1614 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1899 JUMPI PUSH2 0x1898 PUSH2 0x159E JUMP JUMPDEST JUMPDEST PUSH2 0x18A4 DUP5 DUP3 DUP6 PUSH2 0x1660 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x18C1 JUMPI PUSH2 0x18C0 PUSH2 0x1599 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x18D1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x186A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x18F6 JUMPI PUSH2 0x18F5 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1914 JUMPI PUSH2 0x1913 PUSH2 0x13DF JUMP JUMPDEST JUMPDEST PUSH2 0x1920 DUP9 DUP3 DUP10 ADD PUSH2 0x18AC JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1941 JUMPI PUSH2 0x1940 PUSH2 0x13DF JUMP JUMPDEST JUMPDEST PUSH2 0x194D DUP9 DUP3 DUP10 ADD PUSH2 0x18AC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x196E JUMPI PUSH2 0x196D PUSH2 0x13DF JUMP JUMPDEST JUMPDEST PUSH2 0x197A DUP9 DUP3 DUP10 ADD PUSH2 0x18AC JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x198B DUP9 DUP3 DUP10 ADD PUSH2 0x1408 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x199C DUP9 DUP3 DUP10 ADD PUSH2 0x1408 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x19C4 JUMPI PUSH2 0x19C3 PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19ED PUSH2 0x19E8 DUP5 PUSH2 0x19A9 JUMP JUMPDEST PUSH2 0x1614 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1A10 JUMPI PUSH2 0x1A0F PUSH2 0x19D5 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1A57 JUMPI DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1A35 JUMPI PUSH2 0x1A34 PUSH2 0x1599 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x1A42 DUP10 DUP3 PUSH2 0x16B1 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1A12 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1A76 JUMPI PUSH2 0x1A75 PUSH2 0x1599 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1A86 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x19DA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1AA8 JUMPI PUSH2 0x1AA7 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AB6 DUP7 DUP3 DUP8 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1AD7 JUMPI PUSH2 0x1AD6 PUSH2 0x13DF JUMP JUMPDEST JUMPDEST PUSH2 0x1AE3 DUP7 DUP3 DUP8 ADD PUSH2 0x1A61 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1AF4 DUP7 DUP3 DUP8 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B15 JUMPI PUSH2 0x1B14 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1B23 DUP6 DUP3 DUP7 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1B34 DUP6 DUP3 DUP7 ADD PUSH2 0x1408 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1B53 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1745 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1B62 DUP2 PUSH2 0x14D2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1B7D PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x1B8A PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x1B97 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x1BA4 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1B59 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BC3 DUP3 PUSH2 0x1754 JUMP JUMPDEST PUSH2 0x1BCD DUP2 DUP6 PUSH2 0x1BAD JUMP JUMPDEST SWAP4 POP PUSH2 0x1BDD DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1770 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BF5 DUP3 DUP5 PUSH2 0x1BB8 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C16 DUP2 PUSH2 0x1C00 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1C33 DUP2 PUSH2 0x1C0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C4F JUMPI PUSH2 0x1C4E PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C5D DUP5 DUP3 DUP6 ADD PUSH2 0x1C24 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1C7B PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x147C JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1C8D DUP2 DUP5 PUSH2 0x179A JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1CAB PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x180F JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1CBD DUP2 DUP5 PUSH2 0x179A JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4F6E6C79206F776E65722063616E2063616C6C20746869732066756E6374696F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D33 PUSH1 0x21 DUP4 PUSH2 0x1CC6 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D3E DUP3 PUSH2 0x1CD7 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D62 DUP2 PUSH2 0x1D26 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4661696C656420746F20637265617465206E6F6E2D66756E6769626C6520746F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6B656E0000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DF4 PUSH1 0x23 DUP4 PUSH2 0x1CC6 JUMP JUMPDEST SWAP2 POP PUSH2 0x1DFF DUP3 PUSH2 0x1D98 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E23 DUP2 PUSH2 0x1DE7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4661696C656420746F206D696E74206E6F6E2D66756E6769626C6520746F6B65 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E86 PUSH1 0x21 DUP4 PUSH2 0x1CC6 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E91 DUP3 PUSH2 0x1E2A JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1EB5 DUP2 PUSH2 0x1E79 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x596F7520617265206E6F7420617574686F72697A656420746F20636C61696D20 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x74686973204E4654000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F18 PUSH1 0x28 DUP4 PUSH2 0x1CC6 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F23 DUP3 PUSH2 0x1EBC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F47 DUP2 PUSH2 0x1F0B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E46542068617320616C7265616479206265656E20636C61696D656400000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F84 PUSH1 0x1C DUP4 PUSH2 0x1CC6 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F8F DUP3 PUSH2 0x1F4E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1FB3 DUP2 PUSH2 0x1F77 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4661696C656420746F207472616E73666572206E6F6E2D66756E6769626C6520 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x746F6B656E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2016 PUSH1 0x25 DUP4 PUSH2 0x1CC6 JUMP JUMPDEST SWAP2 POP PUSH2 0x2021 DUP3 PUSH2 0x1FBA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2045 DUP2 PUSH2 0x2009 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2073 DUP3 PUSH2 0x204C JUMP JUMPDEST PUSH2 0x207D DUP2 DUP6 PUSH2 0x2057 JUMP JUMPDEST SWAP4 POP PUSH2 0x208D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1770 JUMP JUMPDEST PUSH2 0x2096 DUP2 PUSH2 0x15A3 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x20AA DUP2 PUSH2 0x146A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x20B9 DUP2 PUSH2 0x1803 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x20C8 DUP2 PUSH2 0x13E4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2103 DUP2 PUSH2 0x14D2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2125 DUP3 PUSH2 0x1754 JUMP JUMPDEST PUSH2 0x212F DUP2 DUP6 PUSH2 0x2109 JUMP JUMPDEST SWAP4 POP PUSH2 0x213F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1770 JUMP JUMPDEST PUSH2 0x2148 DUP2 PUSH2 0x15A3 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x216B PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x20B0 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x217E PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x20A1 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x2196 DUP3 DUP3 PUSH2 0x211A JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x21B0 DUP3 DUP3 PUSH2 0x211A JUMP JUMPDEST SWAP2 POP POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x21C5 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x20A1 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x21E8 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x20FA JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x2200 DUP3 DUP3 PUSH2 0x2153 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2219 DUP4 DUP4 PUSH2 0x21D0 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2239 DUP3 PUSH2 0x20CE JUMP JUMPDEST PUSH2 0x2243 DUP2 DUP6 PUSH2 0x20D9 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x2255 DUP6 PUSH2 0x20EA JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2291 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x2272 DUP6 DUP3 PUSH2 0x220D JUMP JUMPDEST SWAP5 POP PUSH2 0x227D DUP4 PUSH2 0x2221 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2259 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x22B9 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x20BF JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x22CC PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x20A1 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x22DF PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x20BF JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x160 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x2303 DUP3 DUP3 PUSH2 0x2068 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x231D DUP3 DUP3 PUSH2 0x2068 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x2332 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x20A1 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x234A DUP3 DUP3 PUSH2 0x2068 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x235F PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x20B0 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x2372 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x20BF JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x2385 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x20B0 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x239D DUP3 DUP3 PUSH2 0x222E JUMP JUMPDEST SWAP2 POP POP PUSH2 0x100 DUP4 ADD MLOAD PUSH2 0x23B4 PUSH2 0x100 DUP7 ADD DUP3 PUSH2 0x22A3 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x23D9 DUP2 DUP5 PUSH2 0x22E5 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23EC DUP3 PUSH2 0x144A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x23FC DUP2 PUSH2 0x23E1 JUMP JUMPDEST DUP2 EQ PUSH2 0x2407 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2419 DUP2 PUSH2 0x23F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2436 JUMPI PUSH2 0x2435 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2444 DUP6 DUP3 DUP7 ADD PUSH2 0x1C24 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x2455 DUP6 DUP3 DUP7 ADD PUSH2 0x240A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2497 DUP4 DUP4 PUSH2 0x211A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24B7 DUP3 PUSH2 0x245F JUMP JUMPDEST PUSH2 0x24C1 DUP2 DUP6 PUSH2 0x246A JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x24D3 DUP6 PUSH2 0x247B JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x250F JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x24F0 DUP6 DUP3 PUSH2 0x248B JUMP JUMPDEST SWAP5 POP PUSH2 0x24FB DUP4 PUSH2 0x249F JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x24D7 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x2536 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x2543 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x156F JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2555 DUP2 DUP5 PUSH2 0x24AC JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x256E DUP2 PUSH2 0x13F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x258F JUMPI PUSH2 0x258E PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25B3 PUSH2 0x25AE DUP5 PUSH2 0x2574 JUMP JUMPDEST PUSH2 0x1614 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x25D6 JUMPI PUSH2 0x25D5 PUSH2 0x19D5 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x25FF JUMPI DUP1 PUSH2 0x25EB DUP9 DUP3 PUSH2 0x255F JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x25D8 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x261E JUMPI PUSH2 0x261D PUSH2 0x1599 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x262E DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x25A0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2650 JUMPI PUSH2 0x264F PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x265E DUP7 DUP3 DUP8 ADD PUSH2 0x1C24 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x266F DUP7 DUP3 DUP8 ADD PUSH2 0x255F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2690 JUMPI PUSH2 0x268F PUSH2 0x13DF JUMP JUMPDEST JUMPDEST PUSH2 0x269C DUP7 DUP3 DUP8 ADD PUSH2 0x2609 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x26BB PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x26C8 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x26D5 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x26E2 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x156F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MLOAD 0xDB SAR CREATE CALLCODE EXP RETURNDATASIZE 0xF CHAINID 0xCA PUSH30 0xFE18C76DA7431FF1E7DB964CEC45939EFDBE0EA63064736F6C6343000812 STOP CALLER ","sourceMap":"262:3061:0:-:0;;;582:49;;;;;;;;;;601:1:5;575:8;:23;584:13;575:23;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:27;;;;636:1;612:8;:21;621:11;612:21;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:25;;;;674:1;647:8;:24;656:14;647:24;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:28;;;;710:1;685:8;:22;694:12;685:22;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:26;;;;748:2;721:8;:24;730:14;721:24;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:29;;;;784:2;760:8;:21;769:11;760:21;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:26;;;;822:2;796:8;:23;805:13;796:23;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:28;;;;614:10:0;606:5;;:18;;;;;;;;;;;;;;;;;;262:3061;;7:180:6;55:77;52:1;45:88;152:4;149:1;142:15;176:4;173:1;166:15;262:3061:0;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@claimNft_288":{"entryPoint":2900,"id":288,"parameterSlots":2,"returnSlots":1},"@claimed_22":{"entryPoint":2478,"id":22,"parameterSlots":0,"returnSlots":0},"@createAutoRenewExpiry_340":{"entryPoint":3373,"id":340,"parameterSlots":2,"returnSlots":1},"@createNft_179":{"entryPoint":1859,"id":179,"parameterSlots":5,"returnSlots":1},"@createNonFungibleToken_1791":{"entryPoint":3461,"id":1791,"parameterSlots":1,"returnSlots":2},"@getClaimerAddress_300":{"entryPoint":2411,"id":300,"parameterSlots":1,"returnSlots":1},"@getKeyType_5061":{"entryPoint":4490,"id":5061,"parameterSlots":1,"returnSlots":1},"@getKeyValueType_5169":{"entryPoint":4555,"id":5169,"parameterSlots":2,"returnSlots":1},"@getSingleKey_4901":{"entryPoint":3318,"id":4901,"parameterSlots":3,"returnSlots":1},"@isNftClaimed_312":{"entryPoint":1487,"id":312,"parameterSlots":1,"returnSlots":1},"@mintNftForUser_228":{"entryPoint":2510,"id":228,"parameterSlots":3,"returnSlots":1},"@mintToken_1381":{"entryPoint":3828,"id":1381,"parameterSlots":3,"returnSlots":3},"@nftClaimRights_18":{"entryPoint":802,"id":18,"parameterSlots":0,"returnSlots":0},"@owner_14":{"entryPoint":1535,"id":14,"parameterSlots":0,"returnSlots":0},"@redirectForToken_3629":{"entryPoint":1139,"id":3629,"parameterSlots":2,"returnSlots":2},"@transferFromNFT_2245":{"entryPoint":1573,"id":2245,"parameterSlots":4,"returnSlots":1},"@transferFrom_2198":{"entryPoint":853,"id":2198,"parameterSlots":4,"returnSlots":1},"@transferNFT_3037":{"entryPoint":4204,"id":3037,"parameterSlots":4,"returnSlots":1},"abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr":{"entryPoint":6618,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_array$_t_int64_$dyn_memory_ptr_fromMemory":{"entryPoint":9632,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_bytes_memory_ptr":{"entryPoint":5743,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_available_length_t_string_memory_ptr":{"entryPoint":6250,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_address":{"entryPoint":5309,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_address_payable_fromMemory":{"entryPoint":9226,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr":{"entryPoint":6753,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_array$_t_int64_$dyn_memory_ptr_fromMemory":{"entryPoint":9737,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_bytes_memory_ptr":{"entryPoint":5809,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_int32_fromMemory":{"entryPoint":7204,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_int64":{"entryPoint":5128,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_int64_fromMemory":{"entryPoint":9567,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_string_memory_ptr":{"entryPoint":6316,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":5363,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_addresst_addresst_uint256":{"entryPoint":5384,"id":null,"parameterSlots":2,"returnSlots":4},"abi_decode_tuple_t_addresst_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_address":{"entryPoint":6799,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_addresst_bytes_memory_ptr":{"entryPoint":5855,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_addresst_int64":{"entryPoint":6910,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_int32_fromMemory":{"entryPoint":7225,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_int32t_address_payable_fromMemory":{"entryPoint":9247,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_int32t_int64t_array$_t_int64_$dyn_memory_ptr_fromMemory":{"entryPoint":9783,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_int64":{"entryPoint":5149,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_int64t_int64":{"entryPoint":6362,"id":null,"parameterSlots":2,"returnSlots":5},"abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr":{"entryPoint":9355,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encodeUpdatedPos_t_struct$_TokenKey_$3785_memory_ptr_to_t_struct$_TokenKey_$3785_memory_ptr":{"entryPoint":8717,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_address_to_t_address":{"entryPoint":8353,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_address_to_t_address_fromStack":{"entryPoint":5244,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":9388,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr":{"entryPoint":8750,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bool_to_t_bool":{"entryPoint":8368,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bool_to_t_bool_fromStack":{"entryPoint":6159,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr":{"entryPoint":8474,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack":{"entryPoint":6042,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":7096,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_int256_to_t_int256_fromStack":{"entryPoint":5957,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int64_to_t_int64":{"entryPoint":8383,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_int64_to_t_int64_fromStack":{"entryPoint":5487,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr":{"entryPoint":8296,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_stringliteral_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0_to_t_string_memory_ptr_fromStack":{"entryPoint":7947,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272_to_t_string_memory_ptr_fromStack":{"entryPoint":8201,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef_to_t_string_memory_ptr_fromStack":{"entryPoint":7462,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b_to_t_string_memory_ptr_fromStack":{"entryPoint":7655,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf_to_t_string_memory_ptr_fromStack":{"entryPoint":8055,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_stringliteral_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4_to_t_string_memory_ptr_fromStack":{"entryPoint":7801,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_t_struct$_Expiry_$3768_memory_ptr_to_t_struct$_Expiry_$3768_memory_ptr":{"entryPoint":8867,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_struct$_HederaToken_$3807_memory_ptr_to_t_struct$_HederaToken_$3807_memory_ptr_fromStack":{"entryPoint":8933,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_KeyValue_$3779_memory_ptr_to_t_struct$_KeyValue_$3779_memory_ptr":{"entryPoint":8531,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_struct$_TokenKey_$3785_memory_ptr_to_t_struct$_TokenKey_$3785_memory_ptr":{"entryPoint":8656,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256":{"entryPoint":8442,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":7001,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":7145,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":5259,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_address_t_int64__to_t_address_t_address_t_address_t_int64__fromStack_reversed":{"entryPoint":9894,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_address_t_address_t_uint256__to_t_address_t_address_t_address_t_uint256__fromStack_reversed":{"entryPoint":7016,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_t_address_t_bytes_memory_ptr__to_t_address_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":7270,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_address_t_int64_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_address_t_int64_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":9505,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":6174,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":7318,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed":{"entryPoint":6974,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_int256_t_bytes_memory_ptr__to_t_int256_t_bytes_memory_ptr__fromStack_reversed":{"entryPoint":6099,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed":{"entryPoint":5502,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7982,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8236,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7497,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7690,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":8090,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":7836,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_HederaToken_$3807_memory_ptr__to_t_struct$_HederaToken_$3807_memory_ptr__fromStack_reversed":{"entryPoint":9151,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":5652,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":5072,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr":{"entryPoint":6569,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_array$_t_int64_$dyn_memory_ptr":{"entryPoint":9588,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_bytes_memory_ptr":{"entryPoint":5679,"id":null,"parameterSlots":1,"returnSlots":1},"array_allocation_size_t_string_memory_ptr":{"entryPoint":6201,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr":{"entryPoint":9339,"id":null,"parameterSlots":1,"returnSlots":1},"array_dataslot_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr":{"entryPoint":8426,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr":{"entryPoint":9311,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr":{"entryPoint":8398,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_bytes_memory_ptr":{"entryPoint":5972,"id":null,"parameterSlots":1,"returnSlots":1},"array_length_t_string_memory_ptr":{"entryPoint":8268,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr":{"entryPoint":9375,"id":null,"parameterSlots":1,"returnSlots":1},"array_nextElement_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr":{"entryPoint":8737,"id":null,"parameterSlots":1,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack":{"entryPoint":9322,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr":{"entryPoint":8409,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr":{"entryPoint":8457,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack":{"entryPoint":5983,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack":{"entryPoint":7085,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr":{"entryPoint":8279,"id":null,"parameterSlots":2,"returnSlots":1},"array_storeLengthForEncoding_t_string_memory_ptr_fromStack":{"entryPoint":7366,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_address":{"entryPoint":5226,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_address_payable":{"entryPoint":9185,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_bool":{"entryPoint":6147,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int256":{"entryPoint":5947,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int32":{"entryPoint":7168,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_int64":{"entryPoint":5092,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint160":{"entryPoint":5194,"id":null,"parameterSlots":1,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":5330,"id":null,"parameterSlots":1,"returnSlots":1},"copy_calldata_to_memory_with_cleanup":{"entryPoint":5728,"id":null,"parameterSlots":3,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":6000,"id":null,"parameterSlots":3,"returnSlots":0},"finalize_allocation":{"entryPoint":5603,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x21":{"entryPoint":9963,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":7529,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":5556,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":5529,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":6613,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae":{"entryPoint":5534,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":5087,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":5082,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":5539,"id":null,"parameterSlots":1,"returnSlots":1},"store_literal_in_memory_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0":{"entryPoint":7868,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272":{"entryPoint":8122,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef":{"entryPoint":7383,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b":{"entryPoint":7576,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf":{"entryPoint":8014,"id":null,"parameterSlots":1,"returnSlots":0},"store_literal_in_memory_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4":{"entryPoint":7722,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_address":{"entryPoint":5286,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_address_payable":{"entryPoint":9203,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_int32":{"entryPoint":7181,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_int64":{"entryPoint":5105,"id":null,"parameterSlots":1,"returnSlots":0},"validator_revert_t_uint256":{"entryPoint":5340,"id":null,"parameterSlots":1,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:39446:6","statements":[{"body":{"nodeType":"YulBlock","src":"47:35:6","statements":[{"nodeType":"YulAssignment","src":"57:19:6","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"73:2:6","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"67:5:6"},"nodeType":"YulFunctionCall","src":"67:9:6"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"57:6:6"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"40:6:6","type":""}],"src":"7:75:6"},{"body":{"nodeType":"YulBlock","src":"177:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"194:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"197:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"187:6:6"},"nodeType":"YulFunctionCall","src":"187:12:6"},"nodeType":"YulExpressionStatement","src":"187:12:6"}]},"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulFunctionDefinition","src":"88:117:6"},{"body":{"nodeType":"YulBlock","src":"300:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"317:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"320:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"310:6:6"},"nodeType":"YulFunctionCall","src":"310:12:6"},"nodeType":"YulExpressionStatement","src":"310:12:6"}]},"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulFunctionDefinition","src":"211:117:6"},{"body":{"nodeType":"YulBlock","src":"377:47:6","statements":[{"nodeType":"YulAssignment","src":"387:31:6","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"409:1:6","type":"","value":"7"},{"name":"value","nodeType":"YulIdentifier","src":"412:5:6"}],"functionName":{"name":"signextend","nodeType":"YulIdentifier","src":"398:10:6"},"nodeType":"YulFunctionCall","src":"398:20:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"387:7:6"}]}]},"name":"cleanup_t_int64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"359:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"369:7:6","type":""}],"src":"334:90:6"},{"body":{"nodeType":"YulBlock","src":"471:77:6","statements":[{"body":{"nodeType":"YulBlock","src":"526:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"535:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"538:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"528:6:6"},"nodeType":"YulFunctionCall","src":"528:12:6"},"nodeType":"YulExpressionStatement","src":"528:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"494:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"517:5:6"}],"functionName":{"name":"cleanup_t_int64","nodeType":"YulIdentifier","src":"501:15:6"},"nodeType":"YulFunctionCall","src":"501:22:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"491:2:6"},"nodeType":"YulFunctionCall","src":"491:33:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"484:6:6"},"nodeType":"YulFunctionCall","src":"484:41:6"},"nodeType":"YulIf","src":"481:61:6"}]},"name":"validator_revert_t_int64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"464:5:6","type":""}],"src":"430:118:6"},{"body":{"nodeType":"YulBlock","src":"604:85:6","statements":[{"nodeType":"YulAssignment","src":"614:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"636:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"623:12:6"},"nodeType":"YulFunctionCall","src":"623:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"614:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"677:5:6"}],"functionName":{"name":"validator_revert_t_int64","nodeType":"YulIdentifier","src":"652:24:6"},"nodeType":"YulFunctionCall","src":"652:31:6"},"nodeType":"YulExpressionStatement","src":"652:31:6"}]},"name":"abi_decode_t_int64","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"582:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"590:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"598:5:6","type":""}],"src":"554:135:6"},{"body":{"nodeType":"YulBlock","src":"759:261:6","statements":[{"body":{"nodeType":"YulBlock","src":"805:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"807:77:6"},"nodeType":"YulFunctionCall","src":"807:79:6"},"nodeType":"YulExpressionStatement","src":"807:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"780:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"789:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"776:3:6"},"nodeType":"YulFunctionCall","src":"776:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"801:2:6","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"772:3:6"},"nodeType":"YulFunctionCall","src":"772:32:6"},"nodeType":"YulIf","src":"769:119:6"},{"nodeType":"YulBlock","src":"898:115:6","statements":[{"nodeType":"YulVariableDeclaration","src":"913:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"927:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"917:6:6","type":""}]},{"nodeType":"YulAssignment","src":"942:61:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"975:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"986:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"971:3:6"},"nodeType":"YulFunctionCall","src":"971:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"995:7:6"}],"functionName":{"name":"abi_decode_t_int64","nodeType":"YulIdentifier","src":"952:18:6"},"nodeType":"YulFunctionCall","src":"952:51:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"942:6:6"}]}]}]},"name":"abi_decode_tuple_t_int64","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"729:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"740:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"752:6:6","type":""}],"src":"695:325:6"},{"body":{"nodeType":"YulBlock","src":"1071:81:6","statements":[{"nodeType":"YulAssignment","src":"1081:65:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1096:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"1103:42:6","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1092:3:6"},"nodeType":"YulFunctionCall","src":"1092:54:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1081:7:6"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1053:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1063:7:6","type":""}],"src":"1026:126:6"},{"body":{"nodeType":"YulBlock","src":"1203:51:6","statements":[{"nodeType":"YulAssignment","src":"1213:35:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1242:5:6"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"1224:17:6"},"nodeType":"YulFunctionCall","src":"1224:24:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1213:7:6"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1185:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1195:7:6","type":""}],"src":"1158:96:6"},{"body":{"nodeType":"YulBlock","src":"1325:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"1342:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1365:5:6"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"1347:17:6"},"nodeType":"YulFunctionCall","src":"1347:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1335:6:6"},"nodeType":"YulFunctionCall","src":"1335:37:6"},"nodeType":"YulExpressionStatement","src":"1335:37:6"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1313:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"1320:3:6","type":""}],"src":"1260:118:6"},{"body":{"nodeType":"YulBlock","src":"1482:124:6","statements":[{"nodeType":"YulAssignment","src":"1492:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1504:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"1515:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1500:3:6"},"nodeType":"YulFunctionCall","src":"1500:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1492:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1572:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1585:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"1596:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1581:3:6"},"nodeType":"YulFunctionCall","src":"1581:17:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"1528:43:6"},"nodeType":"YulFunctionCall","src":"1528:71:6"},"nodeType":"YulExpressionStatement","src":"1528:71:6"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1454:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1466:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1477:4:6","type":""}],"src":"1384:222:6"},{"body":{"nodeType":"YulBlock","src":"1655:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"1712:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1721:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1724:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1714:6:6"},"nodeType":"YulFunctionCall","src":"1714:12:6"},"nodeType":"YulExpressionStatement","src":"1714:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1678:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1703:5:6"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"1685:17:6"},"nodeType":"YulFunctionCall","src":"1685:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1675:2:6"},"nodeType":"YulFunctionCall","src":"1675:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1668:6:6"},"nodeType":"YulFunctionCall","src":"1668:43:6"},"nodeType":"YulIf","src":"1665:63:6"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1648:5:6","type":""}],"src":"1612:122:6"},{"body":{"nodeType":"YulBlock","src":"1792:87:6","statements":[{"nodeType":"YulAssignment","src":"1802:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1824:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1811:12:6"},"nodeType":"YulFunctionCall","src":"1811:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1802:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1867:5:6"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"1840:26:6"},"nodeType":"YulFunctionCall","src":"1840:33:6"},"nodeType":"YulExpressionStatement","src":"1840:33:6"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1770:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"1778:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1786:5:6","type":""}],"src":"1740:139:6"},{"body":{"nodeType":"YulBlock","src":"1930:32:6","statements":[{"nodeType":"YulAssignment","src":"1940:16:6","value":{"name":"value","nodeType":"YulIdentifier","src":"1951:5:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"1940:7:6"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1912:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"1922:7:6","type":""}],"src":"1885:77:6"},{"body":{"nodeType":"YulBlock","src":"2011:79:6","statements":[{"body":{"nodeType":"YulBlock","src":"2068:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2077:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2080:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2070:6:6"},"nodeType":"YulFunctionCall","src":"2070:12:6"},"nodeType":"YulExpressionStatement","src":"2070:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2034:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2059:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"2041:17:6"},"nodeType":"YulFunctionCall","src":"2041:24:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2031:2:6"},"nodeType":"YulFunctionCall","src":"2031:35:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2024:6:6"},"nodeType":"YulFunctionCall","src":"2024:43:6"},"nodeType":"YulIf","src":"2021:63:6"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2004:5:6","type":""}],"src":"1968:122:6"},{"body":{"nodeType":"YulBlock","src":"2148:87:6","statements":[{"nodeType":"YulAssignment","src":"2158:29:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2180:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2167:12:6"},"nodeType":"YulFunctionCall","src":"2167:20:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2158:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2223:5:6"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"2196:26:6"},"nodeType":"YulFunctionCall","src":"2196:33:6"},"nodeType":"YulExpressionStatement","src":"2196:33:6"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2126:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"2134:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2142:5:6","type":""}],"src":"2096:139:6"},{"body":{"nodeType":"YulBlock","src":"2358:648:6","statements":[{"body":{"nodeType":"YulBlock","src":"2405:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"2407:77:6"},"nodeType":"YulFunctionCall","src":"2407:79:6"},"nodeType":"YulExpressionStatement","src":"2407:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2379:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"2388:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2375:3:6"},"nodeType":"YulFunctionCall","src":"2375:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"2400:3:6","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2371:3:6"},"nodeType":"YulFunctionCall","src":"2371:33:6"},"nodeType":"YulIf","src":"2368:120:6"},{"nodeType":"YulBlock","src":"2498:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"2513:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"2527:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2517:6:6","type":""}]},{"nodeType":"YulAssignment","src":"2542:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2577:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"2588:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2573:3:6"},"nodeType":"YulFunctionCall","src":"2573:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2597:7:6"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"2552:20:6"},"nodeType":"YulFunctionCall","src":"2552:53:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2542:6:6"}]}]},{"nodeType":"YulBlock","src":"2625:118:6","statements":[{"nodeType":"YulVariableDeclaration","src":"2640:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"2654:2:6","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2644:6:6","type":""}]},{"nodeType":"YulAssignment","src":"2670:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2705:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"2716:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2701:3:6"},"nodeType":"YulFunctionCall","src":"2701:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2725:7:6"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"2680:20:6"},"nodeType":"YulFunctionCall","src":"2680:53:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2670:6:6"}]}]},{"nodeType":"YulBlock","src":"2753:118:6","statements":[{"nodeType":"YulVariableDeclaration","src":"2768:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"2782:2:6","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2772:6:6","type":""}]},{"nodeType":"YulAssignment","src":"2798:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2833:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"2844:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2829:3:6"},"nodeType":"YulFunctionCall","src":"2829:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2853:7:6"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"2808:20:6"},"nodeType":"YulFunctionCall","src":"2808:53:6"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"2798:6:6"}]}]},{"nodeType":"YulBlock","src":"2881:118:6","statements":[{"nodeType":"YulVariableDeclaration","src":"2896:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"2910:2:6","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2900:6:6","type":""}]},{"nodeType":"YulAssignment","src":"2926:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2961:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"2972:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2957:3:6"},"nodeType":"YulFunctionCall","src":"2957:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2981:7:6"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2936:20:6"},"nodeType":"YulFunctionCall","src":"2936:53:6"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"2926:6:6"}]}]}]},"name":"abi_decode_tuple_t_addresst_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2304:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2315:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2327:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2335:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"2343:6:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"2351:6:6","type":""}],"src":"2241:765:6"},{"body":{"nodeType":"YulBlock","src":"3073:51:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3090:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3111:5:6"}],"functionName":{"name":"cleanup_t_int64","nodeType":"YulIdentifier","src":"3095:15:6"},"nodeType":"YulFunctionCall","src":"3095:22:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3083:6:6"},"nodeType":"YulFunctionCall","src":"3083:35:6"},"nodeType":"YulExpressionStatement","src":"3083:35:6"}]},"name":"abi_encode_t_int64_to_t_int64_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3061:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3068:3:6","type":""}],"src":"3012:112:6"},{"body":{"nodeType":"YulBlock","src":"3224:120:6","statements":[{"nodeType":"YulAssignment","src":"3234:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3246:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"3257:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3242:3:6"},"nodeType":"YulFunctionCall","src":"3242:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3234:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3310:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3323:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"3334:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3319:3:6"},"nodeType":"YulFunctionCall","src":"3319:17:6"}],"functionName":{"name":"abi_encode_t_int64_to_t_int64_fromStack","nodeType":"YulIdentifier","src":"3270:39:6"},"nodeType":"YulFunctionCall","src":"3270:67:6"},"nodeType":"YulExpressionStatement","src":"3270:67:6"}]},"name":"abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3196:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3208:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3219:4:6","type":""}],"src":"3130:214:6"},{"body":{"nodeType":"YulBlock","src":"3439:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3456:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3459:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3449:6:6"},"nodeType":"YulFunctionCall","src":"3449:12:6"},"nodeType":"YulExpressionStatement","src":"3449:12:6"}]},"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulFunctionDefinition","src":"3350:117:6"},{"body":{"nodeType":"YulBlock","src":"3562:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3579:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3582:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3572:6:6"},"nodeType":"YulFunctionCall","src":"3572:12:6"},"nodeType":"YulExpressionStatement","src":"3572:12:6"}]},"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulFunctionDefinition","src":"3473:117:6"},{"body":{"nodeType":"YulBlock","src":"3644:54:6","statements":[{"nodeType":"YulAssignment","src":"3654:38:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3672:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"3679:2:6","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3668:3:6"},"nodeType":"YulFunctionCall","src":"3668:14:6"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3688:2:6","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3684:3:6"},"nodeType":"YulFunctionCall","src":"3684:7:6"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3664:3:6"},"nodeType":"YulFunctionCall","src":"3664:28:6"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"3654:6:6"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3627:5:6","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"3637:6:6","type":""}],"src":"3596:102:6"},{"body":{"nodeType":"YulBlock","src":"3732:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3749:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3752:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3742:6:6"},"nodeType":"YulFunctionCall","src":"3742:88:6"},"nodeType":"YulExpressionStatement","src":"3742:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3846:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"3849:4:6","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3839:6:6"},"nodeType":"YulFunctionCall","src":"3839:15:6"},"nodeType":"YulExpressionStatement","src":"3839:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3870:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3873:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3863:6:6"},"nodeType":"YulFunctionCall","src":"3863:15:6"},"nodeType":"YulExpressionStatement","src":"3863:15:6"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"3704:180:6"},{"body":{"nodeType":"YulBlock","src":"3933:238:6","statements":[{"nodeType":"YulVariableDeclaration","src":"3943:58:6","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3965:6:6"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"3995:4:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"3973:21:6"},"nodeType":"YulFunctionCall","src":"3973:27:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3961:3:6"},"nodeType":"YulFunctionCall","src":"3961:40:6"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"3947:10:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"4112:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4114:16:6"},"nodeType":"YulFunctionCall","src":"4114:18:6"},"nodeType":"YulExpressionStatement","src":"4114:18:6"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4055:10:6"},{"kind":"number","nodeType":"YulLiteral","src":"4067:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4052:2:6"},"nodeType":"YulFunctionCall","src":"4052:34:6"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4091:10:6"},{"name":"memPtr","nodeType":"YulIdentifier","src":"4103:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4088:2:6"},"nodeType":"YulFunctionCall","src":"4088:22:6"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"4049:2:6"},"nodeType":"YulFunctionCall","src":"4049:62:6"},"nodeType":"YulIf","src":"4046:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4150:2:6","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"4154:10:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4143:6:6"},"nodeType":"YulFunctionCall","src":"4143:22:6"},"nodeType":"YulExpressionStatement","src":"4143:22:6"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"3919:6:6","type":""},{"name":"size","nodeType":"YulTypedName","src":"3927:4:6","type":""}],"src":"3890:281:6"},{"body":{"nodeType":"YulBlock","src":"4218:88:6","statements":[{"nodeType":"YulAssignment","src":"4228:30:6","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"4238:18:6"},"nodeType":"YulFunctionCall","src":"4238:20:6"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4228:6:6"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"4287:6:6"},{"name":"size","nodeType":"YulIdentifier","src":"4295:4:6"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"4267:19:6"},"nodeType":"YulFunctionCall","src":"4267:33:6"},"nodeType":"YulExpressionStatement","src":"4267:33:6"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"4202:4:6","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"4211:6:6","type":""}],"src":"4177:129:6"},{"body":{"nodeType":"YulBlock","src":"4378:241:6","statements":[{"body":{"nodeType":"YulBlock","src":"4483:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"4485:16:6"},"nodeType":"YulFunctionCall","src":"4485:18:6"},"nodeType":"YulExpressionStatement","src":"4485:18:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4455:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"4463:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4452:2:6"},"nodeType":"YulFunctionCall","src":"4452:30:6"},"nodeType":"YulIf","src":"4449:56:6"},{"nodeType":"YulAssignment","src":"4515:37:6","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4545:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"4523:21:6"},"nodeType":"YulFunctionCall","src":"4523:29:6"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"4515:4:6"}]},{"nodeType":"YulAssignment","src":"4589:23:6","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"4601:4:6"},{"kind":"number","nodeType":"YulLiteral","src":"4607:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4597:3:6"},"nodeType":"YulFunctionCall","src":"4597:15:6"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"4589:4:6"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"4362:6:6","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"4373:4:6","type":""}],"src":"4312:307:6"},{"body":{"nodeType":"YulBlock","src":"4689:82:6","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4712:3:6"},{"name":"src","nodeType":"YulIdentifier","src":"4717:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"4722:6:6"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"4699:12:6"},"nodeType":"YulFunctionCall","src":"4699:30:6"},"nodeType":"YulExpressionStatement","src":"4699:30:6"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"4749:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"4754:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4745:3:6"},"nodeType":"YulFunctionCall","src":"4745:16:6"},{"kind":"number","nodeType":"YulLiteral","src":"4763:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4738:6:6"},"nodeType":"YulFunctionCall","src":"4738:27:6"},"nodeType":"YulExpressionStatement","src":"4738:27:6"}]},"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"4671:3:6","type":""},{"name":"dst","nodeType":"YulTypedName","src":"4676:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"4681:6:6","type":""}],"src":"4625:146:6"},{"body":{"nodeType":"YulBlock","src":"4860:340:6","statements":[{"nodeType":"YulAssignment","src":"4870:74:6","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"4936:6:6"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"4895:40:6"},"nodeType":"YulFunctionCall","src":"4895:48:6"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"4879:15:6"},"nodeType":"YulFunctionCall","src":"4879:65:6"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"4870:5:6"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"4960:5:6"},{"name":"length","nodeType":"YulIdentifier","src":"4967:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4953:6:6"},"nodeType":"YulFunctionCall","src":"4953:21:6"},"nodeType":"YulExpressionStatement","src":"4953:21:6"},{"nodeType":"YulVariableDeclaration","src":"4983:27:6","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"4998:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"5005:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4994:3:6"},"nodeType":"YulFunctionCall","src":"4994:16:6"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"4987:3:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"5048:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"5050:77:6"},"nodeType":"YulFunctionCall","src":"5050:79:6"},"nodeType":"YulExpressionStatement","src":"5050:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5029:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"5034:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5025:3:6"},"nodeType":"YulFunctionCall","src":"5025:16:6"},{"name":"end","nodeType":"YulIdentifier","src":"5043:3:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5022:2:6"},"nodeType":"YulFunctionCall","src":"5022:25:6"},"nodeType":"YulIf","src":"5019:112:6"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"5177:3:6"},{"name":"dst","nodeType":"YulIdentifier","src":"5182:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"5187:6:6"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"5140:36:6"},"nodeType":"YulFunctionCall","src":"5140:54:6"},"nodeType":"YulExpressionStatement","src":"5140:54:6"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"4833:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"4838:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"4846:3:6","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"4854:5:6","type":""}],"src":"4777:423:6"},{"body":{"nodeType":"YulBlock","src":"5280:277:6","statements":[{"body":{"nodeType":"YulBlock","src":"5329:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"5331:77:6"},"nodeType":"YulFunctionCall","src":"5331:79:6"},"nodeType":"YulExpressionStatement","src":"5331:79:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5308:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5316:4:6","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5304:3:6"},"nodeType":"YulFunctionCall","src":"5304:17:6"},{"name":"end","nodeType":"YulIdentifier","src":"5323:3:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5300:3:6"},"nodeType":"YulFunctionCall","src":"5300:27:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5293:6:6"},"nodeType":"YulFunctionCall","src":"5293:35:6"},"nodeType":"YulIf","src":"5290:122:6"},{"nodeType":"YulVariableDeclaration","src":"5421:34:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5448:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5435:12:6"},"nodeType":"YulFunctionCall","src":"5435:20:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"5425:6:6","type":""}]},{"nodeType":"YulAssignment","src":"5464:87:6","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5524:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"5532:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5520:3:6"},"nodeType":"YulFunctionCall","src":"5520:17:6"},{"name":"length","nodeType":"YulIdentifier","src":"5539:6:6"},{"name":"end","nodeType":"YulIdentifier","src":"5547:3:6"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"5473:46:6"},"nodeType":"YulFunctionCall","src":"5473:78:6"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"5464:5:6"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"5258:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"5266:3:6","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"5274:5:6","type":""}],"src":"5219:338:6"},{"body":{"nodeType":"YulBlock","src":"5655:560:6","statements":[{"body":{"nodeType":"YulBlock","src":"5701:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"5703:77:6"},"nodeType":"YulFunctionCall","src":"5703:79:6"},"nodeType":"YulExpressionStatement","src":"5703:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5676:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"5685:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5672:3:6"},"nodeType":"YulFunctionCall","src":"5672:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"5697:2:6","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5668:3:6"},"nodeType":"YulFunctionCall","src":"5668:32:6"},"nodeType":"YulIf","src":"5665:119:6"},{"nodeType":"YulBlock","src":"5794:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"5809:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"5823:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5813:6:6","type":""}]},{"nodeType":"YulAssignment","src":"5838:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5873:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"5884:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5869:3:6"},"nodeType":"YulFunctionCall","src":"5869:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5893:7:6"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"5848:20:6"},"nodeType":"YulFunctionCall","src":"5848:53:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5838:6:6"}]}]},{"nodeType":"YulBlock","src":"5921:287:6","statements":[{"nodeType":"YulVariableDeclaration","src":"5936:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5967:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"5978:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5963:3:6"},"nodeType":"YulFunctionCall","src":"5963:18:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5950:12:6"},"nodeType":"YulFunctionCall","src":"5950:32:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5940:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"6029:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"6031:77:6"},"nodeType":"YulFunctionCall","src":"6031:79:6"},"nodeType":"YulExpressionStatement","src":"6031:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6001:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"6009:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5998:2:6"},"nodeType":"YulFunctionCall","src":"5998:30:6"},"nodeType":"YulIf","src":"5995:117:6"},{"nodeType":"YulAssignment","src":"6126:72:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6170:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"6181:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6166:3:6"},"nodeType":"YulFunctionCall","src":"6166:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6190:7:6"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"6136:29:6"},"nodeType":"YulFunctionCall","src":"6136:62:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"6126:6:6"}]}]}]},"name":"abi_decode_tuple_t_addresst_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5617:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5628:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5640:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5648:6:6","type":""}],"src":"5563:652:6"},{"body":{"nodeType":"YulBlock","src":"6265:32:6","statements":[{"nodeType":"YulAssignment","src":"6275:16:6","value":{"name":"value","nodeType":"YulIdentifier","src":"6286:5:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"6275:7:6"}]}]},"name":"cleanup_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6247:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"6257:7:6","type":""}],"src":"6221:76:6"},{"body":{"nodeType":"YulBlock","src":"6366:52:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6383:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6405:5:6"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"6388:16:6"},"nodeType":"YulFunctionCall","src":"6388:23:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6376:6:6"},"nodeType":"YulFunctionCall","src":"6376:36:6"},"nodeType":"YulExpressionStatement","src":"6376:36:6"}]},"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6354:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6361:3:6","type":""}],"src":"6303:115:6"},{"body":{"nodeType":"YulBlock","src":"6482:40:6","statements":[{"nodeType":"YulAssignment","src":"6493:22:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6509:5:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6503:5:6"},"nodeType":"YulFunctionCall","src":"6503:12:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6493:6:6"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6465:5:6","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"6475:6:6","type":""}],"src":"6424:98:6"},{"body":{"nodeType":"YulBlock","src":"6623:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6640:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"6645:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6633:6:6"},"nodeType":"YulFunctionCall","src":"6633:19:6"},"nodeType":"YulExpressionStatement","src":"6633:19:6"},{"nodeType":"YulAssignment","src":"6661:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6680:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"6685:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6676:3:6"},"nodeType":"YulFunctionCall","src":"6676:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"6661:11:6"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6595:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"6600:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"6611:11:6","type":""}],"src":"6528:168:6"},{"body":{"nodeType":"YulBlock","src":"6764:184:6","statements":[{"nodeType":"YulVariableDeclaration","src":"6774:10:6","value":{"kind":"number","nodeType":"YulLiteral","src":"6783:1:6","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6778:1:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"6843:63:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6868:3:6"},{"name":"i","nodeType":"YulIdentifier","src":"6873:1:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6864:3:6"},"nodeType":"YulFunctionCall","src":"6864:11:6"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"6887:3:6"},{"name":"i","nodeType":"YulIdentifier","src":"6892:1:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6883:3:6"},"nodeType":"YulFunctionCall","src":"6883:11:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6877:5:6"},"nodeType":"YulFunctionCall","src":"6877:18:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6857:6:6"},"nodeType":"YulFunctionCall","src":"6857:39:6"},"nodeType":"YulExpressionStatement","src":"6857:39:6"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6804:1:6"},{"name":"length","nodeType":"YulIdentifier","src":"6807:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6801:2:6"},"nodeType":"YulFunctionCall","src":"6801:13:6"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6815:19:6","statements":[{"nodeType":"YulAssignment","src":"6817:15:6","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6826:1:6"},{"kind":"number","nodeType":"YulLiteral","src":"6829:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6822:3:6"},"nodeType":"YulFunctionCall","src":"6822:10:6"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6817:1:6"}]}]},"pre":{"nodeType":"YulBlock","src":"6797:3:6","statements":[]},"src":"6793:113:6"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6926:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"6931:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6922:3:6"},"nodeType":"YulFunctionCall","src":"6922:16:6"},{"kind":"number","nodeType":"YulLiteral","src":"6940:1:6","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6915:6:6"},"nodeType":"YulFunctionCall","src":"6915:27:6"},"nodeType":"YulExpressionStatement","src":"6915:27:6"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"6746:3:6","type":""},{"name":"dst","nodeType":"YulTypedName","src":"6751:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"6756:6:6","type":""}],"src":"6702:246:6"},{"body":{"nodeType":"YulBlock","src":"7044:283:6","statements":[{"nodeType":"YulVariableDeclaration","src":"7054:52:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7100:5:6"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"7068:31:6"},"nodeType":"YulFunctionCall","src":"7068:38:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7058:6:6","type":""}]},{"nodeType":"YulAssignment","src":"7115:77:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7180:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"7185:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7122:57:6"},"nodeType":"YulFunctionCall","src":"7122:70:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7115:3:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7240:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"7247:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7236:3:6"},"nodeType":"YulFunctionCall","src":"7236:16:6"},{"name":"pos","nodeType":"YulIdentifier","src":"7254:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"7259:6:6"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"7201:34:6"},"nodeType":"YulFunctionCall","src":"7201:65:6"},"nodeType":"YulExpressionStatement","src":"7201:65:6"},{"nodeType":"YulAssignment","src":"7275:46:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7286:3:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7313:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"7291:21:6"},"nodeType":"YulFunctionCall","src":"7291:29:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7282:3:6"},"nodeType":"YulFunctionCall","src":"7282:39:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7275:3:6"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7025:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7032:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7040:3:6","type":""}],"src":"6954:373:6"},{"body":{"nodeType":"YulBlock","src":"7475:273:6","statements":[{"nodeType":"YulAssignment","src":"7485:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7497:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"7508:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7493:3:6"},"nodeType":"YulFunctionCall","src":"7493:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7485:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7563:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7576:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"7587:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7572:3:6"},"nodeType":"YulFunctionCall","src":"7572:17:6"}],"functionName":{"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulIdentifier","src":"7521:41:6"},"nodeType":"YulFunctionCall","src":"7521:69:6"},"nodeType":"YulExpressionStatement","src":"7521:69:6"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7611:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"7622:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7607:3:6"},"nodeType":"YulFunctionCall","src":"7607:18:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"7631:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"7637:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"7627:3:6"},"nodeType":"YulFunctionCall","src":"7627:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7600:6:6"},"nodeType":"YulFunctionCall","src":"7600:48:6"},"nodeType":"YulExpressionStatement","src":"7600:48:6"},{"nodeType":"YulAssignment","src":"7657:84:6","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"7727:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"7736:4:6"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7665:61:6"},"nodeType":"YulFunctionCall","src":"7665:76:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7657:4:6"}]}]},"name":"abi_encode_tuple_t_int256_t_bytes_memory_ptr__to_t_int256_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7439:9:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"7451:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7459:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7470:4:6","type":""}],"src":"7333:415:6"},{"body":{"nodeType":"YulBlock","src":"7796:48:6","statements":[{"nodeType":"YulAssignment","src":"7806:32:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7831:5:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7824:6:6"},"nodeType":"YulFunctionCall","src":"7824:13:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7817:6:6"},"nodeType":"YulFunctionCall","src":"7817:21:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"7806:7:6"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7778:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"7788:7:6","type":""}],"src":"7754:90:6"},{"body":{"nodeType":"YulBlock","src":"7909:50:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7926:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7946:5:6"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"7931:14:6"},"nodeType":"YulFunctionCall","src":"7931:21:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7919:6:6"},"nodeType":"YulFunctionCall","src":"7919:34:6"},"nodeType":"YulExpressionStatement","src":"7919:34:6"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7897:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7904:3:6","type":""}],"src":"7850:109:6"},{"body":{"nodeType":"YulBlock","src":"8057:118:6","statements":[{"nodeType":"YulAssignment","src":"8067:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8079:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"8090:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8075:3:6"},"nodeType":"YulFunctionCall","src":"8075:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"8067:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"8141:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"8154:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"8165:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8150:3:6"},"nodeType":"YulFunctionCall","src":"8150:17:6"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"8103:37:6"},"nodeType":"YulFunctionCall","src":"8103:65:6"},"nodeType":"YulExpressionStatement","src":"8103:65:6"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8029:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"8041:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"8052:4:6","type":""}],"src":"7965:210:6"},{"body":{"nodeType":"YulBlock","src":"8248:241:6","statements":[{"body":{"nodeType":"YulBlock","src":"8353:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"8355:16:6"},"nodeType":"YulFunctionCall","src":"8355:18:6"},"nodeType":"YulExpressionStatement","src":"8355:18:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8325:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"8333:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8322:2:6"},"nodeType":"YulFunctionCall","src":"8322:30:6"},"nodeType":"YulIf","src":"8319:56:6"},{"nodeType":"YulAssignment","src":"8385:37:6","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8415:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"8393:21:6"},"nodeType":"YulFunctionCall","src":"8393:29:6"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"8385:4:6"}]},{"nodeType":"YulAssignment","src":"8459:23:6","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"8471:4:6"},{"kind":"number","nodeType":"YulLiteral","src":"8477:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8467:3:6"},"nodeType":"YulFunctionCall","src":"8467:15:6"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"8459:4:6"}]}]},"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"8232:6:6","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"8243:4:6","type":""}],"src":"8181:308:6"},{"body":{"nodeType":"YulBlock","src":"8579:341:6","statements":[{"nodeType":"YulAssignment","src":"8589:75:6","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8656:6:6"}],"functionName":{"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulIdentifier","src":"8614:41:6"},"nodeType":"YulFunctionCall","src":"8614:49:6"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"8598:15:6"},"nodeType":"YulFunctionCall","src":"8598:66:6"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"8589:5:6"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"8680:5:6"},{"name":"length","nodeType":"YulIdentifier","src":"8687:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8673:6:6"},"nodeType":"YulFunctionCall","src":"8673:21:6"},"nodeType":"YulExpressionStatement","src":"8673:21:6"},{"nodeType":"YulVariableDeclaration","src":"8703:27:6","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"8718:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"8725:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8714:3:6"},"nodeType":"YulFunctionCall","src":"8714:16:6"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"8707:3:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"8768:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae","nodeType":"YulIdentifier","src":"8770:77:6"},"nodeType":"YulFunctionCall","src":"8770:79:6"},"nodeType":"YulExpressionStatement","src":"8770:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8749:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"8754:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8745:3:6"},"nodeType":"YulFunctionCall","src":"8745:16:6"},{"name":"end","nodeType":"YulIdentifier","src":"8763:3:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"8742:2:6"},"nodeType":"YulFunctionCall","src":"8742:25:6"},"nodeType":"YulIf","src":"8739:112:6"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"8897:3:6"},{"name":"dst","nodeType":"YulIdentifier","src":"8902:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"8907:6:6"}],"functionName":{"name":"copy_calldata_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"8860:36:6"},"nodeType":"YulFunctionCall","src":"8860:54:6"},"nodeType":"YulExpressionStatement","src":"8860:54:6"}]},"name":"abi_decode_available_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"8552:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"8557:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"8565:3:6","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"8573:5:6","type":""}],"src":"8495:425:6"},{"body":{"nodeType":"YulBlock","src":"9002:278:6","statements":[{"body":{"nodeType":"YulBlock","src":"9051:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"9053:77:6"},"nodeType":"YulFunctionCall","src":"9053:79:6"},"nodeType":"YulExpressionStatement","src":"9053:79:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9030:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"9038:4:6","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9026:3:6"},"nodeType":"YulFunctionCall","src":"9026:17:6"},{"name":"end","nodeType":"YulIdentifier","src":"9045:3:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9022:3:6"},"nodeType":"YulFunctionCall","src":"9022:27:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"9015:6:6"},"nodeType":"YulFunctionCall","src":"9015:35:6"},"nodeType":"YulIf","src":"9012:122:6"},{"nodeType":"YulVariableDeclaration","src":"9143:34:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9170:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9157:12:6"},"nodeType":"YulFunctionCall","src":"9157:20:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9147:6:6","type":""}]},{"nodeType":"YulAssignment","src":"9186:88:6","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9247:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"9255:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9243:3:6"},"nodeType":"YulFunctionCall","src":"9243:17:6"},{"name":"length","nodeType":"YulIdentifier","src":"9262:6:6"},{"name":"end","nodeType":"YulIdentifier","src":"9270:3:6"}],"functionName":{"name":"abi_decode_available_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"9195:47:6"},"nodeType":"YulFunctionCall","src":"9195:79:6"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"9186:5:6"}]}]},"name":"abi_decode_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"8980:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"8988:3:6","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"8996:5:6","type":""}],"src":"8940:340:6"},{"body":{"nodeType":"YulBlock","src":"9446:1283:6","statements":[{"body":{"nodeType":"YulBlock","src":"9493:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"9495:77:6"},"nodeType":"YulFunctionCall","src":"9495:79:6"},"nodeType":"YulExpressionStatement","src":"9495:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9467:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"9476:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9463:3:6"},"nodeType":"YulFunctionCall","src":"9463:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"9488:3:6","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9459:3:6"},"nodeType":"YulFunctionCall","src":"9459:33:6"},"nodeType":"YulIf","src":"9456:120:6"},{"nodeType":"YulBlock","src":"9586:287:6","statements":[{"nodeType":"YulVariableDeclaration","src":"9601:45:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9632:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"9643:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9628:3:6"},"nodeType":"YulFunctionCall","src":"9628:17:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9615:12:6"},"nodeType":"YulFunctionCall","src":"9615:31:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9605:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"9693:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"9695:77:6"},"nodeType":"YulFunctionCall","src":"9695:79:6"},"nodeType":"YulExpressionStatement","src":"9695:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9665:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"9673:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9662:2:6"},"nodeType":"YulFunctionCall","src":"9662:30:6"},"nodeType":"YulIf","src":"9659:117:6"},{"nodeType":"YulAssignment","src":"9790:73:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9835:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"9846:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9831:3:6"},"nodeType":"YulFunctionCall","src":"9831:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"9855:7:6"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"9800:30:6"},"nodeType":"YulFunctionCall","src":"9800:63:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"9790:6:6"}]}]},{"nodeType":"YulBlock","src":"9883:288:6","statements":[{"nodeType":"YulVariableDeclaration","src":"9898:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9929:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"9940:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9925:3:6"},"nodeType":"YulFunctionCall","src":"9925:18:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"9912:12:6"},"nodeType":"YulFunctionCall","src":"9912:32:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"9902:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"9991:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"9993:77:6"},"nodeType":"YulFunctionCall","src":"9993:79:6"},"nodeType":"YulExpressionStatement","src":"9993:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"9963:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"9971:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"9960:2:6"},"nodeType":"YulFunctionCall","src":"9960:30:6"},"nodeType":"YulIf","src":"9957:117:6"},{"nodeType":"YulAssignment","src":"10088:73:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10133:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"10144:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10129:3:6"},"nodeType":"YulFunctionCall","src":"10129:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10153:7:6"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"10098:30:6"},"nodeType":"YulFunctionCall","src":"10098:63:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"10088:6:6"}]}]},{"nodeType":"YulBlock","src":"10181:288:6","statements":[{"nodeType":"YulVariableDeclaration","src":"10196:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10227:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"10238:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10223:3:6"},"nodeType":"YulFunctionCall","src":"10223:18:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10210:12:6"},"nodeType":"YulFunctionCall","src":"10210:32:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10200:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"10289:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"10291:77:6"},"nodeType":"YulFunctionCall","src":"10291:79:6"},"nodeType":"YulExpressionStatement","src":"10291:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"10261:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"10269:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10258:2:6"},"nodeType":"YulFunctionCall","src":"10258:30:6"},"nodeType":"YulIf","src":"10255:117:6"},{"nodeType":"YulAssignment","src":"10386:73:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10431:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"10442:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10427:3:6"},"nodeType":"YulFunctionCall","src":"10427:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10451:7:6"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"10396:30:6"},"nodeType":"YulFunctionCall","src":"10396:63:6"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"10386:6:6"}]}]},{"nodeType":"YulBlock","src":"10479:116:6","statements":[{"nodeType":"YulVariableDeclaration","src":"10494:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"10508:2:6","type":"","value":"96"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10498:6:6","type":""}]},{"nodeType":"YulAssignment","src":"10524:61:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10557:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"10568:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10553:3:6"},"nodeType":"YulFunctionCall","src":"10553:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10577:7:6"}],"functionName":{"name":"abi_decode_t_int64","nodeType":"YulIdentifier","src":"10534:18:6"},"nodeType":"YulFunctionCall","src":"10534:51:6"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"10524:6:6"}]}]},{"nodeType":"YulBlock","src":"10605:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"10620:17:6","value":{"kind":"number","nodeType":"YulLiteral","src":"10634:3:6","type":"","value":"128"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"10624:6:6","type":""}]},{"nodeType":"YulAssignment","src":"10651:61:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10684:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"10695:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10680:3:6"},"nodeType":"YulFunctionCall","src":"10680:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"10704:7:6"}],"functionName":{"name":"abi_decode_t_int64","nodeType":"YulIdentifier","src":"10661:18:6"},"nodeType":"YulFunctionCall","src":"10661:51:6"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"10651:6:6"}]}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_int64t_int64","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9384:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9395:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9407:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"9415:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"9423:6:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"9431:6:6","type":""},{"name":"value4","nodeType":"YulTypedName","src":"9439:6:6","type":""}],"src":"9286:1443:6"},{"body":{"nodeType":"YulBlock","src":"10826:229:6","statements":[{"body":{"nodeType":"YulBlock","src":"10931:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"10933:16:6"},"nodeType":"YulFunctionCall","src":"10933:18:6"},"nodeType":"YulExpressionStatement","src":"10933:18:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10903:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"10911:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"10900:2:6"},"nodeType":"YulFunctionCall","src":"10900:30:6"},"nodeType":"YulIf","src":"10897:56:6"},{"nodeType":"YulAssignment","src":"10963:25:6","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"10975:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"10983:4:6","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"10971:3:6"},"nodeType":"YulFunctionCall","src":"10971:17:6"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"10963:4:6"}]},{"nodeType":"YulAssignment","src":"11025:23:6","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"11037:4:6"},{"kind":"number","nodeType":"YulLiteral","src":"11043:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11033:3:6"},"nodeType":"YulFunctionCall","src":"11033:15:6"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"11025:4:6"}]}]},"name":"array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"10810:6:6","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"10821:4:6","type":""}],"src":"10735:320:6"},{"body":{"nodeType":"YulBlock","src":"11150:28:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11167:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11170:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11160:6:6"},"nodeType":"YulFunctionCall","src":"11160:12:6"},"nodeType":"YulExpressionStatement","src":"11160:12:6"}]},"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulFunctionDefinition","src":"11061:117:6"},{"body":{"nodeType":"YulBlock","src":"11310:831:6","statements":[{"nodeType":"YulAssignment","src":"11320:99:6","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"11411:6:6"}],"functionName":{"name":"array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"11345:65:6"},"nodeType":"YulFunctionCall","src":"11345:73:6"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"11329:15:6"},"nodeType":"YulFunctionCall","src":"11329:90:6"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"11320:5:6"}]},{"nodeType":"YulVariableDeclaration","src":"11428:16:6","value":{"name":"array","nodeType":"YulIdentifier","src":"11439:5:6"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"11432:3:6","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"11461:5:6"},{"name":"length","nodeType":"YulIdentifier","src":"11468:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11454:6:6"},"nodeType":"YulFunctionCall","src":"11454:21:6"},"nodeType":"YulExpressionStatement","src":"11454:21:6"},{"nodeType":"YulAssignment","src":"11484:23:6","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"11495:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"11502:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11491:3:6"},"nodeType":"YulFunctionCall","src":"11491:16:6"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"11484:3:6"}]},{"nodeType":"YulVariableDeclaration","src":"11517:44:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11535:6:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"11547:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"11555:4:6","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"11543:3:6"},"nodeType":"YulFunctionCall","src":"11543:17:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11531:3:6"},"nodeType":"YulFunctionCall","src":"11531:30:6"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"11521:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"11589:103:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"11603:77:6"},"nodeType":"YulFunctionCall","src":"11603:79:6"},"nodeType":"YulExpressionStatement","src":"11603:79:6"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"11576:6:6"},{"name":"end","nodeType":"YulIdentifier","src":"11584:3:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11573:2:6"},"nodeType":"YulFunctionCall","src":"11573:15:6"},"nodeType":"YulIf","src":"11570:122:6"},{"body":{"nodeType":"YulBlock","src":"11777:358:6","statements":[{"nodeType":"YulVariableDeclaration","src":"11792:36:6","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11824:3:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11811:12:6"},"nodeType":"YulFunctionCall","src":"11811:17:6"},"variables":[{"name":"innerOffset","nodeType":"YulTypedName","src":"11796:11:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"11880:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"11882:77:6"},"nodeType":"YulFunctionCall","src":"11882:79:6"},"nodeType":"YulExpressionStatement","src":"11882:79:6"}]},"condition":{"arguments":[{"name":"innerOffset","nodeType":"YulIdentifier","src":"11847:11:6"},{"kind":"number","nodeType":"YulLiteral","src":"11860:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"11844:2:6"},"nodeType":"YulFunctionCall","src":"11844:35:6"},"nodeType":"YulIf","src":"11841:122:6"},{"nodeType":"YulVariableDeclaration","src":"11976:42:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"11998:6:6"},{"name":"innerOffset","nodeType":"YulIdentifier","src":"12006:11:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11994:3:6"},"nodeType":"YulFunctionCall","src":"11994:24:6"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"11980:10:6","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"12039:3:6"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"12074:10:6"},{"name":"end","nodeType":"YulIdentifier","src":"12086:3:6"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"12044:29:6"},"nodeType":"YulFunctionCall","src":"12044:46:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12032:6:6"},"nodeType":"YulFunctionCall","src":"12032:59:6"},"nodeType":"YulExpressionStatement","src":"12032:59:6"},{"nodeType":"YulAssignment","src":"12104:21:6","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"12115:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"12120:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12111:3:6"},"nodeType":"YulFunctionCall","src":"12111:14:6"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"12104:3:6"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11730:3:6"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"11735:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11727:2:6"},"nodeType":"YulFunctionCall","src":"11727:15:6"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"11743:25:6","statements":[{"nodeType":"YulAssignment","src":"11745:21:6","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"11756:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"11761:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11752:3:6"},"nodeType":"YulFunctionCall","src":"11752:14:6"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"11745:3:6"}]}]},"pre":{"nodeType":"YulBlock","src":"11705:21:6","statements":[{"nodeType":"YulVariableDeclaration","src":"11707:17:6","value":{"name":"offset","nodeType":"YulIdentifier","src":"11718:6:6"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"11711:3:6","type":""}]}]},"src":"11701:434:6"}]},"name":"abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"11280:6:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"11288:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"11296:3:6","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"11304:5:6","type":""}],"src":"11199:942:6"},{"body":{"nodeType":"YulBlock","src":"12248:302:6","statements":[{"body":{"nodeType":"YulBlock","src":"12297:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"12299:77:6"},"nodeType":"YulFunctionCall","src":"12299:79:6"},"nodeType":"YulExpressionStatement","src":"12299:79:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12276:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"12284:4:6","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12272:3:6"},"nodeType":"YulFunctionCall","src":"12272:17:6"},{"name":"end","nodeType":"YulIdentifier","src":"12291:3:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12268:3:6"},"nodeType":"YulFunctionCall","src":"12268:27:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"12261:6:6"},"nodeType":"YulFunctionCall","src":"12261:35:6"},"nodeType":"YulIf","src":"12258:122:6"},{"nodeType":"YulVariableDeclaration","src":"12389:34:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12416:6:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12403:12:6"},"nodeType":"YulFunctionCall","src":"12403:20:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"12393:6:6","type":""}]},{"nodeType":"YulAssignment","src":"12432:112:6","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"12517:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"12525:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12513:3:6"},"nodeType":"YulFunctionCall","src":"12513:17:6"},{"name":"length","nodeType":"YulIdentifier","src":"12532:6:6"},{"name":"end","nodeType":"YulIdentifier","src":"12540:3:6"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"12441:71:6"},"nodeType":"YulFunctionCall","src":"12441:103:6"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"12432:5:6"}]}]},"name":"abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"12226:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"12234:3:6","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"12242:5:6","type":""}],"src":"12162:388:6"},{"body":{"nodeType":"YulBlock","src":"12690:713:6","statements":[{"body":{"nodeType":"YulBlock","src":"12736:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"12738:77:6"},"nodeType":"YulFunctionCall","src":"12738:79:6"},"nodeType":"YulExpressionStatement","src":"12738:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"12711:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"12720:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12707:3:6"},"nodeType":"YulFunctionCall","src":"12707:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"12732:2:6","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"12703:3:6"},"nodeType":"YulFunctionCall","src":"12703:32:6"},"nodeType":"YulIf","src":"12700:119:6"},{"nodeType":"YulBlock","src":"12829:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"12844:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"12858:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"12848:6:6","type":""}]},{"nodeType":"YulAssignment","src":"12873:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12908:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"12919:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12904:3:6"},"nodeType":"YulFunctionCall","src":"12904:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"12928:7:6"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"12883:20:6"},"nodeType":"YulFunctionCall","src":"12883:53:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"12873:6:6"}]}]},{"nodeType":"YulBlock","src":"12956:312:6","statements":[{"nodeType":"YulVariableDeclaration","src":"12971:46:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13002:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"13013:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12998:3:6"},"nodeType":"YulFunctionCall","src":"12998:18:6"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"12985:12:6"},"nodeType":"YulFunctionCall","src":"12985:32:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"12975:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"13064:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"13066:77:6"},"nodeType":"YulFunctionCall","src":"13066:79:6"},"nodeType":"YulExpressionStatement","src":"13066:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"13036:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"13044:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"13033:2:6"},"nodeType":"YulFunctionCall","src":"13033:30:6"},"nodeType":"YulIf","src":"13030:117:6"},{"nodeType":"YulAssignment","src":"13161:97:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13230:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"13241:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13226:3:6"},"nodeType":"YulFunctionCall","src":"13226:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"13250:7:6"}],"functionName":{"name":"abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"13171:54:6"},"nodeType":"YulFunctionCall","src":"13171:87:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13161:6:6"}]}]},{"nodeType":"YulBlock","src":"13278:118:6","statements":[{"nodeType":"YulVariableDeclaration","src":"13293:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"13307:2:6","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13297:6:6","type":""}]},{"nodeType":"YulAssignment","src":"13323:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13358:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"13369:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13354:3:6"},"nodeType":"YulFunctionCall","src":"13354:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"13378:7:6"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"13333:20:6"},"nodeType":"YulFunctionCall","src":"13333:53:6"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"13323:6:6"}]}]}]},"name":"abi_decode_tuple_t_addresst_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12644:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"12655:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"12667:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"12675:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"12683:6:6","type":""}],"src":"12556:847:6"},{"body":{"nodeType":"YulBlock","src":"13490:389:6","statements":[{"body":{"nodeType":"YulBlock","src":"13536:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"13538:77:6"},"nodeType":"YulFunctionCall","src":"13538:79:6"},"nodeType":"YulExpressionStatement","src":"13538:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"13511:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"13520:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13507:3:6"},"nodeType":"YulFunctionCall","src":"13507:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"13532:2:6","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"13503:3:6"},"nodeType":"YulFunctionCall","src":"13503:32:6"},"nodeType":"YulIf","src":"13500:119:6"},{"nodeType":"YulBlock","src":"13629:117:6","statements":[{"nodeType":"YulVariableDeclaration","src":"13644:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"13658:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13648:6:6","type":""}]},{"nodeType":"YulAssignment","src":"13673:63:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13708:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"13719:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13704:3:6"},"nodeType":"YulFunctionCall","src":"13704:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"13728:7:6"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"13683:20:6"},"nodeType":"YulFunctionCall","src":"13683:53:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"13673:6:6"}]}]},{"nodeType":"YulBlock","src":"13756:116:6","statements":[{"nodeType":"YulVariableDeclaration","src":"13771:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"13785:2:6","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"13775:6:6","type":""}]},{"nodeType":"YulAssignment","src":"13801:61:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13834:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"13845:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13830:3:6"},"nodeType":"YulFunctionCall","src":"13830:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"13854:7:6"}],"functionName":{"name":"abi_decode_t_int64","nodeType":"YulIdentifier","src":"13811:18:6"},"nodeType":"YulFunctionCall","src":"13811:51:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"13801:6:6"}]}]}]},"name":"abi_decode_tuple_t_addresst_int64","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13452:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"13463:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"13475:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13483:6:6","type":""}],"src":"13409:470:6"},{"body":{"nodeType":"YulBlock","src":"13981:122:6","statements":[{"nodeType":"YulAssignment","src":"13991:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14003:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"14014:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13999:3:6"},"nodeType":"YulFunctionCall","src":"13999:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13991:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14069:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14082:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"14093:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14078:3:6"},"nodeType":"YulFunctionCall","src":"14078:17:6"}],"functionName":{"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulIdentifier","src":"14027:41:6"},"nodeType":"YulFunctionCall","src":"14027:69:6"},"nodeType":"YulExpressionStatement","src":"14027:69:6"}]},"name":"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13953:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13965:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13976:4:6","type":""}],"src":"13885:218:6"},{"body":{"nodeType":"YulBlock","src":"14174:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14191:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"14214:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"14196:17:6"},"nodeType":"YulFunctionCall","src":"14196:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14184:6:6"},"nodeType":"YulFunctionCall","src":"14184:37:6"},"nodeType":"YulExpressionStatement","src":"14184:37:6"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"14162:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"14169:3:6","type":""}],"src":"14109:118:6"},{"body":{"nodeType":"YulBlock","src":"14415:371:6","statements":[{"nodeType":"YulAssignment","src":"14425:27:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14437:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"14448:3:6","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14433:3:6"},"nodeType":"YulFunctionCall","src":"14433:19:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14425:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14506:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14519:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"14530:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14515:3:6"},"nodeType":"YulFunctionCall","src":"14515:17:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"14462:43:6"},"nodeType":"YulFunctionCall","src":"14462:71:6"},"nodeType":"YulExpressionStatement","src":"14462:71:6"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"14587:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14600:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"14611:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14596:3:6"},"nodeType":"YulFunctionCall","src":"14596:18:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"14543:43:6"},"nodeType":"YulFunctionCall","src":"14543:72:6"},"nodeType":"YulExpressionStatement","src":"14543:72:6"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"14669:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14682:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"14693:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14678:3:6"},"nodeType":"YulFunctionCall","src":"14678:18:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"14625:43:6"},"nodeType":"YulFunctionCall","src":"14625:72:6"},"nodeType":"YulExpressionStatement","src":"14625:72:6"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"14751:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14764:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"14775:2:6","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14760:3:6"},"nodeType":"YulFunctionCall","src":"14760:18:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"14707:43:6"},"nodeType":"YulFunctionCall","src":"14707:72:6"},"nodeType":"YulExpressionStatement","src":"14707:72:6"}]},"name":"abi_encode_tuple_t_address_t_address_t_address_t_uint256__to_t_address_t_address_t_address_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14363:9:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"14375:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"14383:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14391:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14399:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14410:4:6","type":""}],"src":"14233:553:6"},{"body":{"nodeType":"YulBlock","src":"14905:34:6","statements":[{"nodeType":"YulAssignment","src":"14915:18:6","value":{"name":"pos","nodeType":"YulIdentifier","src":"14930:3:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"14915:11:6"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"14877:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"14882:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"14893:11:6","type":""}],"src":"14792:147:6"},{"body":{"nodeType":"YulBlock","src":"15053:278:6","statements":[{"nodeType":"YulVariableDeclaration","src":"15063:52:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15109:5:6"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"15077:31:6"},"nodeType":"YulFunctionCall","src":"15077:38:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"15067:6:6","type":""}]},{"nodeType":"YulAssignment","src":"15124:95:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15207:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"15212:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"15131:75:6"},"nodeType":"YulFunctionCall","src":"15131:88:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15124:3:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15267:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"15274:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15263:3:6"},"nodeType":"YulFunctionCall","src":"15263:16:6"},{"name":"pos","nodeType":"YulIdentifier","src":"15281:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"15286:6:6"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"15228:34:6"},"nodeType":"YulFunctionCall","src":"15228:65:6"},"nodeType":"YulExpressionStatement","src":"15228:65:6"},{"nodeType":"YulAssignment","src":"15302:23:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15313:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"15318:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15309:3:6"},"nodeType":"YulFunctionCall","src":"15309:16:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"15302:3:6"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15034:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"15041:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"15049:3:6","type":""}],"src":"14945:386:6"},{"body":{"nodeType":"YulBlock","src":"15471:137:6","statements":[{"nodeType":"YulAssignment","src":"15482:100:6","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"15569:6:6"},{"name":"pos","nodeType":"YulIdentifier","src":"15578:3:6"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"15489:79:6"},"nodeType":"YulFunctionCall","src":"15489:93:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"15482:3:6"}]},{"nodeType":"YulAssignment","src":"15592:10:6","value":{"name":"pos","nodeType":"YulIdentifier","src":"15599:3:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"15592:3:6"}]}]},"name":"abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"15450:3:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"15456:6:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"15467:3:6","type":""}],"src":"15337:271:6"},{"body":{"nodeType":"YulBlock","src":"15657:47:6","statements":[{"nodeType":"YulAssignment","src":"15667:31:6","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15689:1:6","type":"","value":"3"},{"name":"value","nodeType":"YulIdentifier","src":"15692:5:6"}],"functionName":{"name":"signextend","nodeType":"YulIdentifier","src":"15678:10:6"},"nodeType":"YulFunctionCall","src":"15678:20:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"15667:7:6"}]}]},"name":"cleanup_t_int32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15639:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"15649:7:6","type":""}],"src":"15614:90:6"},{"body":{"nodeType":"YulBlock","src":"15751:77:6","statements":[{"body":{"nodeType":"YulBlock","src":"15806:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15815:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15818:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15808:6:6"},"nodeType":"YulFunctionCall","src":"15808:12:6"},"nodeType":"YulExpressionStatement","src":"15808:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15774:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15797:5:6"}],"functionName":{"name":"cleanup_t_int32","nodeType":"YulIdentifier","src":"15781:15:6"},"nodeType":"YulFunctionCall","src":"15781:22:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"15771:2:6"},"nodeType":"YulFunctionCall","src":"15771:33:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"15764:6:6"},"nodeType":"YulFunctionCall","src":"15764:41:6"},"nodeType":"YulIf","src":"15761:61:6"}]},"name":"validator_revert_t_int32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15744:5:6","type":""}],"src":"15710:118:6"},{"body":{"nodeType":"YulBlock","src":"15895:78:6","statements":[{"nodeType":"YulAssignment","src":"15905:22:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"15920:6:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15914:5:6"},"nodeType":"YulFunctionCall","src":"15914:13:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"15905:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15961:5:6"}],"functionName":{"name":"validator_revert_t_int32","nodeType":"YulIdentifier","src":"15936:24:6"},"nodeType":"YulFunctionCall","src":"15936:31:6"},"nodeType":"YulExpressionStatement","src":"15936:31:6"}]},"name":"abi_decode_t_int32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"15873:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"15881:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"15889:5:6","type":""}],"src":"15834:139:6"},{"body":{"nodeType":"YulBlock","src":"16054:272:6","statements":[{"body":{"nodeType":"YulBlock","src":"16100:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"16102:77:6"},"nodeType":"YulFunctionCall","src":"16102:79:6"},"nodeType":"YulExpressionStatement","src":"16102:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"16075:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"16084:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16071:3:6"},"nodeType":"YulFunctionCall","src":"16071:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"16096:2:6","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"16067:3:6"},"nodeType":"YulFunctionCall","src":"16067:32:6"},"nodeType":"YulIf","src":"16064:119:6"},{"nodeType":"YulBlock","src":"16193:126:6","statements":[{"nodeType":"YulVariableDeclaration","src":"16208:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"16222:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"16212:6:6","type":""}]},{"nodeType":"YulAssignment","src":"16237:72:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16281:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"16292:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16277:3:6"},"nodeType":"YulFunctionCall","src":"16277:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"16301:7:6"}],"functionName":{"name":"abi_decode_t_int32_fromMemory","nodeType":"YulIdentifier","src":"16247:29:6"},"nodeType":"YulFunctionCall","src":"16247:62:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"16237:6:6"}]}]}]},"name":"abi_decode_tuple_t_int32_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16024:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"16035:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"16047:6:6","type":""}],"src":"15979:347:6"},{"body":{"nodeType":"YulBlock","src":"16476:275:6","statements":[{"nodeType":"YulAssignment","src":"16486:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16498:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"16509:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16494:3:6"},"nodeType":"YulFunctionCall","src":"16494:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16486:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16566:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16579:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"16590:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16575:3:6"},"nodeType":"YulFunctionCall","src":"16575:17:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"16522:43:6"},"nodeType":"YulFunctionCall","src":"16522:71:6"},"nodeType":"YulExpressionStatement","src":"16522:71:6"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16614:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"16625:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16610:3:6"},"nodeType":"YulFunctionCall","src":"16610:18:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"16634:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"16640:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16630:3:6"},"nodeType":"YulFunctionCall","src":"16630:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16603:6:6"},"nodeType":"YulFunctionCall","src":"16603:48:6"},"nodeType":"YulExpressionStatement","src":"16603:48:6"},{"nodeType":"YulAssignment","src":"16660:84:6","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"16730:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"16739:4:6"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"16668:61:6"},"nodeType":"YulFunctionCall","src":"16668:76:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16660:4:6"}]}]},"name":"abi_encode_tuple_t_address_t_bytes_memory_ptr__to_t_address_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16440:9:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16452:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16460:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16471:4:6","type":""}],"src":"16332:419:6"},{"body":{"nodeType":"YulBlock","src":"16895:269:6","statements":[{"nodeType":"YulAssignment","src":"16905:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16917:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"16928:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16913:3:6"},"nodeType":"YulFunctionCall","src":"16913:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16905:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"16979:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16992:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17003:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16988:3:6"},"nodeType":"YulFunctionCall","src":"16988:17:6"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"16941:37:6"},"nodeType":"YulFunctionCall","src":"16941:65:6"},"nodeType":"YulExpressionStatement","src":"16941:65:6"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17027:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"17038:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17023:3:6"},"nodeType":"YulFunctionCall","src":"17023:18:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"17047:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"17053:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"17043:3:6"},"nodeType":"YulFunctionCall","src":"17043:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17016:6:6"},"nodeType":"YulFunctionCall","src":"17016:48:6"},"nodeType":"YulExpressionStatement","src":"17016:48:6"},{"nodeType":"YulAssignment","src":"17073:84:6","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"17143:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"17152:4:6"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"17081:61:6"},"nodeType":"YulFunctionCall","src":"17081:76:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17073:4:6"}]}]},"name":"abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16859:9:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"16871:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"16879:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16890:4:6","type":""}],"src":"16757:407:6"},{"body":{"nodeType":"YulBlock","src":"17266:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17283:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"17288:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17276:6:6"},"nodeType":"YulFunctionCall","src":"17276:19:6"},"nodeType":"YulExpressionStatement","src":"17276:19:6"},{"nodeType":"YulAssignment","src":"17304:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17323:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"17328:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17319:3:6"},"nodeType":"YulFunctionCall","src":"17319:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"17304:11:6"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"17238:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"17243:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"17254:11:6","type":""}],"src":"17170:169:6"},{"body":{"nodeType":"YulBlock","src":"17451:114:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"17473:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"17481:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17469:3:6"},"nodeType":"YulFunctionCall","src":"17469:14:6"},{"hexValue":"4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f","kind":"string","nodeType":"YulLiteral","src":"17485:34:6","type":"","value":"Only owner can call this functio"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17462:6:6"},"nodeType":"YulFunctionCall","src":"17462:58:6"},"nodeType":"YulExpressionStatement","src":"17462:58:6"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"17541:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"17549:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17537:3:6"},"nodeType":"YulFunctionCall","src":"17537:15:6"},{"hexValue":"6e","kind":"string","nodeType":"YulLiteral","src":"17554:3:6","type":"","value":"n"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17530:6:6"},"nodeType":"YulFunctionCall","src":"17530:28:6"},"nodeType":"YulExpressionStatement","src":"17530:28:6"}]},"name":"store_literal_in_memory_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"17443:6:6","type":""}],"src":"17345:220:6"},{"body":{"nodeType":"YulBlock","src":"17717:220:6","statements":[{"nodeType":"YulAssignment","src":"17727:74:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17793:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"17798:2:6","type":"","value":"33"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"17734:58:6"},"nodeType":"YulFunctionCall","src":"17734:67:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"17727:3:6"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17899:3:6"}],"functionName":{"name":"store_literal_in_memory_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef","nodeType":"YulIdentifier","src":"17810:88:6"},"nodeType":"YulFunctionCall","src":"17810:93:6"},"nodeType":"YulExpressionStatement","src":"17810:93:6"},{"nodeType":"YulAssignment","src":"17912:19:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"17923:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"17928:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17919:3:6"},"nodeType":"YulFunctionCall","src":"17919:12:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"17912:3:6"}]}]},"name":"abi_encode_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"17705:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"17713:3:6","type":""}],"src":"17571:366:6"},{"body":{"nodeType":"YulBlock","src":"18114:248:6","statements":[{"nodeType":"YulAssignment","src":"18124:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18136:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"18147:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18132:3:6"},"nodeType":"YulFunctionCall","src":"18132:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18124:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18171:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"18182:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18167:3:6"},"nodeType":"YulFunctionCall","src":"18167:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18190:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"18196:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"18186:3:6"},"nodeType":"YulFunctionCall","src":"18186:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18160:6:6"},"nodeType":"YulFunctionCall","src":"18160:47:6"},"nodeType":"YulExpressionStatement","src":"18160:47:6"},{"nodeType":"YulAssignment","src":"18216:139:6","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"18350:4:6"}],"functionName":{"name":"abi_encode_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18224:124:6"},"nodeType":"YulFunctionCall","src":"18224:131:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18216:4:6"}]}]},"name":"abi_encode_tuple_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18094:9:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18109:4:6","type":""}],"src":"17943:419:6"},{"body":{"nodeType":"YulBlock","src":"18396:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18413:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18416:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18406:6:6"},"nodeType":"YulFunctionCall","src":"18406:88:6"},"nodeType":"YulExpressionStatement","src":"18406:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18510:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18513:4:6","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18503:6:6"},"nodeType":"YulFunctionCall","src":"18503:15:6"},"nodeType":"YulExpressionStatement","src":"18503:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18534:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18537:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18527:6:6"},"nodeType":"YulFunctionCall","src":"18527:15:6"},"nodeType":"YulExpressionStatement","src":"18527:15:6"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"18368:180:6"},{"body":{"nodeType":"YulBlock","src":"18660:116:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"18682:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"18690:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18678:3:6"},"nodeType":"YulFunctionCall","src":"18678:14:6"},{"hexValue":"4661696c656420746f20637265617465206e6f6e2d66756e6769626c6520746f","kind":"string","nodeType":"YulLiteral","src":"18694:34:6","type":"","value":"Failed to create non-fungible to"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18671:6:6"},"nodeType":"YulFunctionCall","src":"18671:58:6"},"nodeType":"YulExpressionStatement","src":"18671:58:6"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"18750:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"18758:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18746:3:6"},"nodeType":"YulFunctionCall","src":"18746:15:6"},{"hexValue":"6b656e","kind":"string","nodeType":"YulLiteral","src":"18763:5:6","type":"","value":"ken"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18739:6:6"},"nodeType":"YulFunctionCall","src":"18739:30:6"},"nodeType":"YulExpressionStatement","src":"18739:30:6"}]},"name":"store_literal_in_memory_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"18652:6:6","type":""}],"src":"18554:222:6"},{"body":{"nodeType":"YulBlock","src":"18928:220:6","statements":[{"nodeType":"YulAssignment","src":"18938:74:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19004:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"19009:2:6","type":"","value":"35"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"18945:58:6"},"nodeType":"YulFunctionCall","src":"18945:67:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"18938:3:6"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19110:3:6"}],"functionName":{"name":"store_literal_in_memory_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b","nodeType":"YulIdentifier","src":"19021:88:6"},"nodeType":"YulFunctionCall","src":"19021:93:6"},"nodeType":"YulExpressionStatement","src":"19021:93:6"},{"nodeType":"YulAssignment","src":"19123:19:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"19134:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"19139:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19130:3:6"},"nodeType":"YulFunctionCall","src":"19130:12:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"19123:3:6"}]}]},"name":"abi_encode_t_stringliteral_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"18916:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"18924:3:6","type":""}],"src":"18782:366:6"},{"body":{"nodeType":"YulBlock","src":"19325:248:6","statements":[{"nodeType":"YulAssignment","src":"19335:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19347:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"19358:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19343:3:6"},"nodeType":"YulFunctionCall","src":"19343:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19335:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19382:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"19393:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19378:3:6"},"nodeType":"YulFunctionCall","src":"19378:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"19401:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"19407:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"19397:3:6"},"nodeType":"YulFunctionCall","src":"19397:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19371:6:6"},"nodeType":"YulFunctionCall","src":"19371:47:6"},"nodeType":"YulExpressionStatement","src":"19371:47:6"},{"nodeType":"YulAssignment","src":"19427:139:6","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"19561:4:6"}],"functionName":{"name":"abi_encode_t_stringliteral_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"19435:124:6"},"nodeType":"YulFunctionCall","src":"19435:131:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19427:4:6"}]}]},"name":"abi_encode_tuple_t_stringliteral_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19305:9:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19320:4:6","type":""}],"src":"19154:419:6"},{"body":{"nodeType":"YulBlock","src":"19685:114:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"19707:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"19715:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19703:3:6"},"nodeType":"YulFunctionCall","src":"19703:14:6"},{"hexValue":"4661696c656420746f206d696e74206e6f6e2d66756e6769626c6520746f6b65","kind":"string","nodeType":"YulLiteral","src":"19719:34:6","type":"","value":"Failed to mint non-fungible toke"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19696:6:6"},"nodeType":"YulFunctionCall","src":"19696:58:6"},"nodeType":"YulExpressionStatement","src":"19696:58:6"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"19775:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"19783:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19771:3:6"},"nodeType":"YulFunctionCall","src":"19771:15:6"},{"hexValue":"6e","kind":"string","nodeType":"YulLiteral","src":"19788:3:6","type":"","value":"n"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19764:6:6"},"nodeType":"YulFunctionCall","src":"19764:28:6"},"nodeType":"YulExpressionStatement","src":"19764:28:6"}]},"name":"store_literal_in_memory_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"19677:6:6","type":""}],"src":"19579:220:6"},{"body":{"nodeType":"YulBlock","src":"19951:220:6","statements":[{"nodeType":"YulAssignment","src":"19961:74:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20027:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"20032:2:6","type":"","value":"33"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"19968:58:6"},"nodeType":"YulFunctionCall","src":"19968:67:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"19961:3:6"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20133:3:6"}],"functionName":{"name":"store_literal_in_memory_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4","nodeType":"YulIdentifier","src":"20044:88:6"},"nodeType":"YulFunctionCall","src":"20044:93:6"},"nodeType":"YulExpressionStatement","src":"20044:93:6"},{"nodeType":"YulAssignment","src":"20146:19:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"20157:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"20162:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20153:3:6"},"nodeType":"YulFunctionCall","src":"20153:12:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"20146:3:6"}]}]},"name":"abi_encode_t_stringliteral_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"19939:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"19947:3:6","type":""}],"src":"19805:366:6"},{"body":{"nodeType":"YulBlock","src":"20348:248:6","statements":[{"nodeType":"YulAssignment","src":"20358:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20370:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"20381:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20366:3:6"},"nodeType":"YulFunctionCall","src":"20366:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20358:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"20405:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"20416:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20401:3:6"},"nodeType":"YulFunctionCall","src":"20401:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20424:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"20430:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"20420:3:6"},"nodeType":"YulFunctionCall","src":"20420:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20394:6:6"},"nodeType":"YulFunctionCall","src":"20394:47:6"},"nodeType":"YulExpressionStatement","src":"20394:47:6"},{"nodeType":"YulAssignment","src":"20450:139:6","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"20584:4:6"}],"functionName":{"name":"abi_encode_t_stringliteral_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20458:124:6"},"nodeType":"YulFunctionCall","src":"20458:131:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"20450:4:6"}]}]},"name":"abi_encode_tuple_t_stringliteral_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"20328:9:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"20343:4:6","type":""}],"src":"20177:419:6"},{"body":{"nodeType":"YulBlock","src":"20708:121:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"20730:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"20738:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20726:3:6"},"nodeType":"YulFunctionCall","src":"20726:14:6"},{"hexValue":"596f7520617265206e6f7420617574686f72697a656420746f20636c61696d20","kind":"string","nodeType":"YulLiteral","src":"20742:34:6","type":"","value":"You are not authorized to claim "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20719:6:6"},"nodeType":"YulFunctionCall","src":"20719:58:6"},"nodeType":"YulExpressionStatement","src":"20719:58:6"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"20798:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"20806:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20794:3:6"},"nodeType":"YulFunctionCall","src":"20794:15:6"},{"hexValue":"74686973204e4654","kind":"string","nodeType":"YulLiteral","src":"20811:10:6","type":"","value":"this NFT"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20787:6:6"},"nodeType":"YulFunctionCall","src":"20787:35:6"},"nodeType":"YulExpressionStatement","src":"20787:35:6"}]},"name":"store_literal_in_memory_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"20700:6:6","type":""}],"src":"20602:227:6"},{"body":{"nodeType":"YulBlock","src":"20981:220:6","statements":[{"nodeType":"YulAssignment","src":"20991:74:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21057:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"21062:2:6","type":"","value":"40"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"20998:58:6"},"nodeType":"YulFunctionCall","src":"20998:67:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"20991:3:6"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21163:3:6"}],"functionName":{"name":"store_literal_in_memory_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0","nodeType":"YulIdentifier","src":"21074:88:6"},"nodeType":"YulFunctionCall","src":"21074:93:6"},"nodeType":"YulExpressionStatement","src":"21074:93:6"},{"nodeType":"YulAssignment","src":"21176:19:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"21187:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"21192:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21183:3:6"},"nodeType":"YulFunctionCall","src":"21183:12:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"21176:3:6"}]}]},"name":"abi_encode_t_stringliteral_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"20969:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"20977:3:6","type":""}],"src":"20835:366:6"},{"body":{"nodeType":"YulBlock","src":"21378:248:6","statements":[{"nodeType":"YulAssignment","src":"21388:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21400:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"21411:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21396:3:6"},"nodeType":"YulFunctionCall","src":"21396:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21388:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"21435:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"21446:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21431:3:6"},"nodeType":"YulFunctionCall","src":"21431:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"21454:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"21460:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"21450:3:6"},"nodeType":"YulFunctionCall","src":"21450:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21424:6:6"},"nodeType":"YulFunctionCall","src":"21424:47:6"},"nodeType":"YulExpressionStatement","src":"21424:47:6"},{"nodeType":"YulAssignment","src":"21480:139:6","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"21614:4:6"}],"functionName":{"name":"abi_encode_t_stringliteral_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"21488:124:6"},"nodeType":"YulFunctionCall","src":"21488:131:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"21480:4:6"}]}]},"name":"abi_encode_tuple_t_stringliteral_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"21358:9:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"21373:4:6","type":""}],"src":"21207:419:6"},{"body":{"nodeType":"YulBlock","src":"21738:72:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"21760:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"21768:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21756:3:6"},"nodeType":"YulFunctionCall","src":"21756:14:6"},{"hexValue":"4e46542068617320616c7265616479206265656e20636c61696d6564","kind":"string","nodeType":"YulLiteral","src":"21772:30:6","type":"","value":"NFT has already been claimed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"21749:6:6"},"nodeType":"YulFunctionCall","src":"21749:54:6"},"nodeType":"YulExpressionStatement","src":"21749:54:6"}]},"name":"store_literal_in_memory_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"21730:6:6","type":""}],"src":"21632:178:6"},{"body":{"nodeType":"YulBlock","src":"21962:220:6","statements":[{"nodeType":"YulAssignment","src":"21972:74:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22038:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"22043:2:6","type":"","value":"28"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"21979:58:6"},"nodeType":"YulFunctionCall","src":"21979:67:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"21972:3:6"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22144:3:6"}],"functionName":{"name":"store_literal_in_memory_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf","nodeType":"YulIdentifier","src":"22055:88:6"},"nodeType":"YulFunctionCall","src":"22055:93:6"},"nodeType":"YulExpressionStatement","src":"22055:93:6"},{"nodeType":"YulAssignment","src":"22157:19:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"22168:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"22173:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22164:3:6"},"nodeType":"YulFunctionCall","src":"22164:12:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"22157:3:6"}]}]},"name":"abi_encode_t_stringliteral_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"21950:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"21958:3:6","type":""}],"src":"21816:366:6"},{"body":{"nodeType":"YulBlock","src":"22359:248:6","statements":[{"nodeType":"YulAssignment","src":"22369:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22381:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"22392:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22377:3:6"},"nodeType":"YulFunctionCall","src":"22377:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22369:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22416:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"22427:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22412:3:6"},"nodeType":"YulFunctionCall","src":"22412:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"22435:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"22441:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22431:3:6"},"nodeType":"YulFunctionCall","src":"22431:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22405:6:6"},"nodeType":"YulFunctionCall","src":"22405:47:6"},"nodeType":"YulExpressionStatement","src":"22405:47:6"},{"nodeType":"YulAssignment","src":"22461:139:6","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"22595:4:6"}],"functionName":{"name":"abi_encode_t_stringliteral_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"22469:124:6"},"nodeType":"YulFunctionCall","src":"22469:131:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22461:4:6"}]}]},"name":"abi_encode_tuple_t_stringliteral_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22339:9:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22354:4:6","type":""}],"src":"22188:419:6"},{"body":{"nodeType":"YulBlock","src":"22719:118:6","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"22741:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"22749:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22737:3:6"},"nodeType":"YulFunctionCall","src":"22737:14:6"},{"hexValue":"4661696c656420746f207472616e73666572206e6f6e2d66756e6769626c6520","kind":"string","nodeType":"YulLiteral","src":"22753:34:6","type":"","value":"Failed to transfer non-fungible "}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22730:6:6"},"nodeType":"YulFunctionCall","src":"22730:58:6"},"nodeType":"YulExpressionStatement","src":"22730:58:6"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"22809:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"22817:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22805:3:6"},"nodeType":"YulFunctionCall","src":"22805:15:6"},{"hexValue":"746f6b656e","kind":"string","nodeType":"YulLiteral","src":"22822:7:6","type":"","value":"token"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22798:6:6"},"nodeType":"YulFunctionCall","src":"22798:32:6"},"nodeType":"YulExpressionStatement","src":"22798:32:6"}]},"name":"store_literal_in_memory_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"22711:6:6","type":""}],"src":"22613:224:6"},{"body":{"nodeType":"YulBlock","src":"22989:220:6","statements":[{"nodeType":"YulAssignment","src":"22999:74:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23065:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"23070:2:6","type":"","value":"37"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"23006:58:6"},"nodeType":"YulFunctionCall","src":"23006:67:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"22999:3:6"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23171:3:6"}],"functionName":{"name":"store_literal_in_memory_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272","nodeType":"YulIdentifier","src":"23082:88:6"},"nodeType":"YulFunctionCall","src":"23082:93:6"},"nodeType":"YulExpressionStatement","src":"23082:93:6"},{"nodeType":"YulAssignment","src":"23184:19:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23195:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"23200:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23191:3:6"},"nodeType":"YulFunctionCall","src":"23191:12:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"23184:3:6"}]}]},"name":"abi_encode_t_stringliteral_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"22977:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"22985:3:6","type":""}],"src":"22843:366:6"},{"body":{"nodeType":"YulBlock","src":"23386:248:6","statements":[{"nodeType":"YulAssignment","src":"23396:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23408:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"23419:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23404:3:6"},"nodeType":"YulFunctionCall","src":"23404:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23396:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23443:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"23454:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23439:3:6"},"nodeType":"YulFunctionCall","src":"23439:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"23462:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"23468:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"23458:3:6"},"nodeType":"YulFunctionCall","src":"23458:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23432:6:6"},"nodeType":"YulFunctionCall","src":"23432:47:6"},"nodeType":"YulExpressionStatement","src":"23432:47:6"},{"nodeType":"YulAssignment","src":"23488:139:6","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"23622:4:6"}],"functionName":{"name":"abi_encode_t_stringliteral_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"23496:124:6"},"nodeType":"YulFunctionCall","src":"23496:131:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23488:4:6"}]}]},"name":"abi_encode_tuple_t_stringliteral_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23366:9:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23381:4:6","type":""}],"src":"23215:419:6"},{"body":{"nodeType":"YulBlock","src":"23699:40:6","statements":[{"nodeType":"YulAssignment","src":"23710:22:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"23726:5:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"23720:5:6"},"nodeType":"YulFunctionCall","src":"23720:12:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"23710:6:6"}]}]},"name":"array_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23682:5:6","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"23692:6:6","type":""}],"src":"23640:99:6"},{"body":{"nodeType":"YulBlock","src":"23831:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23848:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"23853:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23841:6:6"},"nodeType":"YulFunctionCall","src":"23841:19:6"},"nodeType":"YulExpressionStatement","src":"23841:19:6"},{"nodeType":"YulAssignment","src":"23869:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"23888:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"23893:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23884:3:6"},"nodeType":"YulFunctionCall","src":"23884:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"23869:11:6"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"23803:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"23808:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"23819:11:6","type":""}],"src":"23745:159:6"},{"body":{"nodeType":"YulBlock","src":"23992:275:6","statements":[{"nodeType":"YulVariableDeclaration","src":"24002:53:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24049:5:6"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"24016:32:6"},"nodeType":"YulFunctionCall","src":"24016:39:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"24006:6:6","type":""}]},{"nodeType":"YulAssignment","src":"24064:68:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24120:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"24125:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr","nodeType":"YulIdentifier","src":"24071:48:6"},"nodeType":"YulFunctionCall","src":"24071:61:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"24064:3:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24180:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"24187:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24176:3:6"},"nodeType":"YulFunctionCall","src":"24176:16:6"},{"name":"pos","nodeType":"YulIdentifier","src":"24194:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"24199:6:6"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"24141:34:6"},"nodeType":"YulFunctionCall","src":"24141:65:6"},"nodeType":"YulExpressionStatement","src":"24141:65:6"},{"nodeType":"YulAssignment","src":"24215:46:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24226:3:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"24253:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"24231:21:6"},"nodeType":"YulFunctionCall","src":"24231:29:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24222:3:6"},"nodeType":"YulFunctionCall","src":"24222:39:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"24215:3:6"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"23973:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"23980:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"23988:3:6","type":""}],"src":"23910:357:6"},{"body":{"nodeType":"YulBlock","src":"24328:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24345:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24368:5:6"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"24350:17:6"},"nodeType":"YulFunctionCall","src":"24350:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24338:6:6"},"nodeType":"YulFunctionCall","src":"24338:37:6"},"nodeType":"YulExpressionStatement","src":"24338:37:6"}]},"name":"abi_encode_t_address_to_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24316:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"24323:3:6","type":""}],"src":"24273:108:6"},{"body":{"nodeType":"YulBlock","src":"24436:50:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24453:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24473:5:6"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"24458:14:6"},"nodeType":"YulFunctionCall","src":"24458:21:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24446:6:6"},"nodeType":"YulFunctionCall","src":"24446:34:6"},"nodeType":"YulExpressionStatement","src":"24446:34:6"}]},"name":"abi_encode_t_bool_to_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24424:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"24431:3:6","type":""}],"src":"24387:99:6"},{"body":{"nodeType":"YulBlock","src":"24543:51:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24560:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24581:5:6"}],"functionName":{"name":"cleanup_t_int64","nodeType":"YulIdentifier","src":"24565:15:6"},"nodeType":"YulFunctionCall","src":"24565:22:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24553:6:6"},"nodeType":"YulFunctionCall","src":"24553:35:6"},"nodeType":"YulExpressionStatement","src":"24553:35:6"}]},"name":"abi_encode_t_int64_to_t_int64","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24531:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"24538:3:6","type":""}],"src":"24492:102:6"},{"body":{"nodeType":"YulBlock","src":"24700:40:6","statements":[{"nodeType":"YulAssignment","src":"24711:22:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"24727:5:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"24721:5:6"},"nodeType":"YulFunctionCall","src":"24721:12:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"24711:6:6"}]}]},"name":"array_length_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"24683:5:6","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"24693:6:6","type":""}],"src":"24600:140:6"},{"body":{"nodeType":"YulBlock","src":"24873:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24890:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"24895:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24883:6:6"},"nodeType":"YulFunctionCall","src":"24883:19:6"},"nodeType":"YulExpressionStatement","src":"24883:19:6"},{"nodeType":"YulAssignment","src":"24911:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"24930:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"24935:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24926:3:6"},"nodeType":"YulFunctionCall","src":"24926:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"24911:11:6"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"24845:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"24850:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"24861:11:6","type":""}],"src":"24746:200:6"},{"body":{"nodeType":"YulBlock","src":"25050:60:6","statements":[{"nodeType":"YulAssignment","src":"25060:11:6","value":{"name":"ptr","nodeType":"YulIdentifier","src":"25068:3:6"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"25060:4:6"}]},{"nodeType":"YulAssignment","src":"25081:22:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"25093:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"25098:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25089:3:6"},"nodeType":"YulFunctionCall","src":"25089:14:6"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"25081:4:6"}]}]},"name":"array_dataslot_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"25037:3:6","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"25045:4:6","type":""}],"src":"24952:158:6"},{"body":{"nodeType":"YulBlock","src":"25171:53:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25188:3:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25211:5:6"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"25193:17:6"},"nodeType":"YulFunctionCall","src":"25193:24:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25181:6:6"},"nodeType":"YulFunctionCall","src":"25181:37:6"},"nodeType":"YulExpressionStatement","src":"25181:37:6"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"25159:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"25166:3:6","type":""}],"src":"25116:108:6"},{"body":{"nodeType":"YulBlock","src":"25315:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25332:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"25337:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25325:6:6"},"nodeType":"YulFunctionCall","src":"25325:19:6"},"nodeType":"YulExpressionStatement","src":"25325:19:6"},{"nodeType":"YulAssignment","src":"25353:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25372:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"25377:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25368:3:6"},"nodeType":"YulFunctionCall","src":"25368:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"25353:11:6"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"25287:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"25292:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"25303:11:6","type":""}],"src":"25230:158:6"},{"body":{"nodeType":"YulBlock","src":"25474:273:6","statements":[{"nodeType":"YulVariableDeclaration","src":"25484:52:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25530:5:6"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"25498:31:6"},"nodeType":"YulFunctionCall","src":"25498:38:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"25488:6:6","type":""}]},{"nodeType":"YulAssignment","src":"25545:67:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25600:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"25605:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"25552:47:6"},"nodeType":"YulFunctionCall","src":"25552:60:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"25545:3:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"25660:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"25667:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25656:3:6"},"nodeType":"YulFunctionCall","src":"25656:16:6"},{"name":"pos","nodeType":"YulIdentifier","src":"25674:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"25679:6:6"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"25621:34:6"},"nodeType":"YulFunctionCall","src":"25621:65:6"},"nodeType":"YulExpressionStatement","src":"25621:65:6"},{"nodeType":"YulAssignment","src":"25695:46:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25706:3:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"25733:6:6"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"25711:21:6"},"nodeType":"YulFunctionCall","src":"25711:29:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25702:3:6"},"nodeType":"YulFunctionCall","src":"25702:39:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"25695:3:6"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"25455:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"25462:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"25470:3:6","type":""}],"src":"25394:353:6"},{"body":{"nodeType":"YulBlock","src":"25951:1115:6","statements":[{"nodeType":"YulVariableDeclaration","src":"25961:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25977:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"25982:4:6","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25973:3:6"},"nodeType":"YulFunctionCall","src":"25973:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"25965:4:6","type":""}]},{"nodeType":"YulBlock","src":"25997:171:6","statements":[{"nodeType":"YulVariableDeclaration","src":"26045:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26075:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"26082:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26071:3:6"},"nodeType":"YulFunctionCall","src":"26071:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26065:5:6"},"nodeType":"YulFunctionCall","src":"26065:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"26049:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"26129:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26147:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"26152:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26143:3:6"},"nodeType":"YulFunctionCall","src":"26143:14:6"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool","nodeType":"YulIdentifier","src":"26101:27:6"},"nodeType":"YulFunctionCall","src":"26101:57:6"},"nodeType":"YulExpressionStatement","src":"26101:57:6"}]},{"nodeType":"YulBlock","src":"26178:170:6","statements":[{"nodeType":"YulVariableDeclaration","src":"26219:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26249:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"26256:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26245:3:6"},"nodeType":"YulFunctionCall","src":"26245:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26239:5:6"},"nodeType":"YulFunctionCall","src":"26239:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"26223:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"26309:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26327:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"26332:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26323:3:6"},"nodeType":"YulFunctionCall","src":"26323:14:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"26275:33:6"},"nodeType":"YulFunctionCall","src":"26275:63:6"},"nodeType":"YulExpressionStatement","src":"26275:63:6"}]},{"nodeType":"YulBlock","src":"26358:236:6","statements":[{"nodeType":"YulVariableDeclaration","src":"26396:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26426:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"26433:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26422:3:6"},"nodeType":"YulFunctionCall","src":"26422:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26416:5:6"},"nodeType":"YulFunctionCall","src":"26416:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"26400:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26464:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"26469:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26460:3:6"},"nodeType":"YulFunctionCall","src":"26460:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"26480:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"26486:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26476:3:6"},"nodeType":"YulFunctionCall","src":"26476:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26453:6:6"},"nodeType":"YulFunctionCall","src":"26453:38:6"},"nodeType":"YulExpressionStatement","src":"26453:38:6"},{"nodeType":"YulAssignment","src":"26504:79:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"26564:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"26578:4:6"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"26512:51:6"},"nodeType":"YulFunctionCall","src":"26512:71:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26504:4:6"}]}]},{"nodeType":"YulBlock","src":"26604:244:6","statements":[{"nodeType":"YulVariableDeclaration","src":"26650:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26680:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"26687:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26676:3:6"},"nodeType":"YulFunctionCall","src":"26676:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26670:5:6"},"nodeType":"YulFunctionCall","src":"26670:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"26654:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"26718:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"26723:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26714:3:6"},"nodeType":"YulFunctionCall","src":"26714:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"26734:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"26740:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"26730:3:6"},"nodeType":"YulFunctionCall","src":"26730:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26707:6:6"},"nodeType":"YulFunctionCall","src":"26707:38:6"},"nodeType":"YulExpressionStatement","src":"26707:38:6"},{"nodeType":"YulAssignment","src":"26758:79:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"26818:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"26832:4:6"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"26766:51:6"},"nodeType":"YulFunctionCall","src":"26766:71:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26758:4:6"}]}]},{"nodeType":"YulBlock","src":"26858:181:6","statements":[{"nodeType":"YulVariableDeclaration","src":"26910:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"26940:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"26947:4:6","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26936:3:6"},"nodeType":"YulFunctionCall","src":"26936:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26930:5:6"},"nodeType":"YulFunctionCall","src":"26930:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"26914:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"27000:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27018:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"27023:4:6","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27014:3:6"},"nodeType":"YulFunctionCall","src":"27014:14:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"26966:33:6"},"nodeType":"YulFunctionCall","src":"26966:63:6"},"nodeType":"YulExpressionStatement","src":"26966:63:6"}]},{"nodeType":"YulAssignment","src":"27049:11:6","value":{"name":"tail","nodeType":"YulIdentifier","src":"27056:4:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27049:3:6"}]}]},"name":"abi_encode_t_struct$_KeyValue_$3779_memory_ptr_to_t_struct$_KeyValue_$3779_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"25930:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"25937:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"25946:3:6","type":""}],"src":"25835:1231:6"},{"body":{"nodeType":"YulBlock","src":"27270:516:6","statements":[{"nodeType":"YulVariableDeclaration","src":"27280:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27296:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"27301:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27292:3:6"},"nodeType":"YulFunctionCall","src":"27292:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"27284:4:6","type":""}]},{"nodeType":"YulBlock","src":"27316:167:6","statements":[{"nodeType":"YulVariableDeclaration","src":"27354:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27384:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"27391:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27380:3:6"},"nodeType":"YulFunctionCall","src":"27380:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27374:5:6"},"nodeType":"YulFunctionCall","src":"27374:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"27358:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"27444:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27462:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"27467:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27458:3:6"},"nodeType":"YulFunctionCall","src":"27458:14:6"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"27410:33:6"},"nodeType":"YulFunctionCall","src":"27410:63:6"},"nodeType":"YulExpressionStatement","src":"27410:63:6"}]},{"nodeType":"YulBlock","src":"27493:266:6","statements":[{"nodeType":"YulVariableDeclaration","src":"27527:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"27557:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"27564:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27553:3:6"},"nodeType":"YulFunctionCall","src":"27553:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27547:5:6"},"nodeType":"YulFunctionCall","src":"27547:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"27531:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27595:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"27600:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27591:3:6"},"nodeType":"YulFunctionCall","src":"27591:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"27611:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"27617:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"27607:3:6"},"nodeType":"YulFunctionCall","src":"27607:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27584:6:6"},"nodeType":"YulFunctionCall","src":"27584:38:6"},"nodeType":"YulExpressionStatement","src":"27584:38:6"},{"nodeType":"YulAssignment","src":"27635:113:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"27729:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"27743:4:6"}],"functionName":{"name":"abi_encode_t_struct$_KeyValue_$3779_memory_ptr_to_t_struct$_KeyValue_$3779_memory_ptr","nodeType":"YulIdentifier","src":"27643:85:6"},"nodeType":"YulFunctionCall","src":"27643:105:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27635:4:6"}]}]},{"nodeType":"YulAssignment","src":"27769:11:6","value":{"name":"tail","nodeType":"YulIdentifier","src":"27776:4:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27769:3:6"}]}]},"name":"abi_encode_t_struct$_TokenKey_$3785_memory_ptr_to_t_struct$_TokenKey_$3785_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"27249:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"27256:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"27265:3:6","type":""}],"src":"27154:632:6"},{"body":{"nodeType":"YulBlock","src":"27924:128:6","statements":[{"nodeType":"YulAssignment","src":"27934:112:6","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"28034:6:6"},{"name":"pos","nodeType":"YulIdentifier","src":"28042:3:6"}],"functionName":{"name":"abi_encode_t_struct$_TokenKey_$3785_memory_ptr_to_t_struct$_TokenKey_$3785_memory_ptr","nodeType":"YulIdentifier","src":"27948:85:6"},"nodeType":"YulFunctionCall","src":"27948:98:6"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"27934:10:6"}]}]},"name":"abi_encodeUpdatedPos_t_struct$_TokenKey_$3785_memory_ptr_to_t_struct$_TokenKey_$3785_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"27897:6:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"27905:3:6","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"27913:10:6","type":""}],"src":"27792:260:6"},{"body":{"nodeType":"YulBlock","src":"28159:38:6","statements":[{"nodeType":"YulAssignment","src":"28169:22:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"28181:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"28186:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28177:3:6"},"nodeType":"YulFunctionCall","src":"28177:14:6"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"28169:4:6"}]}]},"name":"array_nextElement_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"28146:3:6","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"28154:4:6","type":""}],"src":"28058:139:6"},{"body":{"nodeType":"YulBlock","src":"28455:933:6","statements":[{"nodeType":"YulVariableDeclaration","src":"28465:94:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28553:5:6"}],"functionName":{"name":"array_length_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"28479:73:6"},"nodeType":"YulFunctionCall","src":"28479:80:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"28469:6:6","type":""}]},{"nodeType":"YulAssignment","src":"28568:109:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28665:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"28670:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"28575:89:6"},"nodeType":"YulFunctionCall","src":"28575:102:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"28568:3:6"}]},{"nodeType":"YulVariableDeclaration","src":"28686:20:6","value":{"name":"pos","nodeType":"YulIdentifier","src":"28703:3:6"},"variables":[{"name":"headStart","nodeType":"YulTypedName","src":"28690:9:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28715:39:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28731:3:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"28740:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"28748:4:6","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"28736:3:6"},"nodeType":"YulFunctionCall","src":"28736:17:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28727:3:6"},"nodeType":"YulFunctionCall","src":"28727:27:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"28719:4:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28763:97:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28854:5:6"}],"functionName":{"name":"array_dataslot_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"28778:75:6"},"nodeType":"YulFunctionCall","src":"28778:82:6"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"28767:7:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"28869:21:6","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"28883:7:6"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"28873:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"28959:384:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"28980:3:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"28989:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"28995:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"28985:3:6"},"nodeType":"YulFunctionCall","src":"28985:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28973:6:6"},"nodeType":"YulFunctionCall","src":"28973:33:6"},"nodeType":"YulExpressionStatement","src":"28973:33:6"},{"nodeType":"YulVariableDeclaration","src":"29019:34:6","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"29046:6:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29040:5:6"},"nodeType":"YulFunctionCall","src":"29040:13:6"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"29023:13:6","type":""}]},{"nodeType":"YulAssignment","src":"29066:124:6","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"29170:13:6"},{"name":"tail","nodeType":"YulIdentifier","src":"29185:4:6"}],"functionName":{"name":"abi_encodeUpdatedPos_t_struct$_TokenKey_$3785_memory_ptr_to_t_struct$_TokenKey_$3785_memory_ptr","nodeType":"YulIdentifier","src":"29074:95:6"},"nodeType":"YulFunctionCall","src":"29074:116:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29066:4:6"}]},{"nodeType":"YulAssignment","src":"29203:96:6","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"29292:6:6"}],"functionName":{"name":"array_nextElement_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"29213:78:6"},"nodeType":"YulFunctionCall","src":"29213:86:6"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"29203:6:6"}]},{"nodeType":"YulAssignment","src":"29312:21:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29323:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"29328:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29319:3:6"},"nodeType":"YulFunctionCall","src":"29319:14:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"29312:3:6"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"28921:1:6"},{"name":"length","nodeType":"YulIdentifier","src":"28924:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"28918:2:6"},"nodeType":"YulFunctionCall","src":"28918:13:6"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"28932:18:6","statements":[{"nodeType":"YulAssignment","src":"28934:14:6","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"28943:1:6"},{"kind":"number","nodeType":"YulLiteral","src":"28946:1:6","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28939:3:6"},"nodeType":"YulFunctionCall","src":"28939:9:6"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"28934:1:6"}]}]},"pre":{"nodeType":"YulBlock","src":"28903:14:6","statements":[{"nodeType":"YulVariableDeclaration","src":"28905:10:6","value":{"kind":"number","nodeType":"YulLiteral","src":"28914:1:6","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"28909:1:6","type":""}]}]},"src":"28899:444:6"},{"nodeType":"YulAssignment","src":"29352:11:6","value":{"name":"tail","nodeType":"YulIdentifier","src":"29359:4:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"29352:3:6"}]},{"nodeType":"YulAssignment","src":"29372:10:6","value":{"name":"pos","nodeType":"YulIdentifier","src":"29379:3:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"29372:3:6"}]}]},"name":"abi_encode_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28434:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"28441:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"28450:3:6","type":""}],"src":"28289:1099:6"},{"body":{"nodeType":"YulBlock","src":"29576:582:6","statements":[{"nodeType":"YulVariableDeclaration","src":"29586:26:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29602:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"29607:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29598:3:6"},"nodeType":"YulFunctionCall","src":"29598:14:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"29590:4:6","type":""}]},{"nodeType":"YulBlock","src":"29622:162:6","statements":[{"nodeType":"YulVariableDeclaration","src":"29659:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"29689:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"29696:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29685:3:6"},"nodeType":"YulFunctionCall","src":"29685:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29679:5:6"},"nodeType":"YulFunctionCall","src":"29679:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"29663:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"29745:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29763:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"29768:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29759:3:6"},"nodeType":"YulFunctionCall","src":"29759:14:6"}],"functionName":{"name":"abi_encode_t_int64_to_t_int64","nodeType":"YulIdentifier","src":"29715:29:6"},"nodeType":"YulFunctionCall","src":"29715:59:6"},"nodeType":"YulExpressionStatement","src":"29715:59:6"}]},{"nodeType":"YulBlock","src":"29794:176:6","statements":[{"nodeType":"YulVariableDeclaration","src":"29841:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"29871:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"29878:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29867:3:6"},"nodeType":"YulFunctionCall","src":"29867:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"29861:5:6"},"nodeType":"YulFunctionCall","src":"29861:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"29845:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"29931:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"29949:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"29954:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29945:3:6"},"nodeType":"YulFunctionCall","src":"29945:14:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"29897:33:6"},"nodeType":"YulFunctionCall","src":"29897:63:6"},"nodeType":"YulExpressionStatement","src":"29897:63:6"}]},{"nodeType":"YulBlock","src":"29980:171:6","statements":[{"nodeType":"YulVariableDeclaration","src":"30026:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"30056:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"30063:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30052:3:6"},"nodeType":"YulFunctionCall","src":"30052:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30046:5:6"},"nodeType":"YulFunctionCall","src":"30046:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"30030:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"30112:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30130:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"30135:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30126:3:6"},"nodeType":"YulFunctionCall","src":"30126:14:6"}],"functionName":{"name":"abi_encode_t_int64_to_t_int64","nodeType":"YulIdentifier","src":"30082:29:6"},"nodeType":"YulFunctionCall","src":"30082:59:6"},"nodeType":"YulExpressionStatement","src":"30082:59:6"}]}]},"name":"abi_encode_t_struct$_Expiry_$3768_memory_ptr_to_t_struct$_Expiry_$3768_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"29563:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"29570:3:6","type":""}],"src":"29472:686:6"},{"body":{"nodeType":"YulBlock","src":"30384:2071:6","statements":[{"nodeType":"YulVariableDeclaration","src":"30394:28:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30410:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"30415:6:6","type":"","value":"0x0160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30406:3:6"},"nodeType":"YulFunctionCall","src":"30406:16:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"30398:4:6","type":""}]},{"nodeType":"YulBlock","src":"30432:235:6","statements":[{"nodeType":"YulVariableDeclaration","src":"30467:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"30497:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"30504:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30493:3:6"},"nodeType":"YulFunctionCall","src":"30493:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30487:5:6"},"nodeType":"YulFunctionCall","src":"30487:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"30471:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30535:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"30540:4:6","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30531:3:6"},"nodeType":"YulFunctionCall","src":"30531:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"30551:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"30557:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30547:3:6"},"nodeType":"YulFunctionCall","src":"30547:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30524:6:6"},"nodeType":"YulFunctionCall","src":"30524:38:6"},"nodeType":"YulExpressionStatement","src":"30524:38:6"},{"nodeType":"YulAssignment","src":"30575:81:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"30637:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"30651:4:6"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr","nodeType":"YulIdentifier","src":"30583:53:6"},"nodeType":"YulFunctionCall","src":"30583:73:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30575:4:6"}]}]},{"nodeType":"YulBlock","src":"30677:237:6","statements":[{"nodeType":"YulVariableDeclaration","src":"30714:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"30744:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"30751:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30740:3:6"},"nodeType":"YulFunctionCall","src":"30740:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30734:5:6"},"nodeType":"YulFunctionCall","src":"30734:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"30718:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"30782:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"30787:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30778:3:6"},"nodeType":"YulFunctionCall","src":"30778:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"30798:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"30804:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"30794:3:6"},"nodeType":"YulFunctionCall","src":"30794:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30771:6:6"},"nodeType":"YulFunctionCall","src":"30771:38:6"},"nodeType":"YulExpressionStatement","src":"30771:38:6"},{"nodeType":"YulAssignment","src":"30822:81:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"30884:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"30898:4:6"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr","nodeType":"YulIdentifier","src":"30830:53:6"},"nodeType":"YulFunctionCall","src":"30830:73:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30822:4:6"}]}]},{"nodeType":"YulBlock","src":"30924:168:6","statements":[{"nodeType":"YulVariableDeclaration","src":"30963:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"30993:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"31000:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30989:3:6"},"nodeType":"YulFunctionCall","src":"30989:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"30983:5:6"},"nodeType":"YulFunctionCall","src":"30983:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"30967:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"31053:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31071:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"31076:4:6","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31067:3:6"},"nodeType":"YulFunctionCall","src":"31067:14:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address","nodeType":"YulIdentifier","src":"31019:33:6"},"nodeType":"YulFunctionCall","src":"31019:63:6"},"nodeType":"YulExpressionStatement","src":"31019:63:6"}]},{"nodeType":"YulBlock","src":"31102:235:6","statements":[{"nodeType":"YulVariableDeclaration","src":"31137:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31167:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"31174:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31163:3:6"},"nodeType":"YulFunctionCall","src":"31163:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31157:5:6"},"nodeType":"YulFunctionCall","src":"31157:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"31141:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31205:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"31210:4:6","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31201:3:6"},"nodeType":"YulFunctionCall","src":"31201:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"31221:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"31227:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31217:3:6"},"nodeType":"YulFunctionCall","src":"31217:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31194:6:6"},"nodeType":"YulFunctionCall","src":"31194:38:6"},"nodeType":"YulExpressionStatement","src":"31194:38:6"},{"nodeType":"YulAssignment","src":"31245:81:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"31307:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"31321:4:6"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr","nodeType":"YulIdentifier","src":"31253:53:6"},"nodeType":"YulFunctionCall","src":"31253:73:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"31245:4:6"}]}]},{"nodeType":"YulBlock","src":"31347:169:6","statements":[{"nodeType":"YulVariableDeclaration","src":"31393:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31423:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"31430:4:6","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31419:3:6"},"nodeType":"YulFunctionCall","src":"31419:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31413:5:6"},"nodeType":"YulFunctionCall","src":"31413:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"31397:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"31477:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31495:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"31500:4:6","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31491:3:6"},"nodeType":"YulFunctionCall","src":"31491:14:6"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool","nodeType":"YulIdentifier","src":"31449:27:6"},"nodeType":"YulFunctionCall","src":"31449:57:6"},"nodeType":"YulExpressionStatement","src":"31449:57:6"}]},{"nodeType":"YulBlock","src":"31526:165:6","statements":[{"nodeType":"YulVariableDeclaration","src":"31566:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31596:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"31603:4:6","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31592:3:6"},"nodeType":"YulFunctionCall","src":"31592:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31586:5:6"},"nodeType":"YulFunctionCall","src":"31586:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"31570:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"31652:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31670:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"31675:4:6","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31666:3:6"},"nodeType":"YulFunctionCall","src":"31666:14:6"}],"functionName":{"name":"abi_encode_t_int64_to_t_int64","nodeType":"YulIdentifier","src":"31622:29:6"},"nodeType":"YulFunctionCall","src":"31622:59:6"},"nodeType":"YulExpressionStatement","src":"31622:59:6"}]},{"nodeType":"YulBlock","src":"31701:167:6","statements":[{"nodeType":"YulVariableDeclaration","src":"31745:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31775:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"31782:4:6","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31771:3:6"},"nodeType":"YulFunctionCall","src":"31771:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31765:5:6"},"nodeType":"YulFunctionCall","src":"31765:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"31749:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"31829:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31847:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"31852:4:6","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31843:3:6"},"nodeType":"YulFunctionCall","src":"31843:14:6"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool","nodeType":"YulIdentifier","src":"31801:27:6"},"nodeType":"YulFunctionCall","src":"31801:57:6"},"nodeType":"YulExpressionStatement","src":"31801:57:6"}]},{"nodeType":"YulBlock","src":"31878:322:6","statements":[{"nodeType":"YulVariableDeclaration","src":"31918:43:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"31948:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"31955:4:6","type":"","value":"0xe0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31944:3:6"},"nodeType":"YulFunctionCall","src":"31944:16:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"31938:5:6"},"nodeType":"YulFunctionCall","src":"31938:23:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"31922:12:6","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"31986:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"31991:4:6","type":"","value":"0xe0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"31982:3:6"},"nodeType":"YulFunctionCall","src":"31982:14:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"32002:4:6"},{"name":"pos","nodeType":"YulIdentifier","src":"32008:3:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"31998:3:6"},"nodeType":"YulFunctionCall","src":"31998:14:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"31975:6:6"},"nodeType":"YulFunctionCall","src":"31975:38:6"},"nodeType":"YulExpressionStatement","src":"31975:38:6"},{"nodeType":"YulAssignment","src":"32026:163:6","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"32170:12:6"},{"name":"tail","nodeType":"YulIdentifier","src":"32184:4:6"}],"functionName":{"name":"abi_encode_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"32034:135:6"},"nodeType":"YulFunctionCall","src":"32034:155:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32026:4:6"}]}]},{"nodeType":"YulBlock","src":"32210:218:6","statements":[{"nodeType":"YulVariableDeclaration","src":"32247:45:6","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"32277:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"32284:6:6","type":"","value":"0x0100"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32273:3:6"},"nodeType":"YulFunctionCall","src":"32273:18:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"32267:5:6"},"nodeType":"YulFunctionCall","src":"32267:25:6"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"32251:12:6","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"32387:12:6"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"32405:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"32410:6:6","type":"","value":"0x0100"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32401:3:6"},"nodeType":"YulFunctionCall","src":"32401:16:6"}],"functionName":{"name":"abi_encode_t_struct$_Expiry_$3768_memory_ptr_to_t_struct$_Expiry_$3768_memory_ptr","nodeType":"YulIdentifier","src":"32305:81:6"},"nodeType":"YulFunctionCall","src":"32305:113:6"},"nodeType":"YulExpressionStatement","src":"32305:113:6"}]},{"nodeType":"YulAssignment","src":"32438:11:6","value":{"name":"tail","nodeType":"YulIdentifier","src":"32445:4:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"32438:3:6"}]}]},"name":"abi_encode_t_struct$_HederaToken_$3807_memory_ptr_to_t_struct$_HederaToken_$3807_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"30363:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"30370:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"30379:3:6","type":""}],"src":"30252:2203:6"},{"body":{"nodeType":"YulBlock","src":"32617:233:6","statements":[{"nodeType":"YulAssignment","src":"32627:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32639:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"32650:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32635:3:6"},"nodeType":"YulFunctionCall","src":"32635:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32627:4:6"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"32674:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"32685:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"32670:3:6"},"nodeType":"YulFunctionCall","src":"32670:17:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"32693:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"32699:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"32689:3:6"},"nodeType":"YulFunctionCall","src":"32689:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"32663:6:6"},"nodeType":"YulFunctionCall","src":"32663:47:6"},"nodeType":"YulExpressionStatement","src":"32663:47:6"},{"nodeType":"YulAssignment","src":"32719:124:6","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"32829:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"32838:4:6"}],"functionName":{"name":"abi_encode_t_struct$_HederaToken_$3807_memory_ptr_to_t_struct$_HederaToken_$3807_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"32727:101:6"},"nodeType":"YulFunctionCall","src":"32727:116:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"32719:4:6"}]}]},"name":"abi_encode_tuple_t_struct$_HederaToken_$3807_memory_ptr__to_t_struct$_HederaToken_$3807_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"32589:9:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"32601:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"32612:4:6","type":""}],"src":"32461:389:6"},{"body":{"nodeType":"YulBlock","src":"32909:51:6","statements":[{"nodeType":"YulAssignment","src":"32919:35:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"32948:5:6"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"32930:17:6"},"nodeType":"YulFunctionCall","src":"32930:24:6"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"32919:7:6"}]}]},"name":"cleanup_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"32891:5:6","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"32901:7:6","type":""}],"src":"32856:104:6"},{"body":{"nodeType":"YulBlock","src":"33017:87:6","statements":[{"body":{"nodeType":"YulBlock","src":"33082:16:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"33091:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"33094:1:6","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"33084:6:6"},"nodeType":"YulFunctionCall","src":"33084:12:6"},"nodeType":"YulExpressionStatement","src":"33084:12:6"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"33040:5:6"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"33073:5:6"}],"functionName":{"name":"cleanup_t_address_payable","nodeType":"YulIdentifier","src":"33047:25:6"},"nodeType":"YulFunctionCall","src":"33047:32:6"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"33037:2:6"},"nodeType":"YulFunctionCall","src":"33037:43:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"33030:6:6"},"nodeType":"YulFunctionCall","src":"33030:51:6"},"nodeType":"YulIf","src":"33027:71:6"}]},"name":"validator_revert_t_address_payable","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"33010:5:6","type":""}],"src":"32966:138:6"},{"body":{"nodeType":"YulBlock","src":"33181:88:6","statements":[{"nodeType":"YulAssignment","src":"33191:22:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"33206:6:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"33200:5:6"},"nodeType":"YulFunctionCall","src":"33200:13:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"33191:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"33257:5:6"}],"functionName":{"name":"validator_revert_t_address_payable","nodeType":"YulIdentifier","src":"33222:34:6"},"nodeType":"YulFunctionCall","src":"33222:41:6"},"nodeType":"YulExpressionStatement","src":"33222:41:6"}]},"name":"abi_decode_t_address_payable_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"33159:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"33167:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"33175:5:6","type":""}],"src":"33110:159:6"},{"body":{"nodeType":"YulBlock","src":"33375:419:6","statements":[{"body":{"nodeType":"YulBlock","src":"33421:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"33423:77:6"},"nodeType":"YulFunctionCall","src":"33423:79:6"},"nodeType":"YulExpressionStatement","src":"33423:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"33396:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"33405:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"33392:3:6"},"nodeType":"YulFunctionCall","src":"33392:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"33417:2:6","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"33388:3:6"},"nodeType":"YulFunctionCall","src":"33388:32:6"},"nodeType":"YulIf","src":"33385:119:6"},{"nodeType":"YulBlock","src":"33514:126:6","statements":[{"nodeType":"YulVariableDeclaration","src":"33529:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"33543:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"33533:6:6","type":""}]},{"nodeType":"YulAssignment","src":"33558:72:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33602:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"33613:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33598:3:6"},"nodeType":"YulFunctionCall","src":"33598:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"33622:7:6"}],"functionName":{"name":"abi_decode_t_int32_fromMemory","nodeType":"YulIdentifier","src":"33568:29:6"},"nodeType":"YulFunctionCall","src":"33568:62:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"33558:6:6"}]}]},{"nodeType":"YulBlock","src":"33650:137:6","statements":[{"nodeType":"YulVariableDeclaration","src":"33665:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"33679:2:6","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"33669:6:6","type":""}]},{"nodeType":"YulAssignment","src":"33695:82:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"33749:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"33760:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"33745:3:6"},"nodeType":"YulFunctionCall","src":"33745:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"33769:7:6"}],"functionName":{"name":"abi_decode_t_address_payable_fromMemory","nodeType":"YulIdentifier","src":"33705:39:6"},"nodeType":"YulFunctionCall","src":"33705:72:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"33695:6:6"}]}]}]},"name":"abi_decode_tuple_t_int32t_address_payable_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"33337:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"33348:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"33360:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"33368:6:6","type":""}],"src":"33275:519:6"},{"body":{"nodeType":"YulBlock","src":"33883:40:6","statements":[{"nodeType":"YulAssignment","src":"33894:22:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"33910:5:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"33904:5:6"},"nodeType":"YulFunctionCall","src":"33904:12:6"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"33894:6:6"}]}]},"name":"array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"33866:5:6","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"33876:6:6","type":""}],"src":"33800:123:6"},{"body":{"nodeType":"YulBlock","src":"34049:73:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34066:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"34071:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"34059:6:6"},"nodeType":"YulFunctionCall","src":"34059:19:6"},"nodeType":"YulExpressionStatement","src":"34059:19:6"},{"nodeType":"YulAssignment","src":"34087:29:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34106:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"34111:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34102:3:6"},"nodeType":"YulFunctionCall","src":"34102:14:6"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"34087:11:6"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"34021:3:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"34026:6:6","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"34037:11:6","type":""}],"src":"33929:193:6"},{"body":{"nodeType":"YulBlock","src":"34209:60:6","statements":[{"nodeType":"YulAssignment","src":"34219:11:6","value":{"name":"ptr","nodeType":"YulIdentifier","src":"34227:3:6"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"34219:4:6"}]},{"nodeType":"YulAssignment","src":"34240:22:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"34252:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"34257:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34248:3:6"},"nodeType":"YulFunctionCall","src":"34248:14:6"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"34240:4:6"}]}]},"name":"array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"34196:3:6","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"34204:4:6","type":""}],"src":"34128:141:6"},{"body":{"nodeType":"YulBlock","src":"34373:94:6","statements":[{"nodeType":"YulAssignment","src":"34383:78:6","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"34449:6:6"},{"name":"pos","nodeType":"YulIdentifier","src":"34457:3:6"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"34397:51:6"},"nodeType":"YulFunctionCall","src":"34397:64:6"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"34383:10:6"}]}]},"name":"abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"34346:6:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"34354:3:6","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"34362:10:6","type":""}],"src":"34275:192:6"},{"body":{"nodeType":"YulBlock","src":"34557:38:6","statements":[{"nodeType":"YulAssignment","src":"34567:22:6","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"34579:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"34584:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"34575:3:6"},"nodeType":"YulFunctionCall","src":"34575:14:6"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"34567:4:6"}]}]},"name":"array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"34544:3:6","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"34552:4:6","type":""}],"src":"34473:122:6"},{"body":{"nodeType":"YulBlock","src":"34769:841:6","statements":[{"nodeType":"YulVariableDeclaration","src":"34779:77:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"34850:5:6"}],"functionName":{"name":"array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"34793:56:6"},"nodeType":"YulFunctionCall","src":"34793:63:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"34783:6:6","type":""}]},{"nodeType":"YulAssignment","src":"34865:102:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"34955:3:6"},{"name":"length","nodeType":"YulIdentifier","src":"34960:6:6"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"34872:82:6"},"nodeType":"YulFunctionCall","src":"34872:95:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"34865:3:6"}]},{"nodeType":"YulVariableDeclaration","src":"34976:20:6","value":{"name":"pos","nodeType":"YulIdentifier","src":"34993:3:6"},"variables":[{"name":"headStart","nodeType":"YulTypedName","src":"34980:9:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"35005:39:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35021:3:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"35030:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"35038:4:6","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"35026:3:6"},"nodeType":"YulFunctionCall","src":"35026:17:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35017:3:6"},"nodeType":"YulFunctionCall","src":"35017:27:6"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"35009:4:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"35053:80:6","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"35127:5:6"}],"functionName":{"name":"array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"35068:58:6"},"nodeType":"YulFunctionCall","src":"35068:65:6"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"35057:7:6","type":""}]},{"nodeType":"YulVariableDeclaration","src":"35142:21:6","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"35156:7:6"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"35146:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"35232:333:6","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35253:3:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"35262:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"35268:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"35258:3:6"},"nodeType":"YulFunctionCall","src":"35258:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"35246:6:6"},"nodeType":"YulFunctionCall","src":"35246:33:6"},"nodeType":"YulExpressionStatement","src":"35246:33:6"},{"nodeType":"YulVariableDeclaration","src":"35292:34:6","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"35319:6:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"35313:5:6"},"nodeType":"YulFunctionCall","src":"35313:13:6"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"35296:13:6","type":""}]},{"nodeType":"YulAssignment","src":"35339:90:6","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"35409:13:6"},{"name":"tail","nodeType":"YulIdentifier","src":"35424:4:6"}],"functionName":{"name":"abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"35347:61:6"},"nodeType":"YulFunctionCall","src":"35347:82:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35339:4:6"}]},{"nodeType":"YulAssignment","src":"35442:79:6","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"35514:6:6"}],"functionName":{"name":"array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"35452:61:6"},"nodeType":"YulFunctionCall","src":"35452:69:6"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"35442:6:6"}]},{"nodeType":"YulAssignment","src":"35534:21:6","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"35545:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"35550:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35541:3:6"},"nodeType":"YulFunctionCall","src":"35541:14:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"35534:3:6"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"35194:1:6"},{"name":"length","nodeType":"YulIdentifier","src":"35197:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"35191:2:6"},"nodeType":"YulFunctionCall","src":"35191:13:6"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"35205:18:6","statements":[{"nodeType":"YulAssignment","src":"35207:14:6","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"35216:1:6"},{"kind":"number","nodeType":"YulLiteral","src":"35219:1:6","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35212:3:6"},"nodeType":"YulFunctionCall","src":"35212:9:6"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"35207:1:6"}]}]},"pre":{"nodeType":"YulBlock","src":"35176:14:6","statements":[{"nodeType":"YulVariableDeclaration","src":"35178:10:6","value":{"kind":"number","nodeType":"YulLiteral","src":"35187:1:6","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"35182:1:6","type":""}]}]},"src":"35172:393:6"},{"nodeType":"YulAssignment","src":"35574:11:6","value":{"name":"tail","nodeType":"YulIdentifier","src":"35581:4:6"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"35574:3:6"}]},{"nodeType":"YulAssignment","src":"35594:10:6","value":{"name":"pos","nodeType":"YulIdentifier","src":"35601:3:6"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"35594:3:6"}]}]},"name":"abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"34748:5:6","type":""},{"name":"pos","nodeType":"YulTypedName","src":"34755:3:6","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"34764:3:6","type":""}],"src":"34627:983:6"},{"body":{"nodeType":"YulBlock","src":"35834:403:6","statements":[{"nodeType":"YulAssignment","src":"35844:26:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35856:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"35867:2:6","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35852:3:6"},"nodeType":"YulFunctionCall","src":"35852:18:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"35844:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"35924:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"35937:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"35948:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"35933:3:6"},"nodeType":"YulFunctionCall","src":"35933:17:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"35880:43:6"},"nodeType":"YulFunctionCall","src":"35880:71:6"},"nodeType":"YulExpressionStatement","src":"35880:71:6"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"36001:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36014:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"36025:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36010:3:6"},"nodeType":"YulFunctionCall","src":"36010:18:6"}],"functionName":{"name":"abi_encode_t_int64_to_t_int64_fromStack","nodeType":"YulIdentifier","src":"35961:39:6"},"nodeType":"YulFunctionCall","src":"35961:68:6"},"nodeType":"YulExpressionStatement","src":"35961:68:6"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"36050:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"36061:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36046:3:6"},"nodeType":"YulFunctionCall","src":"36046:18:6"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"36070:4:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"36076:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"36066:3:6"},"nodeType":"YulFunctionCall","src":"36066:20:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36039:6:6"},"nodeType":"YulFunctionCall","src":"36039:48:6"},"nodeType":"YulExpressionStatement","src":"36039:48:6"},{"nodeType":"YulAssignment","src":"36096:134:6","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"36216:6:6"},{"name":"tail","nodeType":"YulIdentifier","src":"36225:4:6"}],"functionName":{"name":"abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"36104:111:6"},"nodeType":"YulFunctionCall","src":"36104:126:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"36096:4:6"}]}]},"name":"abi_encode_tuple_t_address_t_int64_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_address_t_int64_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"35790:9:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"35802:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"35810:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"35818:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"35829:4:6","type":""}],"src":"35616:621:6"},{"body":{"nodeType":"YulBlock","src":"36304:78:6","statements":[{"nodeType":"YulAssignment","src":"36314:22:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"36329:6:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"36323:5:6"},"nodeType":"YulFunctionCall","src":"36323:13:6"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"36314:5:6"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"36370:5:6"}],"functionName":{"name":"validator_revert_t_int64","nodeType":"YulIdentifier","src":"36345:24:6"},"nodeType":"YulFunctionCall","src":"36345:31:6"},"nodeType":"YulExpressionStatement","src":"36345:31:6"}]},"name":"abi_decode_t_int64_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"36282:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"36290:3:6","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"36298:5:6","type":""}],"src":"36243:139:6"},{"body":{"nodeType":"YulBlock","src":"36468:229:6","statements":[{"body":{"nodeType":"YulBlock","src":"36573:22:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"36575:16:6"},"nodeType":"YulFunctionCall","src":"36575:18:6"},"nodeType":"YulExpressionStatement","src":"36575:18:6"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"36545:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"36553:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"36542:2:6"},"nodeType":"YulFunctionCall","src":"36542:30:6"},"nodeType":"YulIf","src":"36539:56:6"},{"nodeType":"YulAssignment","src":"36605:25:6","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"36617:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"36625:4:6","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"36613:3:6"},"nodeType":"YulFunctionCall","src":"36613:17:6"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"36605:4:6"}]},{"nodeType":"YulAssignment","src":"36667:23:6","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"36679:4:6"},{"kind":"number","nodeType":"YulLiteral","src":"36685:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36675:3:6"},"nodeType":"YulFunctionCall","src":"36675:15:6"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"36667:4:6"}]}]},"name":"array_allocation_size_t_array$_t_int64_$dyn_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"36452:6:6","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"36463:4:6","type":""}],"src":"36388:309:6"},{"body":{"nodeType":"YulBlock","src":"36829:615:6","statements":[{"nodeType":"YulAssignment","src":"36839:88:6","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"36919:6:6"}],"functionName":{"name":"array_allocation_size_t_array$_t_int64_$dyn_memory_ptr","nodeType":"YulIdentifier","src":"36864:54:6"},"nodeType":"YulFunctionCall","src":"36864:62:6"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"36848:15:6"},"nodeType":"YulFunctionCall","src":"36848:79:6"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"36839:5:6"}]},{"nodeType":"YulVariableDeclaration","src":"36936:16:6","value":{"name":"array","nodeType":"YulIdentifier","src":"36947:5:6"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"36940:3:6","type":""}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"36969:5:6"},{"name":"length","nodeType":"YulIdentifier","src":"36976:6:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"36962:6:6"},"nodeType":"YulFunctionCall","src":"36962:21:6"},"nodeType":"YulExpressionStatement","src":"36962:21:6"},{"nodeType":"YulAssignment","src":"36992:23:6","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"37003:5:6"},{"kind":"number","nodeType":"YulLiteral","src":"37010:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"36999:3:6"},"nodeType":"YulFunctionCall","src":"36999:16:6"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"36992:3:6"}]},{"nodeType":"YulVariableDeclaration","src":"37025:44:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"37043:6:6"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"37055:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"37063:4:6","type":"","value":"0x20"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"37051:3:6"},"nodeType":"YulFunctionCall","src":"37051:17:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37039:3:6"},"nodeType":"YulFunctionCall","src":"37039:30:6"},"variables":[{"name":"srcEnd","nodeType":"YulTypedName","src":"37029:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"37097:103:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef","nodeType":"YulIdentifier","src":"37111:77:6"},"nodeType":"YulFunctionCall","src":"37111:79:6"},"nodeType":"YulExpressionStatement","src":"37111:79:6"}]},"condition":{"arguments":[{"name":"srcEnd","nodeType":"YulIdentifier","src":"37084:6:6"},{"name":"end","nodeType":"YulIdentifier","src":"37092:3:6"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"37081:2:6"},"nodeType":"YulFunctionCall","src":"37081:15:6"},"nodeType":"YulIf","src":"37078:122:6"},{"body":{"nodeType":"YulBlock","src":"37285:153:6","statements":[{"nodeType":"YulVariableDeclaration","src":"37300:21:6","value":{"name":"src","nodeType":"YulIdentifier","src":"37318:3:6"},"variables":[{"name":"elementPos","nodeType":"YulTypedName","src":"37304:10:6","type":""}]},{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"37342:3:6"},{"arguments":[{"name":"elementPos","nodeType":"YulIdentifier","src":"37377:10:6"},{"name":"end","nodeType":"YulIdentifier","src":"37389:3:6"}],"functionName":{"name":"abi_decode_t_int64_fromMemory","nodeType":"YulIdentifier","src":"37347:29:6"},"nodeType":"YulFunctionCall","src":"37347:46:6"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"37335:6:6"},"nodeType":"YulFunctionCall","src":"37335:59:6"},"nodeType":"YulExpressionStatement","src":"37335:59:6"},{"nodeType":"YulAssignment","src":"37407:21:6","value":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"37418:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"37423:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37414:3:6"},"nodeType":"YulFunctionCall","src":"37414:14:6"},"variableNames":[{"name":"dst","nodeType":"YulIdentifier","src":"37407:3:6"}]}]},"condition":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"37238:3:6"},{"name":"srcEnd","nodeType":"YulIdentifier","src":"37243:6:6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"37235:2:6"},"nodeType":"YulFunctionCall","src":"37235:15:6"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"37251:25:6","statements":[{"nodeType":"YulAssignment","src":"37253:21:6","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"37264:3:6"},{"kind":"number","nodeType":"YulLiteral","src":"37269:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37260:3:6"},"nodeType":"YulFunctionCall","src":"37260:14:6"},"variableNames":[{"name":"src","nodeType":"YulIdentifier","src":"37253:3:6"}]}]},"pre":{"nodeType":"YulBlock","src":"37213:21:6","statements":[{"nodeType":"YulVariableDeclaration","src":"37215:17:6","value":{"name":"offset","nodeType":"YulIdentifier","src":"37226:6:6"},"variables":[{"name":"src","nodeType":"YulTypedName","src":"37219:3:6","type":""}]}]},"src":"37209:229:6"}]},"name":"abi_decode_available_length_t_array$_t_int64_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"36799:6:6","type":""},{"name":"length","nodeType":"YulTypedName","src":"36807:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"36815:3:6","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"36823:5:6","type":""}],"src":"36718:726:6"},{"body":{"nodeType":"YulBlock","src":"37551:295:6","statements":[{"body":{"nodeType":"YulBlock","src":"37600:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d","nodeType":"YulIdentifier","src":"37602:77:6"},"nodeType":"YulFunctionCall","src":"37602:79:6"},"nodeType":"YulExpressionStatement","src":"37602:79:6"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"37579:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"37587:4:6","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37575:3:6"},"nodeType":"YulFunctionCall","src":"37575:17:6"},{"name":"end","nodeType":"YulIdentifier","src":"37594:3:6"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"37571:3:6"},"nodeType":"YulFunctionCall","src":"37571:27:6"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"37564:6:6"},"nodeType":"YulFunctionCall","src":"37564:35:6"},"nodeType":"YulIf","src":"37561:122:6"},{"nodeType":"YulVariableDeclaration","src":"37692:27:6","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"37712:6:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"37706:5:6"},"nodeType":"YulFunctionCall","src":"37706:13:6"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"37696:6:6","type":""}]},{"nodeType":"YulAssignment","src":"37728:112:6","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"37813:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"37821:4:6","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"37809:3:6"},"nodeType":"YulFunctionCall","src":"37809:17:6"},{"name":"length","nodeType":"YulIdentifier","src":"37828:6:6"},{"name":"end","nodeType":"YulIdentifier","src":"37836:3:6"}],"functionName":{"name":"abi_decode_available_length_t_array$_t_int64_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"37737:71:6"},"nodeType":"YulFunctionCall","src":"37737:103:6"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"37728:5:6"}]}]},"name":"abi_decode_t_array$_t_int64_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"37529:6:6","type":""},{"name":"end","nodeType":"YulTypedName","src":"37537:3:6","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"37545:5:6","type":""}],"src":"37465:381:6"},{"body":{"nodeType":"YulBlock","src":"37982:724:6","statements":[{"body":{"nodeType":"YulBlock","src":"38028:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b","nodeType":"YulIdentifier","src":"38030:77:6"},"nodeType":"YulFunctionCall","src":"38030:79:6"},"nodeType":"YulExpressionStatement","src":"38030:79:6"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"38003:7:6"},{"name":"headStart","nodeType":"YulIdentifier","src":"38012:9:6"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"37999:3:6"},"nodeType":"YulFunctionCall","src":"37999:23:6"},{"kind":"number","nodeType":"YulLiteral","src":"38024:2:6","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"37995:3:6"},"nodeType":"YulFunctionCall","src":"37995:32:6"},"nodeType":"YulIf","src":"37992:119:6"},{"nodeType":"YulBlock","src":"38121:126:6","statements":[{"nodeType":"YulVariableDeclaration","src":"38136:15:6","value":{"kind":"number","nodeType":"YulLiteral","src":"38150:1:6","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"38140:6:6","type":""}]},{"nodeType":"YulAssignment","src":"38165:72:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38209:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"38220:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38205:3:6"},"nodeType":"YulFunctionCall","src":"38205:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"38229:7:6"}],"functionName":{"name":"abi_decode_t_int32_fromMemory","nodeType":"YulIdentifier","src":"38175:29:6"},"nodeType":"YulFunctionCall","src":"38175:62:6"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"38165:6:6"}]}]},{"nodeType":"YulBlock","src":"38257:127:6","statements":[{"nodeType":"YulVariableDeclaration","src":"38272:16:6","value":{"kind":"number","nodeType":"YulLiteral","src":"38286:2:6","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"38276:6:6","type":""}]},{"nodeType":"YulAssignment","src":"38302:72:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38346:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"38357:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38342:3:6"},"nodeType":"YulFunctionCall","src":"38342:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"38366:7:6"}],"functionName":{"name":"abi_decode_t_int64_fromMemory","nodeType":"YulIdentifier","src":"38312:29:6"},"nodeType":"YulFunctionCall","src":"38312:62:6"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"38302:6:6"}]}]},{"nodeType":"YulBlock","src":"38394:305:6","statements":[{"nodeType":"YulVariableDeclaration","src":"38409:39:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38433:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"38444:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38429:3:6"},"nodeType":"YulFunctionCall","src":"38429:18:6"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"38423:5:6"},"nodeType":"YulFunctionCall","src":"38423:25:6"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"38413:6:6","type":""}]},{"body":{"nodeType":"YulBlock","src":"38495:83:6","statements":[{"expression":{"arguments":[],"functionName":{"name":"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db","nodeType":"YulIdentifier","src":"38497:77:6"},"nodeType":"YulFunctionCall","src":"38497:79:6"},"nodeType":"YulExpressionStatement","src":"38497:79:6"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"38467:6:6"},{"kind":"number","nodeType":"YulLiteral","src":"38475:18:6","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"38464:2:6"},"nodeType":"YulFunctionCall","src":"38464:30:6"},"nodeType":"YulIf","src":"38461:117:6"},{"nodeType":"YulAssignment","src":"38592:97:6","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38661:9:6"},{"name":"offset","nodeType":"YulIdentifier","src":"38672:6:6"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38657:3:6"},"nodeType":"YulFunctionCall","src":"38657:22:6"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"38681:7:6"}],"functionName":{"name":"abi_decode_t_array$_t_int64_$dyn_memory_ptr_fromMemory","nodeType":"YulIdentifier","src":"38602:54:6"},"nodeType":"YulFunctionCall","src":"38602:87:6"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"38592:6:6"}]}]}]},"name":"abi_decode_tuple_t_int32t_int64t_array$_t_int64_$dyn_memory_ptr_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"37936:9:6","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"37947:7:6","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"37959:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"37967:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"37975:6:6","type":""}],"src":"37852:854:6"},{"body":{"nodeType":"YulBlock","src":"38890:367:6","statements":[{"nodeType":"YulAssignment","src":"38900:27:6","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38912:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"38923:3:6","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38908:3:6"},"nodeType":"YulFunctionCall","src":"38908:19:6"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"38900:4:6"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"38981:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"38994:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"39005:1:6","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"38990:3:6"},"nodeType":"YulFunctionCall","src":"38990:17:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"38937:43:6"},"nodeType":"YulFunctionCall","src":"38937:71:6"},"nodeType":"YulExpressionStatement","src":"38937:71:6"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"39062:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39075:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"39086:2:6","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39071:3:6"},"nodeType":"YulFunctionCall","src":"39071:18:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"39018:43:6"},"nodeType":"YulFunctionCall","src":"39018:72:6"},"nodeType":"YulExpressionStatement","src":"39018:72:6"},{"expression":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"39144:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39157:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"39168:2:6","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39153:3:6"},"nodeType":"YulFunctionCall","src":"39153:18:6"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"39100:43:6"},"nodeType":"YulFunctionCall","src":"39100:72:6"},"nodeType":"YulExpressionStatement","src":"39100:72:6"},{"expression":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"39222:6:6"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"39235:9:6"},{"kind":"number","nodeType":"YulLiteral","src":"39246:2:6","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"39231:3:6"},"nodeType":"YulFunctionCall","src":"39231:18:6"}],"functionName":{"name":"abi_encode_t_int64_to_t_int64_fromStack","nodeType":"YulIdentifier","src":"39182:39:6"},"nodeType":"YulFunctionCall","src":"39182:68:6"},"nodeType":"YulExpressionStatement","src":"39182:68:6"}]},"name":"abi_encode_tuple_t_address_t_address_t_address_t_int64__to_t_address_t_address_t_address_t_int64__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"38838:9:6","type":""},{"name":"value3","nodeType":"YulTypedName","src":"38850:6:6","type":""},{"name":"value2","nodeType":"YulTypedName","src":"38858:6:6","type":""},{"name":"value1","nodeType":"YulTypedName","src":"38866:6:6","type":""},{"name":"value0","nodeType":"YulTypedName","src":"38874:6:6","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"38885:4:6","type":""}],"src":"38712:545:6"},{"body":{"nodeType":"YulBlock","src":"39291:152:6","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39308:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"39311:77:6","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39301:6:6"},"nodeType":"YulFunctionCall","src":"39301:88:6"},"nodeType":"YulExpressionStatement","src":"39301:88:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39405:1:6","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"39408:4:6","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"39398:6:6"},"nodeType":"YulFunctionCall","src":"39398:15:6"},"nodeType":"YulExpressionStatement","src":"39398:15:6"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"39429:1:6","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"39432:4:6","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"39422:6:6"},"nodeType":"YulFunctionCall","src":"39422:15:6"},"nodeType":"YulExpressionStatement","src":"39422:15:6"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"39263:180:6"}]},"contents":"{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_int64(value) -> cleaned {\n cleaned := signextend(7, value)\n }\n\n function validator_revert_t_int64(value) {\n if iszero(eq(value, cleanup_t_int64(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_int64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_int64(value)\n }\n\n function abi_decode_tuple_t_int64(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_addresst_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_int64_to_t_int64_fromStack(value, pos) {\n mstore(pos, cleanup_t_int64(value))\n }\n\n function abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory_with_cleanup(src, dst, length) {\n calldatacopy(dst, src, length)\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n mstore(pos, cleanup_t_int256(value))\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory_with_cleanup(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_int256_t_bytes_memory_ptr__to_t_int256_t_bytes_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_int256_to_t_int256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value1, tail)\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory_with_cleanup(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_int64t_int64(headStart, dataEnd) -> value0, value1, value2, value3, value4 {\n if slt(sub(dataEnd, headStart), 160) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // bytes[]\n function abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let innerOffset := calldataload(src)\n if gt(innerOffset, 0xffffffffffffffff) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let elementPos := add(offset, innerOffset)\n\n mstore(dst, abi_decode_t_bytes_memory_ptr(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // bytes[]\n function abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_array$_t_bytes_memory_ptr_$dyn_memory_ptrt_address(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_int64(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int256_to_t_int256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_address_t_address_t_address_t_uint256__to_t_address_t_address_t_address_t_uint256__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value3, add(headStart, 96))\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function cleanup_t_int32(value) -> cleaned {\n cleaned := signextend(3, value)\n }\n\n function validator_revert_t_int32(value) {\n if iszero(eq(value, cleanup_t_int32(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_int32_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_int32(value)\n }\n\n function abi_decode_tuple_t_int32_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address_t_bytes_memory_ptr__to_t_address_t_bytes_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value1, tail)\n\n }\n\n function abi_encode_tuple_t_bool_t_bytes_memory_ptr__to_t_bool_t_bytes_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value1, tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef(memPtr) {\n\n mstore(add(memPtr, 0), \"Only owner can call this functio\")\n\n mstore(add(memPtr, 32), \"n\")\n\n }\n\n function abi_encode_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1b988f8784cc3cf7ad7d1bf59197df07b7925b5a748a478400a8f83fd9e196ef_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b(memPtr) {\n\n mstore(add(memPtr, 0), \"Failed to create non-fungible to\")\n\n mstore(add(memPtr, 32), \"ken\")\n\n }\n\n function abi_encode_t_stringliteral_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_80132b915dd9af212a6b332f4007c35e3d95dadca6e11cbc4ce9a25704ca158b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4(memPtr) {\n\n mstore(add(memPtr, 0), \"Failed to mint non-fungible toke\")\n\n mstore(add(memPtr, 32), \"n\")\n\n }\n\n function abi_encode_t_stringliteral_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_ac0717d6bfbebcd19ba94ac3f67866c04f07fcffbe24763a234917dbad73feb4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0(memPtr) {\n\n mstore(add(memPtr, 0), \"You are not authorized to claim \")\n\n mstore(add(memPtr, 32), \"this NFT\")\n\n }\n\n function abi_encode_t_stringliteral_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 40)\n store_literal_in_memory_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_01289f376072ac39ac8e69dedf434033e59a3aef654df23af5d5f10d7266c2c0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf(memPtr) {\n\n mstore(add(memPtr, 0), \"NFT has already been claimed\")\n\n }\n\n function abi_encode_t_stringliteral_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_840463812bb1539e5580e6fd514bb94c9dac3b32da97068686d735d00062f8cf_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272(memPtr) {\n\n mstore(add(memPtr, 0), \"Failed to transfer non-fungible \")\n\n mstore(add(memPtr, 32), \"token\")\n\n }\n\n function abi_encode_t_stringliteral_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_1b4af10c92b76c4a3a958699c6b18d02400d3d3fb629c80d497d7a8c2883a272_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_int64_to_t_int64(value, pos) {\n mstore(pos, cleanup_t_int64(value))\n }\n\n function array_length_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n // struct IHederaTokenService.KeyValue -> struct IHederaTokenService.KeyValue\n function abi_encode_t_struct$_KeyValue_$3779_memory_ptr_to_t_struct$_KeyValue_$3779_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0xa0)\n\n {\n // inheritAccountKey\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_bool_to_t_bool(memberValue0, add(pos, 0x00))\n }\n\n {\n // contractId\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n }\n\n {\n // ed25519\n\n let memberValue0 := mload(add(value, 0x40))\n\n mstore(add(pos, 0x40), sub(tail, pos))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // ECDSA_secp256k1\n\n let memberValue0 := mload(add(value, 0x60))\n\n mstore(add(pos, 0x60), sub(tail, pos))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // delegatableContractId\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x80))\n }\n\n end := tail\n }\n\n // struct IHederaTokenService.TokenKey -> struct IHederaTokenService.TokenKey\n function abi_encode_t_struct$_TokenKey_$3785_memory_ptr_to_t_struct$_TokenKey_$3785_memory_ptr(value, pos) -> end {\n let tail := add(pos, 0x40)\n\n {\n // keyType\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // key\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_struct$_KeyValue_$3779_memory_ptr_to_t_struct$_KeyValue_$3779_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encodeUpdatedPos_t_struct$_TokenKey_$3785_memory_ptr_to_t_struct$_TokenKey_$3785_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_struct$_TokenKey_$3785_memory_ptr_to_t_struct$_TokenKey_$3785_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // struct IHederaTokenService.TokenKey[] -> struct IHederaTokenService.TokenKey[]\n function abi_encode_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr(value, pos) -> end {\n let length := array_length_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_struct$_TokenKey_$3785_memory_ptr_to_t_struct$_TokenKey_$3785_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n // struct IHederaTokenService.Expiry -> struct IHederaTokenService.Expiry\n function abi_encode_t_struct$_Expiry_$3768_memory_ptr_to_t_struct$_Expiry_$3768_memory_ptr(value, pos) {\n let tail := add(pos, 0x60)\n\n {\n // second\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_int64_to_t_int64(memberValue0, add(pos, 0x00))\n }\n\n {\n // autoRenewAccount\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x20))\n }\n\n {\n // autoRenewPeriod\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_int64_to_t_int64(memberValue0, add(pos, 0x40))\n }\n\n }\n\n // struct IHederaTokenService.HederaToken -> struct IHederaTokenService.HederaToken\n function abi_encode_t_struct$_HederaToken_$3807_memory_ptr_to_t_struct$_HederaToken_$3807_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0x0160)\n\n {\n // name\n\n let memberValue0 := mload(add(value, 0x00))\n\n mstore(add(pos, 0x00), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // symbol\n\n let memberValue0 := mload(add(value, 0x20))\n\n mstore(add(pos, 0x20), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // treasury\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x40))\n }\n\n {\n // memo\n\n let memberValue0 := mload(add(value, 0x60))\n\n mstore(add(pos, 0x60), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // tokenSupplyType\n\n let memberValue0 := mload(add(value, 0x80))\n abi_encode_t_bool_to_t_bool(memberValue0, add(pos, 0x80))\n }\n\n {\n // maxSupply\n\n let memberValue0 := mload(add(value, 0xa0))\n abi_encode_t_int64_to_t_int64(memberValue0, add(pos, 0xa0))\n }\n\n {\n // freezeDefault\n\n let memberValue0 := mload(add(value, 0xc0))\n abi_encode_t_bool_to_t_bool(memberValue0, add(pos, 0xc0))\n }\n\n {\n // tokenKeys\n\n let memberValue0 := mload(add(value, 0xe0))\n\n mstore(add(pos, 0xe0), sub(tail, pos))\n tail := abi_encode_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr_to_t_array$_t_struct$_TokenKey_$3785_memory_ptr_$dyn_memory_ptr(memberValue0, tail)\n\n }\n\n {\n // expiry\n\n let memberValue0 := mload(add(value, 0x0100))\n abi_encode_t_struct$_Expiry_$3768_memory_ptr_to_t_struct$_Expiry_$3768_memory_ptr(memberValue0, add(pos, 0x0100))\n }\n\n end := tail\n }\n\n function abi_encode_tuple_t_struct$_HederaToken_$3807_memory_ptr__to_t_struct$_HederaToken_$3807_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_HederaToken_$3807_memory_ptr_to_t_struct$_HederaToken_$3807_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_address_payable(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address_payable(value) {\n if iszero(eq(value, cleanup_t_address_payable(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_payable_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address_payable(value)\n }\n\n function abi_decode_tuple_t_int32t_address_payable_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address_payable_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value0, pos) -> updatedPos {\n updatedPos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr(value0, pos)\n }\n\n function array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // bytes[] -> bytes[]\n function abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(pos, length)\n let headStart := pos\n let tail := add(pos, mul(length, 0x20))\n let baseRef := array_dataslot_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, sub(tail, headStart))\n let elementValue0 := mload(srcPtr)\n tail := abi_encodeUpdatedPos_t_bytes_memory_ptr_to_t_bytes_memory_ptr(elementValue0, tail)\n srcPtr := array_nextElement_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr(srcPtr)\n pos := add(pos, 0x20)\n }\n pos := tail\n end := pos\n }\n\n function abi_encode_tuple_t_address_t_int64_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__to_t_address_t_int64_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_int64_to_t_int64_fromStack(value1, add(headStart, 32))\n\n mstore(add(headStart, 64), sub(tail, headStart))\n tail := abi_encode_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_to_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_fromStack(value2, tail)\n\n }\n\n function abi_decode_t_int64_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_int64(value)\n }\n\n function array_allocation_size_t_array$_t_int64_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n // int64[]\n function abi_decode_available_length_t_array$_t_int64_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_int64_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_int64_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // int64[]\n function abi_decode_t_array$_t_int64_$dyn_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_array$_t_int64_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_int32t_int64t_array$_t_int64_$dyn_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int32_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_int64_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value2 := abi_decode_t_array$_t_int64_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_address_t_int64__to_t_address_t_address_t_address_t_int64__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_int64_to_t_int64_fromStack(value3, add(headStart, 96))\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n","id":6,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"60806040526004361061009c5760003560e01c80639b23d3d9116100645780639b23d3d9146101c1578063b6c907a6146101fe578063c985c6521461022e578063d689332f1461026b578063e0a6ad65146102a8578063f1d9d8df146102e55761009c565b806302f6ef87146100a157806315dacbea146100de578063618dc65e1461011b578063836993e2146101595780638da5cb5b14610196575b600080fd5b3480156100ad57600080fd5b506100c860048036038101906100c3919061141d565b610322565b6040516100d5919061148b565b60405180910390f35b3480156100ea57600080fd5b5061010560048036038101906101009190611508565b610355565b604051610112919061157e565b60405180910390f35b34801561012757600080fd5b50610142600480360381019061013d91906116df565b610473565b6040516101509291906117d3565b60405180910390f35b34801561016557600080fd5b50610180600480360381019061017b919061141d565b6105cf565b60405161018d919061181e565b60405180910390f35b3480156101a257600080fd5b506101ab6105ff565b6040516101b8919061148b565b60405180910390f35b3480156101cd57600080fd5b506101e860048036038101906101e39190611508565b610625565b6040516101f5919061157e565b60405180910390f35b610218600480360381019061021391906118da565b610743565b604051610225919061148b565b60405180910390f35b34801561023a57600080fd5b506102556004803603810190610250919061141d565b61096b565b604051610262919061148b565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d919061141d565b6109ae565b60405161029f919061181e565b60405180910390f35b3480156102b457600080fd5b506102cf60048036038101906102ca9190611a8f565b6109ce565b6040516102dc919061157e565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190611afe565b610b54565b6040516103199190611b3e565b60405180910390f35b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061016773ffffffffffffffffffffffffffffffffffffffff166315dacbea60e01b888888886040516024016103929493929190611b68565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103fc9190611be9565b6000604051808303816000865af19150503d8060008114610439576040519150601f19603f3d011682016040523d82523d6000602084013e61043e565b606091505b50915091508161044f576015610464565b808060200190518101906104639190611c39565b5b60030b92505050949350505050565b6000606060008061016773ffffffffffffffffffffffffffffffffffffffff1663618dc65e60e01b87876040516024016104ae929190611c66565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105189190611be9565b6000604051808303816000865af19150503d8060008114610555576040519150601f19603f3d011682016040523d82523d6000602084013e61055a565b606091505b50915091507f4af4780e06fe8cb9df64b0794fa6f01399af979175bb988e35e0e57e594567bc8282604051610590929190611c96565b60405180910390a1816105b4576015604051806020016040528060008152506105b8565b6016815b8160030b9150809450819550505050509250929050565b6000600460008360070b60070b815260200190815260200160002060009054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061016773ffffffffffffffffffffffffffffffffffffffff16639b23d3d960e01b888888886040516024016106629493929190611b68565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516106cc9190611be9565b6000604051808303816000865af19150503d8060008114610709576040519150601f19603f3d011682016040523d82523d6000602084013e61070e565b606091505b50915091508161071f576015610734565b808060200190518101906107339190611c39565b5b60030b92505050949350505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cc90611d49565b60405180910390fd5b6000600167ffffffffffffffff8111156107f2576107f16115b4565b5b60405190808252806020026020018201604052801561082b57816020015b6108186112a7565b8152602001906001900390816108105790505b50905061083b6004600130610cf6565b8160008151811061084f5761084e611d69565b5b60200260200101819052506108626112c7565b87816000018190525086816020018190525085816060018190525030816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001816080019015159081151581525050848160a0019060070b908160070b81525050818160e0018190525060008160c00190151590811515815250506108fc3085610d2d565b81610100018190525060008061091183610d85565b91509150601660030b821461095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290611e0a565b60405180910390fd5b8094505050505095945050505050565b6000600360008360070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60046020528060005260406000206000915054906101000a900460ff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5790611d49565b60405180910390fd5b600080610a6f86600087610ef4565b9250509150601660030b8214610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190611e9c565b60405180910390fd5b836003600083600081518110610ad357610ad2611d69565b5b602002602001015160070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600081518110610b4157610b40611d69565b5b6020026020010151925050509392505050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf490611f2e565b60405180910390fd5b600460008360070b60070b815260200190815260200160002060009054906101000a900460ff1615610c64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5b90611f9a565b60405180910390fd5b6000610c728430338661106c565b9050601660030b8114610cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb19061202c565b60405180910390fd5b6001600460008560070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055508091505092915050565b610cfe6112a7565b6040518060400160405280610d128661118a565b8152602001610d2185856111cb565b81525090509392505050565b610d35611336565b82816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505081816040019060070b908160070b8152505092915050565b6000808260008161010001516000015160070b148015610db1575060008161010001516040015160070b145b15610dd4576276a70060030b8161010001516040019060070b908160070b815250505b60008061016773ffffffffffffffffffffffffffffffffffffffff163463ea83f29360e01b88604051602401610e0a91906123bf565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610e749190611be9565b60006040518083038185875af1925050503d8060008114610eb1576040519150601f19603f3d011682016040523d82523d6000602084013e610eb6565b606091505b509150915081610ec95760156000610ede565b80806020019051810190610edd919061241f565b5b8160030b91508095508196505050505050915091565b600080606060008061016773ffffffffffffffffffffffffffffffffffffffff1663e0f4059a60e01b898989604051602401610f3293929190612521565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610f9c9190611be9565b6000604051808303816000865af19150503d8060008114610fd9576040519150601f19603f3d011682016040523d82523d6000602084013e610fde565b606091505b50915091508161103a57601560008067ffffffffffffffff811115611006576110056115b4565b5b6040519080825280602002602001820160405280156110345781602001602082028036833780820191505090505b5061104f565b8080602001905181019061104e9190612637565b5b8260030b9250809550819650829750505050505093509350939050565b600080600061016773ffffffffffffffffffffffffffffffffffffffff16635cfc901160e01b888888886040516024016110a994939291906126a6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516111139190611be9565b6000604051808303816000865af19150503d8060008114611150576040519150601f19603f3d011682016040523d82523d6000602084013e611155565b606091505b50915091508161116657601561117b565b8080602001905181019061117a9190611c39565b5b60030b92505050949350505050565b6000600160008360068111156111a3576111a26126eb565b5b60068111156111b5576111b46126eb565b5b8152602001908152602001600020549050919050565b6111d3611373565b600160048111156111e7576111e66126eb565b5b8360048111156111fa576111f96126eb565b5b0361123c5781816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506112a1565b60048081111561124f5761124e6126eb565b5b836004811115611262576112616126eb565b5b036112a05781816080019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b5b92915050565b6040518060400160405280600081526020016112c1611373565b81525090565b6040518061012001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001600015158152602001600060070b815260200160001515815260200160608152602001611330611336565b81525090565b6040518060600160405280600060070b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060070b81525090565b6040518060a00160405280600015158152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b60008160070b9050919050565b6113fa816113e4565b811461140557600080fd5b50565b600081359050611417816113f1565b92915050565b600060208284031215611433576114326113da565b5b600061144184828501611408565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114758261144a565b9050919050565b6114858161146a565b82525050565b60006020820190506114a0600083018461147c565b92915050565b6114af8161146a565b81146114ba57600080fd5b50565b6000813590506114cc816114a6565b92915050565b6000819050919050565b6114e5816114d2565b81146114f057600080fd5b50565b600081359050611502816114dc565b92915050565b60008060008060808587031215611522576115216113da565b5b6000611530878288016114bd565b9450506020611541878288016114bd565b9350506040611552878288016114bd565b9250506060611563878288016114f3565b91505092959194509250565b611578816113e4565b82525050565b6000602082019050611593600083018461156f565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6115ec826115a3565b810181811067ffffffffffffffff8211171561160b5761160a6115b4565b5b80604052505050565b600061161e6113d0565b905061162a82826115e3565b919050565b600067ffffffffffffffff82111561164a576116496115b4565b5b611653826115a3565b9050602081019050919050565b82818337600083830152505050565b600061168261167d8461162f565b611614565b90508281526020810184848401111561169e5761169d61159e565b5b6116a9848285611660565b509392505050565b600082601f8301126116c6576116c5611599565b5b81356116d684826020860161166f565b91505092915050565b600080604083850312156116f6576116f56113da565b5b6000611704858286016114bd565b925050602083013567ffffffffffffffff811115611725576117246113df565b5b611731858286016116b1565b9150509250929050565b6000819050919050565b61174e8161173b565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561178e578082015181840152602081019050611773565b60008484015250505050565b60006117a582611754565b6117af818561175f565b93506117bf818560208601611770565b6117c8816115a3565b840191505092915050565b60006040820190506117e86000830185611745565b81810360208301526117fa818461179a565b90509392505050565b60008115159050919050565b61181881611803565b82525050565b6000602082019050611833600083018461180f565b92915050565b600067ffffffffffffffff821115611854576118536115b4565b5b61185d826115a3565b9050602081019050919050565b600061187d61187884611839565b611614565b9050828152602081018484840111156118995761189861159e565b5b6118a4848285611660565b509392505050565b600082601f8301126118c1576118c0611599565b5b81356118d184826020860161186a565b91505092915050565b600080600080600060a086880312156118f6576118f56113da565b5b600086013567ffffffffffffffff811115611914576119136113df565b5b611920888289016118ac565b955050602086013567ffffffffffffffff811115611941576119406113df565b5b61194d888289016118ac565b945050604086013567ffffffffffffffff81111561196e5761196d6113df565b5b61197a888289016118ac565b935050606061198b88828901611408565b925050608061199c88828901611408565b9150509295509295909350565b600067ffffffffffffffff8211156119c4576119c36115b4565b5b602082029050602081019050919050565b600080fd5b60006119ed6119e8846119a9565b611614565b90508083825260208201905060208402830185811115611a1057611a0f6119d5565b5b835b81811015611a5757803567ffffffffffffffff811115611a3557611a34611599565b5b808601611a4289826116b1565b85526020850194505050602081019050611a12565b5050509392505050565b600082601f830112611a7657611a75611599565b5b8135611a868482602086016119da565b91505092915050565b600080600060608486031215611aa857611aa76113da565b5b6000611ab6868287016114bd565b935050602084013567ffffffffffffffff811115611ad757611ad66113df565b5b611ae386828701611a61565b9250506040611af4868287016114bd565b9150509250925092565b60008060408385031215611b1557611b146113da565b5b6000611b23858286016114bd565b9250506020611b3485828601611408565b9150509250929050565b6000602082019050611b536000830184611745565b92915050565b611b62816114d2565b82525050565b6000608082019050611b7d600083018761147c565b611b8a602083018661147c565b611b97604083018561147c565b611ba46060830184611b59565b95945050505050565b600081905092915050565b6000611bc382611754565b611bcd8185611bad565b9350611bdd818560208601611770565b80840191505092915050565b6000611bf58284611bb8565b915081905092915050565b60008160030b9050919050565b611c1681611c00565b8114611c2157600080fd5b50565b600081519050611c3381611c0d565b92915050565b600060208284031215611c4f57611c4e6113da565b5b6000611c5d84828501611c24565b91505092915050565b6000604082019050611c7b600083018561147c565b8181036020830152611c8d818461179a565b90509392505050565b6000604082019050611cab600083018561180f565b8181036020830152611cbd818461179a565b90509392505050565b600082825260208201905092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d33602183611cc6565b9150611d3e82611cd7565b604082019050919050565b60006020820190508181036000830152611d6281611d26565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4661696c656420746f20637265617465206e6f6e2d66756e6769626c6520746f60008201527f6b656e0000000000000000000000000000000000000000000000000000000000602082015250565b6000611df4602383611cc6565b9150611dff82611d98565b604082019050919050565b60006020820190508181036000830152611e2381611de7565b9050919050565b7f4661696c656420746f206d696e74206e6f6e2d66756e6769626c6520746f6b6560008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e86602183611cc6565b9150611e9182611e2a565b604082019050919050565b60006020820190508181036000830152611eb581611e79565b9050919050565b7f596f7520617265206e6f7420617574686f72697a656420746f20636c61696d2060008201527f74686973204e4654000000000000000000000000000000000000000000000000602082015250565b6000611f18602883611cc6565b9150611f2382611ebc565b604082019050919050565b60006020820190508181036000830152611f4781611f0b565b9050919050565b7f4e46542068617320616c7265616479206265656e20636c61696d656400000000600082015250565b6000611f84601c83611cc6565b9150611f8f82611f4e565b602082019050919050565b60006020820190508181036000830152611fb381611f77565b9050919050565b7f4661696c656420746f207472616e73666572206e6f6e2d66756e6769626c652060008201527f746f6b656e000000000000000000000000000000000000000000000000000000602082015250565b6000612016602583611cc6565b915061202182611fba565b604082019050919050565b6000602082019050818103600083015261204581612009565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006120738261204c565b61207d8185612057565b935061208d818560208601611770565b612096816115a3565b840191505092915050565b6120aa8161146a565b82525050565b6120b981611803565b82525050565b6120c8816113e4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612103816114d2565b82525050565b600082825260208201905092915050565b600061212582611754565b61212f8185612109565b935061213f818560208601611770565b612148816115a3565b840191505092915050565b600060a08301600083015161216b60008601826120b0565b50602083015161217e60208601826120a1565b5060408301518482036040860152612196828261211a565b915050606083015184820360608601526121b0828261211a565b91505060808301516121c560808601826120a1565b508091505092915050565b60006040830160008301516121e860008601826120fa565b50602083015184820360208601526122008282612153565b9150508091505092915050565b600061221983836121d0565b905092915050565b6000602082019050919050565b6000612239826120ce565b61224381856120d9565b935083602082028501612255856120ea565b8060005b858110156122915784840389528151612272858261220d565b945061227d83612221565b925060208a01995050600181019050612259565b50829750879550505050505092915050565b6060820160008201516122b960008501826120bf565b5060208201516122cc60208501826120a1565b5060408201516122df60408501826120bf565b50505050565b60006101608301600083015184820360008601526123038282612068565b9150506020830151848203602086015261231d8282612068565b915050604083015161233260408601826120a1565b506060830151848203606086015261234a8282612068565b915050608083015161235f60808601826120b0565b5060a083015161237260a08601826120bf565b5060c083015161238560c08601826120b0565b5060e083015184820360e086015261239d828261222e565b9150506101008301516123b46101008601826122a3565b508091505092915050565b600060208201905081810360008301526123d981846122e5565b905092915050565b60006123ec8261144a565b9050919050565b6123fc816123e1565b811461240757600080fd5b50565b600081519050612419816123f3565b92915050565b60008060408385031215612436576124356113da565b5b600061244485828601611c24565b92505060206124558582860161240a565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000612497838361211a565b905092915050565b6000602082019050919050565b60006124b78261245f565b6124c1818561246a565b9350836020820285016124d38561247b565b8060005b8581101561250f57848403895281516124f0858261248b565b94506124fb8361249f565b925060208a019950506001810190506124d7565b50829750879550505050505092915050565b6000606082019050612536600083018661147c565b612543602083018561156f565b818103604083015261255581846124ac565b9050949350505050565b60008151905061256e816113f1565b92915050565b600067ffffffffffffffff82111561258f5761258e6115b4565b5b602082029050602081019050919050565b60006125b36125ae84612574565b611614565b905080838252602082019050602084028301858111156125d6576125d56119d5565b5b835b818110156125ff57806125eb888261255f565b8452602084019350506020810190506125d8565b5050509392505050565b600082601f83011261261e5761261d611599565b5b815161262e8482602086016125a0565b91505092915050565b6000806000606084860312156126505761264f6113da565b5b600061265e86828701611c24565b935050602061266f8682870161255f565b925050604084015167ffffffffffffffff8111156126905761268f6113df565b5b61269c86828701612609565b9150509250925092565b60006080820190506126bb600083018761147c565b6126c8602083018661147c565b6126d5604083018561147c565b6126e2606083018461156f565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122051db1df0f20a3d0f46ca7dfe18c76da7431ff1e7db964cec45939efdbe0ea63064736f6c63430008120033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x9B23D3D9 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x9B23D3D9 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0xB6C907A6 EQ PUSH2 0x1FE JUMPI DUP1 PUSH4 0xC985C652 EQ PUSH2 0x22E JUMPI DUP1 PUSH4 0xD689332F EQ PUSH2 0x26B JUMPI DUP1 PUSH4 0xE0A6AD65 EQ PUSH2 0x2A8 JUMPI DUP1 PUSH4 0xF1D9D8DF EQ PUSH2 0x2E5 JUMPI PUSH2 0x9C JUMP JUMPDEST DUP1 PUSH4 0x2F6EF87 EQ PUSH2 0xA1 JUMPI DUP1 PUSH4 0x15DACBEA EQ PUSH2 0xDE JUMPI DUP1 PUSH4 0x618DC65E EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0x836993E2 EQ PUSH2 0x159 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x196 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xC8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0x141D JUMP JUMPDEST PUSH2 0x322 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD5 SWAP2 SWAP1 PUSH2 0x148B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x105 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x100 SWAP2 SWAP1 PUSH2 0x1508 JUMP JUMPDEST PUSH2 0x355 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x112 SWAP2 SWAP1 PUSH2 0x157E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x127 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x142 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x13D SWAP2 SWAP1 PUSH2 0x16DF JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x150 SWAP3 SWAP2 SWAP1 PUSH2 0x17D3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x165 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x180 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17B SWAP2 SWAP1 PUSH2 0x141D JUMP JUMPDEST PUSH2 0x5CF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18D SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1AB PUSH2 0x5FF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x148B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E3 SWAP2 SWAP1 PUSH2 0x1508 JUMP JUMPDEST PUSH2 0x625 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F5 SWAP2 SWAP1 PUSH2 0x157E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x218 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x213 SWAP2 SWAP1 PUSH2 0x18DA JUMP JUMPDEST PUSH2 0x743 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x225 SWAP2 SWAP1 PUSH2 0x148B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x23A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x255 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x250 SWAP2 SWAP1 PUSH2 0x141D JUMP JUMPDEST PUSH2 0x96B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x262 SWAP2 SWAP1 PUSH2 0x148B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x277 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x292 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x28D SWAP2 SWAP1 PUSH2 0x141D JUMP JUMPDEST PUSH2 0x9AE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29F SWAP2 SWAP1 PUSH2 0x181E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2CF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2CA SWAP2 SWAP1 PUSH2 0x1A8F JUMP JUMPDEST PUSH2 0x9CE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DC SWAP2 SWAP1 PUSH2 0x157E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x30C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x307 SWAP2 SWAP1 PUSH2 0x1AFE JUMP JUMPDEST PUSH2 0xB54 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x319 SWAP2 SWAP1 PUSH2 0x1B3E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x167 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x15DACBEA PUSH1 0xE0 SHL DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x392 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x3FC SWAP2 SWAP1 PUSH2 0x1BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x439 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x43E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x44F JUMPI PUSH1 0x15 PUSH2 0x464 JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x463 SWAP2 SWAP1 PUSH2 0x1C39 JUMP JUMPDEST JUMPDEST PUSH1 0x3 SIGNEXTEND SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 PUSH1 0x0 DUP1 PUSH2 0x167 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x618DC65E PUSH1 0xE0 SHL DUP8 DUP8 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x4AE SWAP3 SWAP2 SWAP1 PUSH2 0x1C66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x518 SWAP2 SWAP1 PUSH2 0x1BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x555 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x55A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH32 0x4AF4780E06FE8CB9DF64B0794FA6F01399AF979175BB988E35E0E57E594567BC DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x590 SWAP3 SWAP2 SWAP1 PUSH2 0x1C96 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP2 PUSH2 0x5B4 JUMPI PUSH1 0x15 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x5B8 JUMP JUMPDEST PUSH1 0x16 DUP2 JUMPDEST DUP2 PUSH1 0x3 SIGNEXTEND SWAP2 POP DUP1 SWAP5 POP DUP2 SWAP6 POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x167 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x9B23D3D9 PUSH1 0xE0 SHL DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x662 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x6CC SWAP2 SWAP1 PUSH2 0x1BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x709 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x70E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x71F JUMPI PUSH1 0x15 PUSH2 0x734 JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x733 SWAP2 SWAP1 PUSH2 0x1C39 JUMP JUMPDEST JUMPDEST PUSH1 0x3 SIGNEXTEND SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x7D5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7CC SWAP1 PUSH2 0x1D49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x7F2 JUMPI PUSH2 0x7F1 PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x82B JUMPI DUP2 PUSH1 0x20 ADD JUMPDEST PUSH2 0x818 PUSH2 0x12A7 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 SWAP1 SUB SWAP1 DUP2 PUSH2 0x810 JUMPI SWAP1 POP JUMPDEST POP SWAP1 POP PUSH2 0x83B PUSH1 0x4 PUSH1 0x1 ADDRESS PUSH2 0xCF6 JUMP JUMPDEST DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x84F JUMPI PUSH2 0x84E PUSH2 0x1D69 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD DUP2 SWAP1 MSTORE POP PUSH2 0x862 PUSH2 0x12C7 JUMP JUMPDEST DUP8 DUP2 PUSH1 0x0 ADD DUP2 SWAP1 MSTORE POP DUP7 DUP2 PUSH1 0x20 ADD DUP2 SWAP1 MSTORE POP DUP6 DUP2 PUSH1 0x60 ADD DUP2 SWAP1 MSTORE POP ADDRESS DUP2 PUSH1 0x40 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH1 0x1 DUP2 PUSH1 0x80 ADD SWAP1 ISZERO ISZERO SWAP1 DUP2 ISZERO ISZERO DUP2 MSTORE POP POP DUP5 DUP2 PUSH1 0xA0 ADD SWAP1 PUSH1 0x7 SIGNEXTEND SWAP1 DUP2 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE POP POP DUP2 DUP2 PUSH1 0xE0 ADD DUP2 SWAP1 MSTORE POP PUSH1 0x0 DUP2 PUSH1 0xC0 ADD SWAP1 ISZERO ISZERO SWAP1 DUP2 ISZERO ISZERO DUP2 MSTORE POP POP PUSH2 0x8FC ADDRESS DUP6 PUSH2 0xD2D JUMP JUMPDEST DUP2 PUSH2 0x100 ADD DUP2 SWAP1 MSTORE POP PUSH1 0x0 DUP1 PUSH2 0x911 DUP4 PUSH2 0xD85 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH1 0x16 PUSH1 0x3 SIGNEXTEND DUP3 EQ PUSH2 0x95B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x952 SWAP1 PUSH2 0x1E0A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP5 POP POP POP POP POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xA60 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA57 SWAP1 PUSH2 0x1D49 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xA6F DUP7 PUSH1 0x0 DUP8 PUSH2 0xEF4 JUMP JUMPDEST SWAP3 POP POP SWAP2 POP PUSH1 0x16 PUSH1 0x3 SIGNEXTEND DUP3 EQ PUSH2 0xABA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xAB1 SWAP1 PUSH2 0x1E9C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP4 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0xAD3 JUMPI PUSH2 0xAD2 PUSH2 0x1D69 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0xB41 JUMPI PUSH2 0xB40 PUSH2 0x1D69 JUMP JUMPDEST JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP3 POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xBFD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBF4 SWAP1 PUSH2 0x1F2E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xC64 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xC5B SWAP1 PUSH2 0x1F9A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xC72 DUP5 ADDRESS CALLER DUP7 PUSH2 0x106C JUMP JUMPDEST SWAP1 POP PUSH1 0x16 PUSH1 0x3 SIGNEXTEND DUP2 EQ PUSH2 0xCBA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xCB1 SWAP1 PUSH2 0x202C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 DUP6 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xCFE PUSH2 0x12A7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH2 0xD12 DUP7 PUSH2 0x118A JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xD21 DUP6 DUP6 PUSH2 0x11CB JUMP JUMPDEST DUP2 MSTORE POP SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xD35 PUSH2 0x1336 JUMP JUMPDEST DUP3 DUP2 PUSH1 0x20 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP DUP2 DUP2 PUSH1 0x40 ADD SWAP1 PUSH1 0x7 SIGNEXTEND SWAP1 DUP2 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 PUSH1 0x0 DUP2 PUSH2 0x100 ADD MLOAD PUSH1 0x0 ADD MLOAD PUSH1 0x7 SIGNEXTEND EQ DUP1 ISZERO PUSH2 0xDB1 JUMPI POP PUSH1 0x0 DUP2 PUSH2 0x100 ADD MLOAD PUSH1 0x40 ADD MLOAD PUSH1 0x7 SIGNEXTEND EQ JUMPDEST ISZERO PUSH2 0xDD4 JUMPI PUSH3 0x76A700 PUSH1 0x3 SIGNEXTEND DUP2 PUSH2 0x100 ADD MLOAD PUSH1 0x40 ADD SWAP1 PUSH1 0x7 SIGNEXTEND SWAP1 DUP2 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE POP POP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x167 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLVALUE PUSH4 0xEA83F293 PUSH1 0xE0 SHL DUP9 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0xE0A SWAP2 SWAP1 PUSH2 0x23BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0xE74 SWAP2 SWAP1 PUSH2 0x1BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xEB1 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xEB6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0xEC9 JUMPI PUSH1 0x15 PUSH1 0x0 PUSH2 0xEDE JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0xEDD SWAP2 SWAP1 PUSH2 0x241F JUMP JUMPDEST JUMPDEST DUP2 PUSH1 0x3 SIGNEXTEND SWAP2 POP DUP1 SWAP6 POP DUP2 SWAP7 POP POP POP POP POP POP SWAP2 POP SWAP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x60 PUSH1 0x0 DUP1 PUSH2 0x167 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xE0F4059A PUSH1 0xE0 SHL DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0xF32 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2521 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0xF9C SWAP2 SWAP1 PUSH2 0x1BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xFD9 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xFDE JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x103A JUMPI PUSH1 0x15 PUSH1 0x0 DUP1 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1006 JUMPI PUSH2 0x1005 PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1034 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x20 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP PUSH2 0x104F JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x104E SWAP2 SWAP1 PUSH2 0x2637 JUMP JUMPDEST JUMPDEST DUP3 PUSH1 0x3 SIGNEXTEND SWAP3 POP DUP1 SWAP6 POP DUP2 SWAP7 POP DUP3 SWAP8 POP POP POP POP POP POP SWAP4 POP SWAP4 POP SWAP4 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x167 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x5CFC9011 PUSH1 0xE0 SHL DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x10A9 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x26A6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH1 0x40 MLOAD PUSH2 0x1113 SWAP2 SWAP1 PUSH2 0x1BE9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1150 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x1155 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x1166 JUMPI PUSH1 0x15 PUSH2 0x117B JUMP JUMPDEST DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x117A SWAP2 SWAP1 PUSH2 0x1C39 JUMP JUMPDEST JUMPDEST PUSH1 0x3 SIGNEXTEND SWAP3 POP POP POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x11A3 JUMPI PUSH2 0x11A2 PUSH2 0x26EB JUMP JUMPDEST JUMPDEST PUSH1 0x6 DUP2 GT ISZERO PUSH2 0x11B5 JUMPI PUSH2 0x11B4 PUSH2 0x26EB JUMP JUMPDEST JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x11D3 PUSH2 0x1373 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x11E7 JUMPI PUSH2 0x11E6 PUSH2 0x26EB JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x11FA JUMPI PUSH2 0x11F9 PUSH2 0x26EB JUMP JUMPDEST JUMPDEST SUB PUSH2 0x123C JUMPI DUP2 DUP2 PUSH1 0x20 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP PUSH2 0x12A1 JUMP JUMPDEST PUSH1 0x4 DUP1 DUP2 GT ISZERO PUSH2 0x124F JUMPI PUSH2 0x124E PUSH2 0x26EB JUMP JUMPDEST JUMPDEST DUP4 PUSH1 0x4 DUP2 GT ISZERO PUSH2 0x1262 JUMPI PUSH2 0x1261 PUSH2 0x26EB JUMP JUMPDEST JUMPDEST SUB PUSH2 0x12A0 JUMPI DUP2 DUP2 PUSH1 0x80 ADD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP POP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12C1 PUSH2 0x1373 JUMP JUMPDEST DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x120 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1330 PUSH2 0x1336 JUMP JUMPDEST DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x7 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x13FA DUP2 PUSH2 0x13E4 JUMP JUMPDEST DUP2 EQ PUSH2 0x1405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1417 DUP2 PUSH2 0x13F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1433 JUMPI PUSH2 0x1432 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1441 DUP5 DUP3 DUP6 ADD PUSH2 0x1408 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1475 DUP3 PUSH2 0x144A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1485 DUP2 PUSH2 0x146A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x14A0 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x147C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14AF DUP2 PUSH2 0x146A JUMP JUMPDEST DUP2 EQ PUSH2 0x14BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x14CC DUP2 PUSH2 0x14A6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x14E5 DUP2 PUSH2 0x14D2 JUMP JUMPDEST DUP2 EQ PUSH2 0x14F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1502 DUP2 PUSH2 0x14DC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1522 JUMPI PUSH2 0x1521 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1530 DUP8 DUP3 DUP9 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0x1541 DUP8 DUP3 DUP9 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 PUSH2 0x1552 DUP8 DUP3 DUP9 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 PUSH2 0x1563 DUP8 DUP3 DUP9 ADD PUSH2 0x14F3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH2 0x1578 DUP2 PUSH2 0x13E4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1593 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x156F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x15EC DUP3 PUSH2 0x15A3 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x160B JUMPI PUSH2 0x160A PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x161E PUSH2 0x13D0 JUMP JUMPDEST SWAP1 POP PUSH2 0x162A DUP3 DUP3 PUSH2 0x15E3 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x164A JUMPI PUSH2 0x1649 PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST PUSH2 0x1653 DUP3 PUSH2 0x15A3 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1682 PUSH2 0x167D DUP5 PUSH2 0x162F JUMP JUMPDEST PUSH2 0x1614 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x169E JUMPI PUSH2 0x169D PUSH2 0x159E JUMP JUMPDEST JUMPDEST PUSH2 0x16A9 DUP5 DUP3 DUP6 PUSH2 0x1660 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x16C6 JUMPI PUSH2 0x16C5 PUSH2 0x1599 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x16D6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x166F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x16F6 JUMPI PUSH2 0x16F5 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1704 DUP6 DUP3 DUP7 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1725 JUMPI PUSH2 0x1724 PUSH2 0x13DF JUMP JUMPDEST JUMPDEST PUSH2 0x1731 DUP6 DUP3 DUP7 ADD PUSH2 0x16B1 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x174E DUP2 PUSH2 0x173B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x178E JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1773 JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 ADD MSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x17A5 DUP3 PUSH2 0x1754 JUMP JUMPDEST PUSH2 0x17AF DUP2 DUP6 PUSH2 0x175F JUMP JUMPDEST SWAP4 POP PUSH2 0x17BF DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1770 JUMP JUMPDEST PUSH2 0x17C8 DUP2 PUSH2 0x15A3 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x17E8 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x1745 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x17FA DUP2 DUP5 PUSH2 0x179A JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1818 DUP2 PUSH2 0x1803 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1833 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x180F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1854 JUMPI PUSH2 0x1853 PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST PUSH2 0x185D DUP3 PUSH2 0x15A3 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x187D PUSH2 0x1878 DUP5 PUSH2 0x1839 JUMP JUMPDEST PUSH2 0x1614 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x1899 JUMPI PUSH2 0x1898 PUSH2 0x159E JUMP JUMPDEST JUMPDEST PUSH2 0x18A4 DUP5 DUP3 DUP6 PUSH2 0x1660 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x18C1 JUMPI PUSH2 0x18C0 PUSH2 0x1599 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x18D1 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x186A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x18F6 JUMPI PUSH2 0x18F5 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1914 JUMPI PUSH2 0x1913 PUSH2 0x13DF JUMP JUMPDEST JUMPDEST PUSH2 0x1920 DUP9 DUP3 DUP10 ADD PUSH2 0x18AC JUMP JUMPDEST SWAP6 POP POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1941 JUMPI PUSH2 0x1940 PUSH2 0x13DF JUMP JUMPDEST JUMPDEST PUSH2 0x194D DUP9 DUP3 DUP10 ADD PUSH2 0x18AC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x196E JUMPI PUSH2 0x196D PUSH2 0x13DF JUMP JUMPDEST JUMPDEST PUSH2 0x197A DUP9 DUP3 DUP10 ADD PUSH2 0x18AC JUMP JUMPDEST SWAP4 POP POP PUSH1 0x60 PUSH2 0x198B DUP9 DUP3 DUP10 ADD PUSH2 0x1408 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x80 PUSH2 0x199C DUP9 DUP3 DUP10 ADD PUSH2 0x1408 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x19C4 JUMPI PUSH2 0x19C3 PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x19ED PUSH2 0x19E8 DUP5 PUSH2 0x19A9 JUMP JUMPDEST PUSH2 0x1614 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x1A10 JUMPI PUSH2 0x1A0F PUSH2 0x19D5 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1A57 JUMPI DUP1 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1A35 JUMPI PUSH2 0x1A34 PUSH2 0x1599 JUMP JUMPDEST JUMPDEST DUP1 DUP7 ADD PUSH2 0x1A42 DUP10 DUP3 PUSH2 0x16B1 JUMP JUMPDEST DUP6 MSTORE PUSH1 0x20 DUP6 ADD SWAP5 POP POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1A12 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1A76 JUMPI PUSH2 0x1A75 PUSH2 0x1599 JUMP JUMPDEST JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1A86 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x19DA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1AA8 JUMPI PUSH2 0x1AA7 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1AB6 DUP7 DUP3 DUP8 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1AD7 JUMPI PUSH2 0x1AD6 PUSH2 0x13DF JUMP JUMPDEST JUMPDEST PUSH2 0x1AE3 DUP7 DUP3 DUP8 ADD PUSH2 0x1A61 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1AF4 DUP7 DUP3 DUP8 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1B15 JUMPI PUSH2 0x1B14 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1B23 DUP6 DUP3 DUP7 ADD PUSH2 0x14BD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1B34 DUP6 DUP3 DUP7 ADD PUSH2 0x1408 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1B53 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1745 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x1B62 DUP2 PUSH2 0x14D2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x1B7D PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x1B8A PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x1B97 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x1BA4 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1B59 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BC3 DUP3 PUSH2 0x1754 JUMP JUMPDEST PUSH2 0x1BCD DUP2 DUP6 PUSH2 0x1BAD JUMP JUMPDEST SWAP4 POP PUSH2 0x1BDD DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1770 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1BF5 DUP3 DUP5 PUSH2 0x1BB8 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C16 DUP2 PUSH2 0x1C00 JUMP JUMPDEST DUP2 EQ PUSH2 0x1C21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x1C33 DUP2 PUSH2 0x1C0D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C4F JUMPI PUSH2 0x1C4E PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x1C5D DUP5 DUP3 DUP6 ADD PUSH2 0x1C24 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1C7B PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x147C JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1C8D DUP2 DUP5 PUSH2 0x179A JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1CAB PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x180F JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0x1CBD DUP2 DUP5 PUSH2 0x179A JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4F6E6C79206F776E65722063616E2063616C6C20746869732066756E6374696F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1D33 PUSH1 0x21 DUP4 PUSH2 0x1CC6 JUMP JUMPDEST SWAP2 POP PUSH2 0x1D3E DUP3 PUSH2 0x1CD7 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1D62 DUP2 PUSH2 0x1D26 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4661696C656420746F20637265617465206E6F6E2D66756E6769626C6520746F PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6B656E0000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1DF4 PUSH1 0x23 DUP4 PUSH2 0x1CC6 JUMP JUMPDEST SWAP2 POP PUSH2 0x1DFF DUP3 PUSH2 0x1D98 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1E23 DUP2 PUSH2 0x1DE7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4661696C656420746F206D696E74206E6F6E2D66756E6769626C6520746F6B65 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E00000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E86 PUSH1 0x21 DUP4 PUSH2 0x1CC6 JUMP JUMPDEST SWAP2 POP PUSH2 0x1E91 DUP3 PUSH2 0x1E2A JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1EB5 DUP2 PUSH2 0x1E79 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x596F7520617265206E6F7420617574686F72697A656420746F20636C61696D20 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x74686973204E4654000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F18 PUSH1 0x28 DUP4 PUSH2 0x1CC6 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F23 DUP3 PUSH2 0x1EBC JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1F47 DUP2 PUSH2 0x1F0B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E46542068617320616C7265616479206265656E20636C61696D656400000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F84 PUSH1 0x1C DUP4 PUSH2 0x1CC6 JUMP JUMPDEST SWAP2 POP PUSH2 0x1F8F DUP3 PUSH2 0x1F4E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1FB3 DUP2 PUSH2 0x1F77 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4661696C656420746F207472616E73666572206E6F6E2D66756E6769626C6520 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x746F6B656E000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2016 PUSH1 0x25 DUP4 PUSH2 0x1CC6 JUMP JUMPDEST SWAP2 POP PUSH2 0x2021 DUP3 PUSH2 0x1FBA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2045 DUP2 PUSH2 0x2009 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2073 DUP3 PUSH2 0x204C JUMP JUMPDEST PUSH2 0x207D DUP2 DUP6 PUSH2 0x2057 JUMP JUMPDEST SWAP4 POP PUSH2 0x208D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1770 JUMP JUMPDEST PUSH2 0x2096 DUP2 PUSH2 0x15A3 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x20AA DUP2 PUSH2 0x146A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x20B9 DUP2 PUSH2 0x1803 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x20C8 DUP2 PUSH2 0x13E4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2103 DUP2 PUSH2 0x14D2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2125 DUP3 PUSH2 0x1754 JUMP JUMPDEST PUSH2 0x212F DUP2 DUP6 PUSH2 0x2109 JUMP JUMPDEST SWAP4 POP PUSH2 0x213F DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x1770 JUMP JUMPDEST PUSH2 0x2148 DUP2 PUSH2 0x15A3 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x216B PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x20B0 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x217E PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x20A1 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x2196 DUP3 DUP3 PUSH2 0x211A JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x21B0 DUP3 DUP3 PUSH2 0x211A JUMP JUMPDEST SWAP2 POP POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x21C5 PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x20A1 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x21E8 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x20FA JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x2200 DUP3 DUP3 PUSH2 0x2153 JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2219 DUP4 DUP4 PUSH2 0x21D0 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2239 DUP3 PUSH2 0x20CE JUMP JUMPDEST PUSH2 0x2243 DUP2 DUP6 PUSH2 0x20D9 JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x2255 DUP6 PUSH2 0x20EA JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x2291 JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x2272 DUP6 DUP3 PUSH2 0x220D JUMP JUMPDEST SWAP5 POP PUSH2 0x227D DUP4 PUSH2 0x2221 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x2259 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0x22B9 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0x20BF JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0x22CC PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0x20A1 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x22DF PUSH1 0x40 DUP6 ADD DUP3 PUSH2 0x20BF JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x160 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x0 DUP7 ADD MSTORE PUSH2 0x2303 DUP3 DUP3 PUSH2 0x2068 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0x231D DUP3 DUP3 PUSH2 0x2068 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x2332 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x20A1 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x60 DUP7 ADD MSTORE PUSH2 0x234A DUP3 DUP3 PUSH2 0x2068 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x80 DUP4 ADD MLOAD PUSH2 0x235F PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x20B0 JUMP JUMPDEST POP PUSH1 0xA0 DUP4 ADD MLOAD PUSH2 0x2372 PUSH1 0xA0 DUP7 ADD DUP3 PUSH2 0x20BF JUMP JUMPDEST POP PUSH1 0xC0 DUP4 ADD MLOAD PUSH2 0x2385 PUSH1 0xC0 DUP7 ADD DUP3 PUSH2 0x20B0 JUMP JUMPDEST POP PUSH1 0xE0 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x239D DUP3 DUP3 PUSH2 0x222E JUMP JUMPDEST SWAP2 POP POP PUSH2 0x100 DUP4 ADD MLOAD PUSH2 0x23B4 PUSH2 0x100 DUP7 ADD DUP3 PUSH2 0x22A3 JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x23D9 DUP2 DUP5 PUSH2 0x22E5 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23EC DUP3 PUSH2 0x144A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x23FC DUP2 PUSH2 0x23E1 JUMP JUMPDEST DUP2 EQ PUSH2 0x2407 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2419 DUP2 PUSH2 0x23F3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2436 JUMPI PUSH2 0x2435 PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x2444 DUP6 DUP3 DUP7 ADD PUSH2 0x1C24 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x2455 DUP6 DUP3 DUP7 ADD PUSH2 0x240A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2497 DUP4 DUP4 PUSH2 0x211A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24B7 DUP3 PUSH2 0x245F JUMP JUMPDEST PUSH2 0x24C1 DUP2 DUP6 PUSH2 0x246A JUMP JUMPDEST SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0x24D3 DUP6 PUSH2 0x247B JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP6 DUP2 LT ISZERO PUSH2 0x250F JUMPI DUP5 DUP5 SUB DUP10 MSTORE DUP2 MLOAD PUSH2 0x24F0 DUP6 DUP3 PUSH2 0x248B JUMP JUMPDEST SWAP5 POP PUSH2 0x24FB DUP4 PUSH2 0x249F JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP11 ADD SWAP10 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0x24D7 JUMP JUMPDEST POP DUP3 SWAP8 POP DUP8 SWAP6 POP POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x2536 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x2543 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x156F JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x40 DUP4 ADD MSTORE PUSH2 0x2555 DUP2 DUP5 PUSH2 0x24AC JUMP JUMPDEST SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x256E DUP2 PUSH2 0x13F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x258F JUMPI PUSH2 0x258E PUSH2 0x15B4 JUMP JUMPDEST JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25B3 PUSH2 0x25AE DUP5 PUSH2 0x2574 JUMP JUMPDEST PUSH2 0x1614 JUMP JUMPDEST SWAP1 POP DUP1 DUP4 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0x20 DUP5 MUL DUP4 ADD DUP6 DUP2 GT ISZERO PUSH2 0x25D6 JUMPI PUSH2 0x25D5 PUSH2 0x19D5 JUMP JUMPDEST JUMPDEST DUP4 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x25FF JUMPI DUP1 PUSH2 0x25EB DUP9 DUP3 PUSH2 0x255F JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP POP PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x25D8 JUMP JUMPDEST POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x261E JUMPI PUSH2 0x261D PUSH2 0x1599 JUMP JUMPDEST JUMPDEST DUP2 MLOAD PUSH2 0x262E DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x25A0 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2650 JUMPI PUSH2 0x264F PUSH2 0x13DA JUMP JUMPDEST JUMPDEST PUSH1 0x0 PUSH2 0x265E DUP7 DUP3 DUP8 ADD PUSH2 0x1C24 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x266F DUP7 DUP3 DUP8 ADD PUSH2 0x255F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2690 JUMPI PUSH2 0x268F PUSH2 0x13DF JUMP JUMPDEST JUMPDEST PUSH2 0x269C DUP7 DUP3 DUP8 ADD PUSH2 0x2609 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP3 ADD SWAP1 POP PUSH2 0x26BB PUSH1 0x0 DUP4 ADD DUP8 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x26C8 PUSH1 0x20 DUP4 ADD DUP7 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x26D5 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x147C JUMP JUMPDEST PUSH2 0x26E2 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x156F JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MLOAD 0xDB SAR CREATE CALLCODE EXP RETURNDATASIZE 0xF CHAINID 0xCA PUSH30 0xFE18C76DA7431FF1E7DB964CEC45939EFDBE0EA63064736F6C6343000812 STOP CALLER ","sourceMap":"262:3061:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;434:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18823:411:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;41965:517;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;3217:104:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;336:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19760:429:3;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;757:1060:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3092:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;538:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1823:515;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2344:700;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;434:47;;;;;;;;;;;;;;;;;;;;;;:::o;18823:411:3:-;18920:18;18955:12;18969:19;267:5;18992:22;;19051:41;;;19110:5;19117:4;19123:2;19127:6;19028:106;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18992:143;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18954:181;;;;19160:7;:67;;2577:2:2;19160:67:3;;;19181:6;19170:27;;;;;;;;;;;;:::i;:::-;19160:67;19145:82;;;;18944:290;;18823:411;;;;;;:::o;41965:517::-;42062:16;42080:21;42114:12;42128:19;267:5;42151:22;;42210:45;;;42257:5;42264:23;42187:101;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42151:147;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42113:185;;;;42314:34;42332:7;42341:6;42314:34;;;;;;;:::i;:::-;;;;;;;;42385:7;:90;;2577:2:2;42465:9:3;;;;;;;;;;;;42385:90;;;2723:2:2;42425:6:3;42385:90;42358:117;;;;;;;;;;;;;42103:379;;41965:517;;;;;:::o;3217:104:0:-;3276:4;3299:7;:15;3307:6;3299:15;;;;;;;;;;;;;;;;;;;;;;;;;3292:22;;3217:104;;;:::o;336:20::-;;;;;;;;;;;;;:::o;19760:429:3:-;19866:18;19901:12;19915:19;267:5;19938:22;;19997:44;;;20059:5;20066:4;20072:2;20076:12;19974:115;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19938:152;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19900:190;;;;20115:7;:67;;2577:2:2;20115:67:3;;;20136:6;20125:27;;;;;;;;;;;;:::i;:::-;20115:67;20100:82;;;;19890:299;;19760:429;;;;;;:::o;757:1060:0:-;960:7;690:5;;;;;;;;;;;676:19;;:10;:19;;;668:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;979:42:::1;1059:1;1024:37;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;979:82;;1081:69;1094:14;1110:24;1144:4;1081:12;:69::i;:::-;1071:4;1076:1;1071:7;;;;;;;;:::i;:::-;;;;;;;:79;;;;1161:44;;:::i;:::-;1228:4;1215:5;:10;;:17;;;;1257:6;1242:5;:12;;:21;;;;1286:4;1273:5;:10;;:17;;;;1325:4;1300:5;:14;;:30;;;;;;;;;::::0;::::1;1364:4;1340:5;:21;;:28;;;;;;;;;::::0;::::1;1396:9;1378:5;:15;;:27;;;;;;;;;::::0;::::1;1433:4;1415:5;:15;;:22;;;;1469:5;1447;:19;;:27;;;;;;;;;::::0;::::1;1499:53;1529:4;1536:15;1499:21;:53::i;:::-;1484:5;:12;;:68;;;;1564:16;1582:20:::0;1606:48:::1;1648:5;1606:41;:48::i;:::-;1563:91;;;;2723:2:2;1668:43:0;;:12;:43;1665:117;;1726:45;;;;;;;;;;:::i;:::-;;;;;;;;1665:117;1798:12;1791:19;;;;;;757:1060:::0;;;;;;;:::o;3092:119::-;3156:7;3182:14;:22;3197:6;3182:22;;;;;;;;;;;;;;;;;;;;;;;;;3175:29;;3092:119;;;:::o;538:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;1823:515::-;1968:5;690;;;;;;;;;;;676:19;;:10;:19;;;668:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;1986:12:::1;2002:21:::0;2027:48:::1;2056:5;2063:1;2066:8;2027:28;:48::i;:::-;1985:90;;;;;2723:2:2;2089:39:0;;:8;:39;2086:111;;2143:43;;;;;;;;;;:::i;:::-;;;;;;;;2086:111;2290:14;2262;:25;2277:6;2284:1;2277:9;;;;;;;;:::i;:::-;;;;;;;;2262:25;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;2322:6;2329:1;2322:9;;;;;;;;:::i;:::-;;;;;;;;2315:16;;;;1823:515:::0;;;;;:::o;2344:700::-;2430:3;2546:10;2520:36;;:14;:22;2535:6;2520:22;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;2512:89;;;;;;;;;;;;:::i;:::-;;;;;;;;;2672:7;:15;2680:6;2672:15;;;;;;;;;;;;;;;;;;;;;;;;;2671:16;2663:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;2731:12;2746:72;2777:5;2792:4;2799:10;2811:6;2746:30;:72::i;:::-;2731:87;;2723:2:2;2832:39:0;;:8;:39;2829:115;;2886:47;;;;;;;;;;:::i;:::-;;;;;;;;2829:115;3007:4;2989:7;:15;2997:6;2989:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;3029:8;3022:15;;;2344:700;;;;:::o;2685:291:5:-;2817:44;;:::i;:::-;2884:85;;;;;;;;2913:19;2924:7;2913:10;:19::i;:::-;2884:85;;;;2934:34;2950:12;2964:3;2934:15;:34::i;:::-;2884:85;;;2873:96;;2685:291;;;;;:::o;180:276:1:-;305:40;;:::i;:::-;383:16;357:6;:23;;:42;;;;;;;;;;;434:15;409:6;:22;;:40;;;;;;;;;;;180:276;;;;:::o;12055:486:3:-;12177:16;12195:20;12148:5;470:1;447:5;:12;;;:19;;;:24;;;:61;;;;;507:1;475:5;:12;;;:28;;;:33;;;447:61;443:145;;;345:7;524:53;;:5;:12;;;:28;;:53;;;;;;;;;;;443:145;12228:12:::1;12242:19:::0;267:5:::1;12265:22;;12296:9;12343:51;;;12396:5;12320:82;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12265:138;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12227:176;;;;12444:7;:90;;2577:2:2;12531:1:3;12444:90;;;12465:6;12454:36;;;;;;;;;;;;:::i;:::-;12444:90;12413:121;;;;;;;;;;;;;12217:324;;12055:486:::0;;;;:::o;2545:577::-;2640:16;2658:20;2680:28;2725:12;2739:19;267:5;2762:22;;2821:38;;;2877:5;2884:6;2892:8;2798:103;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2762:140;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2724:178;;;;2972:7;:143;;2577:2:2;3096:1:3;3112;3100:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2972:143;;;3009:6;2998:43;;;;;;;;;;;;:::i;:::-;2972:143;2912:203;;;;;;;;;;;;;;;;;2714:408;;2545:577;;;;;;;:::o;33180:437::-;33292:16;33325:12;33339:19;267:5;33362:22;;33421:40;;;33479:5;33486:6;33494:8;33504:12;33398:119;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33362:156;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;33324:194;;;;33543:7;:67;;2577:2:2;33543:67:3;;;33564:6;33553:27;;;;;;;;;;;;:::i;:::-;33543:67;33528:82;;;;33314:303;;33180:437;;;;;;:::o;4059:110:5:-;4119:7;4145:8;:17;4154:7;4145:17;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;4138:24;;4059:110;;;:::o;4913:408::-;5020:44;;:::i;:::-;5100:24;5084:40;;;;;;;;:::i;:::-;;:12;:40;;;;;;;;:::i;:::-;;;5080:235;;5162:10;5140:8;:19;;:32;;;;;;;;;;;5080:235;;;5209:36;5193:52;;;;;;;;:::i;:::-;;:12;:52;;;;;;;;:::i;:::-;;;5189:126;;5294:10;5261:8;:30;;:43;;;;;;;;;;;5189:126;5080:235;4913:408;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:75:6:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:90;369:7;412:5;409:1;398:20;387:31;;334:90;;;:::o;430:118::-;501:22;517:5;501:22;:::i;:::-;494:5;491:33;481:61;;538:1;535;528:12;481:61;430:118;:::o;554:135::-;598:5;636:6;623:20;614:29;;652:31;677:5;652:31;:::i;:::-;554:135;;;;:::o;695:325::-;752:6;801:2;789:9;780:7;776:23;772:32;769:119;;;807:79;;:::i;:::-;769:119;927:1;952:51;995:7;986:6;975:9;971:22;952:51;:::i;:::-;942:61;;898:115;695:325;;;;:::o;1026:126::-;1063:7;1103:42;1096:5;1092:54;1081:65;;1026:126;;;:::o;1158:96::-;1195:7;1224:24;1242:5;1224:24;:::i;:::-;1213:35;;1158:96;;;:::o;1260:118::-;1347:24;1365:5;1347:24;:::i;:::-;1342:3;1335:37;1260:118;;:::o;1384:222::-;1477:4;1515:2;1504:9;1500:18;1492:26;;1528:71;1596:1;1585:9;1581:17;1572:6;1528:71;:::i;:::-;1384:222;;;;:::o;1612:122::-;1685:24;1703:5;1685:24;:::i;:::-;1678:5;1675:35;1665:63;;1724:1;1721;1714:12;1665:63;1612:122;:::o;1740:139::-;1786:5;1824:6;1811:20;1802:29;;1840:33;1867:5;1840:33;:::i;:::-;1740:139;;;;:::o;1885:77::-;1922:7;1951:5;1940:16;;1885:77;;;:::o;1968:122::-;2041:24;2059:5;2041:24;:::i;:::-;2034:5;2031:35;2021:63;;2080:1;2077;2070:12;2021:63;1968:122;:::o;2096:139::-;2142:5;2180:6;2167:20;2158:29;;2196:33;2223:5;2196:33;:::i;:::-;2096:139;;;;:::o;2241:765::-;2327:6;2335;2343;2351;2400:3;2388:9;2379:7;2375:23;2371:33;2368:120;;;2407:79;;:::i;:::-;2368:120;2527:1;2552:53;2597:7;2588:6;2577:9;2573:22;2552:53;:::i;:::-;2542:63;;2498:117;2654:2;2680:53;2725:7;2716:6;2705:9;2701:22;2680:53;:::i;:::-;2670:63;;2625:118;2782:2;2808:53;2853:7;2844:6;2833:9;2829:22;2808:53;:::i;:::-;2798:63;;2753:118;2910:2;2936:53;2981:7;2972:6;2961:9;2957:22;2936:53;:::i;:::-;2926:63;;2881:118;2241:765;;;;;;;:::o;3012:112::-;3095:22;3111:5;3095:22;:::i;:::-;3090:3;3083:35;3012:112;;:::o;3130:214::-;3219:4;3257:2;3246:9;3242:18;3234:26;;3270:67;3334:1;3323:9;3319:17;3310:6;3270:67;:::i;:::-;3130:214;;;;:::o;3350:117::-;3459:1;3456;3449:12;3473:117;3582:1;3579;3572:12;3596:102;3637:6;3688:2;3684:7;3679:2;3672:5;3668:14;3664:28;3654:38;;3596:102;;;:::o;3704:180::-;3752:77;3749:1;3742:88;3849:4;3846:1;3839:15;3873:4;3870:1;3863:15;3890:281;3973:27;3995:4;3973:27;:::i;:::-;3965:6;3961:40;4103:6;4091:10;4088:22;4067:18;4055:10;4052:34;4049:62;4046:88;;;4114:18;;:::i;:::-;4046:88;4154:10;4150:2;4143:22;3933:238;3890:281;;:::o;4177:129::-;4211:6;4238:20;;:::i;:::-;4228:30;;4267:33;4295:4;4287:6;4267:33;:::i;:::-;4177:129;;;:::o;4312:307::-;4373:4;4463:18;4455:6;4452:30;4449:56;;;4485:18;;:::i;:::-;4449:56;4523:29;4545:6;4523:29;:::i;:::-;4515:37;;4607:4;4601;4597:15;4589:23;;4312:307;;;:::o;4625:146::-;4722:6;4717:3;4712;4699:30;4763:1;4754:6;4749:3;4745:16;4738:27;4625:146;;;:::o;4777:423::-;4854:5;4879:65;4895:48;4936:6;4895:48;:::i;:::-;4879:65;:::i;:::-;4870:74;;4967:6;4960:5;4953:21;5005:4;4998:5;4994:16;5043:3;5034:6;5029:3;5025:16;5022:25;5019:112;;;5050:79;;:::i;:::-;5019:112;5140:54;5187:6;5182:3;5177;5140:54;:::i;:::-;4860:340;4777:423;;;;;:::o;5219:338::-;5274:5;5323:3;5316:4;5308:6;5304:17;5300:27;5290:122;;5331:79;;:::i;:::-;5290:122;5448:6;5435:20;5473:78;5547:3;5539:6;5532:4;5524:6;5520:17;5473:78;:::i;:::-;5464:87;;5280:277;5219:338;;;;:::o;5563:652::-;5640:6;5648;5697:2;5685:9;5676:7;5672:23;5668:32;5665:119;;;5703:79;;:::i;:::-;5665:119;5823:1;5848:53;5893:7;5884:6;5873:9;5869:22;5848:53;:::i;:::-;5838:63;;5794:117;5978:2;5967:9;5963:18;5950:32;6009:18;6001:6;5998:30;5995:117;;;6031:79;;:::i;:::-;5995:117;6136:62;6190:7;6181:6;6170:9;6166:22;6136:62;:::i;:::-;6126:72;;5921:287;5563:652;;;;;:::o;6221:76::-;6257:7;6286:5;6275:16;;6221:76;;;:::o;6303:115::-;6388:23;6405:5;6388:23;:::i;:::-;6383:3;6376:36;6303:115;;:::o;6424:98::-;6475:6;6509:5;6503:12;6493:22;;6424:98;;;:::o;6528:168::-;6611:11;6645:6;6640:3;6633:19;6685:4;6680:3;6676:14;6661:29;;6528:168;;;;:::o;6702:246::-;6783:1;6793:113;6807:6;6804:1;6801:13;6793:113;;;6892:1;6887:3;6883:11;6877:18;6873:1;6868:3;6864:11;6857:39;6829:2;6826:1;6822:10;6817:15;;6793:113;;;6940:1;6931:6;6926:3;6922:16;6915:27;6764:184;6702:246;;;:::o;6954:373::-;7040:3;7068:38;7100:5;7068:38;:::i;:::-;7122:70;7185:6;7180:3;7122:70;:::i;:::-;7115:77;;7201:65;7259:6;7254:3;7247:4;7240:5;7236:16;7201:65;:::i;:::-;7291:29;7313:6;7291:29;:::i;:::-;7286:3;7282:39;7275:46;;7044:283;6954:373;;;;:::o;7333:415::-;7470:4;7508:2;7497:9;7493:18;7485:26;;7521:69;7587:1;7576:9;7572:17;7563:6;7521:69;:::i;:::-;7637:9;7631:4;7627:20;7622:2;7611:9;7607:18;7600:48;7665:76;7736:4;7727:6;7665:76;:::i;:::-;7657:84;;7333:415;;;;;:::o;7754:90::-;7788:7;7831:5;7824:13;7817:21;7806:32;;7754:90;;;:::o;7850:109::-;7931:21;7946:5;7931:21;:::i;:::-;7926:3;7919:34;7850:109;;:::o;7965:210::-;8052:4;8090:2;8079:9;8075:18;8067:26;;8103:65;8165:1;8154:9;8150:17;8141:6;8103:65;:::i;:::-;7965:210;;;;:::o;8181:308::-;8243:4;8333:18;8325:6;8322:30;8319:56;;;8355:18;;:::i;:::-;8319:56;8393:29;8415:6;8393:29;:::i;:::-;8385:37;;8477:4;8471;8467:15;8459:23;;8181:308;;;:::o;8495:425::-;8573:5;8598:66;8614:49;8656:6;8614:49;:::i;:::-;8598:66;:::i;:::-;8589:75;;8687:6;8680:5;8673:21;8725:4;8718:5;8714:16;8763:3;8754:6;8749:3;8745:16;8742:25;8739:112;;;8770:79;;:::i;:::-;8739:112;8860:54;8907:6;8902:3;8897;8860:54;:::i;:::-;8579:341;8495:425;;;;;:::o;8940:340::-;8996:5;9045:3;9038:4;9030:6;9026:17;9022:27;9012:122;;9053:79;;:::i;:::-;9012:122;9170:6;9157:20;9195:79;9270:3;9262:6;9255:4;9247:6;9243:17;9195:79;:::i;:::-;9186:88;;9002:278;8940:340;;;;:::o;9286:1443::-;9407:6;9415;9423;9431;9439;9488:3;9476:9;9467:7;9463:23;9459:33;9456:120;;;9495:79;;:::i;:::-;9456:120;9643:1;9632:9;9628:17;9615:31;9673:18;9665:6;9662:30;9659:117;;;9695:79;;:::i;:::-;9659:117;9800:63;9855:7;9846:6;9835:9;9831:22;9800:63;:::i;:::-;9790:73;;9586:287;9940:2;9929:9;9925:18;9912:32;9971:18;9963:6;9960:30;9957:117;;;9993:79;;:::i;:::-;9957:117;10098:63;10153:7;10144:6;10133:9;10129:22;10098:63;:::i;:::-;10088:73;;9883:288;10238:2;10227:9;10223:18;10210:32;10269:18;10261:6;10258:30;10255:117;;;10291:79;;:::i;:::-;10255:117;10396:63;10451:7;10442:6;10431:9;10427:22;10396:63;:::i;:::-;10386:73;;10181:288;10508:2;10534:51;10577:7;10568:6;10557:9;10553:22;10534:51;:::i;:::-;10524:61;;10479:116;10634:3;10661:51;10704:7;10695:6;10684:9;10680:22;10661:51;:::i;:::-;10651:61;;10605:117;9286:1443;;;;;;;;:::o;10735:320::-;10821:4;10911:18;10903:6;10900:30;10897:56;;;10933:18;;:::i;:::-;10897:56;10983:4;10975:6;10971:17;10963:25;;11043:4;11037;11033:15;11025:23;;10735:320;;;:::o;11061:117::-;11170:1;11167;11160:12;11199:942;11304:5;11329:90;11345:73;11411:6;11345:73;:::i;:::-;11329:90;:::i;:::-;11320:99;;11439:5;11468:6;11461:5;11454:21;11502:4;11495:5;11491:16;11484:23;;11555:4;11547:6;11543:17;11535:6;11531:30;11584:3;11576:6;11573:15;11570:122;;;11603:79;;:::i;:::-;11570:122;11718:6;11701:434;11735:6;11730:3;11727:15;11701:434;;;11824:3;11811:17;11860:18;11847:11;11844:35;11841:122;;;11882:79;;:::i;:::-;11841:122;12006:11;11998:6;11994:24;12044:46;12086:3;12074:10;12044:46;:::i;:::-;12039:3;12032:59;12120:4;12115:3;12111:14;12104:21;;11777:358;;11761:4;11756:3;11752:14;11745:21;;11701:434;;;11705:21;11310:831;;11199:942;;;;;:::o;12162:388::-;12242:5;12291:3;12284:4;12276:6;12272:17;12268:27;12258:122;;12299:79;;:::i;:::-;12258:122;12416:6;12403:20;12441:103;12540:3;12532:6;12525:4;12517:6;12513:17;12441:103;:::i;:::-;12432:112;;12248:302;12162:388;;;;:::o;12556:847::-;12667:6;12675;12683;12732:2;12720:9;12711:7;12707:23;12703:32;12700:119;;;12738:79;;:::i;:::-;12700:119;12858:1;12883:53;12928:7;12919:6;12908:9;12904:22;12883:53;:::i;:::-;12873:63;;12829:117;13013:2;13002:9;12998:18;12985:32;13044:18;13036:6;13033:30;13030:117;;;13066:79;;:::i;:::-;13030:117;13171:87;13250:7;13241:6;13230:9;13226:22;13171:87;:::i;:::-;13161:97;;12956:312;13307:2;13333:53;13378:7;13369:6;13358:9;13354:22;13333:53;:::i;:::-;13323:63;;13278:118;12556:847;;;;;:::o;13409:470::-;13475:6;13483;13532:2;13520:9;13511:7;13507:23;13503:32;13500:119;;;13538:79;;:::i;:::-;13500:119;13658:1;13683:53;13728:7;13719:6;13708:9;13704:22;13683:53;:::i;:::-;13673:63;;13629:117;13785:2;13811:51;13854:7;13845:6;13834:9;13830:22;13811:51;:::i;:::-;13801:61;;13756:116;13409:470;;;;;:::o;13885:218::-;13976:4;14014:2;14003:9;13999:18;13991:26;;14027:69;14093:1;14082:9;14078:17;14069:6;14027:69;:::i;:::-;13885:218;;;;:::o;14109:118::-;14196:24;14214:5;14196:24;:::i;:::-;14191:3;14184:37;14109:118;;:::o;14233:553::-;14410:4;14448:3;14437:9;14433:19;14425:27;;14462:71;14530:1;14519:9;14515:17;14506:6;14462:71;:::i;:::-;14543:72;14611:2;14600:9;14596:18;14587:6;14543:72;:::i;:::-;14625;14693:2;14682:9;14678:18;14669:6;14625:72;:::i;:::-;14707;14775:2;14764:9;14760:18;14751:6;14707:72;:::i;:::-;14233:553;;;;;;;:::o;14792:147::-;14893:11;14930:3;14915:18;;14792:147;;;;:::o;14945:386::-;15049:3;15077:38;15109:5;15077:38;:::i;:::-;15131:88;15212:6;15207:3;15131:88;:::i;:::-;15124:95;;15228:65;15286:6;15281:3;15274:4;15267:5;15263:16;15228:65;:::i;:::-;15318:6;15313:3;15309:16;15302:23;;15053:278;14945:386;;;;:::o;15337:271::-;15467:3;15489:93;15578:3;15569:6;15489:93;:::i;:::-;15482:100;;15599:3;15592:10;;15337:271;;;;:::o;15614:90::-;15649:7;15692:5;15689:1;15678:20;15667:31;;15614:90;;;:::o;15710:118::-;15781:22;15797:5;15781:22;:::i;:::-;15774:5;15771:33;15761:61;;15818:1;15815;15808:12;15761:61;15710:118;:::o;15834:139::-;15889:5;15920:6;15914:13;15905:22;;15936:31;15961:5;15936:31;:::i;:::-;15834:139;;;;:::o;15979:347::-;16047:6;16096:2;16084:9;16075:7;16071:23;16067:32;16064:119;;;16102:79;;:::i;:::-;16064:119;16222:1;16247:62;16301:7;16292:6;16281:9;16277:22;16247:62;:::i;:::-;16237:72;;16193:126;15979:347;;;;:::o;16332:419::-;16471:4;16509:2;16498:9;16494:18;16486:26;;16522:71;16590:1;16579:9;16575:17;16566:6;16522:71;:::i;:::-;16640:9;16634:4;16630:20;16625:2;16614:9;16610:18;16603:48;16668:76;16739:4;16730:6;16668:76;:::i;:::-;16660:84;;16332:419;;;;;:::o;16757:407::-;16890:4;16928:2;16917:9;16913:18;16905:26;;16941:65;17003:1;16992:9;16988:17;16979:6;16941:65;:::i;:::-;17053:9;17047:4;17043:20;17038:2;17027:9;17023:18;17016:48;17081:76;17152:4;17143:6;17081:76;:::i;:::-;17073:84;;16757:407;;;;;:::o;17170:169::-;17254:11;17288:6;17283:3;17276:19;17328:4;17323:3;17319:14;17304:29;;17170:169;;;;:::o;17345:220::-;17485:34;17481:1;17473:6;17469:14;17462:58;17554:3;17549:2;17541:6;17537:15;17530:28;17345:220;:::o;17571:366::-;17713:3;17734:67;17798:2;17793:3;17734:67;:::i;:::-;17727:74;;17810:93;17899:3;17810:93;:::i;:::-;17928:2;17923:3;17919:12;17912:19;;17571:366;;;:::o;17943:419::-;18109:4;18147:2;18136:9;18132:18;18124:26;;18196:9;18190:4;18186:20;18182:1;18171:9;18167:17;18160:47;18224:131;18350:4;18224:131;:::i;:::-;18216:139;;17943:419;;;:::o;18368:180::-;18416:77;18413:1;18406:88;18513:4;18510:1;18503:15;18537:4;18534:1;18527:15;18554:222;18694:34;18690:1;18682:6;18678:14;18671:58;18763:5;18758:2;18750:6;18746:15;18739:30;18554:222;:::o;18782:366::-;18924:3;18945:67;19009:2;19004:3;18945:67;:::i;:::-;18938:74;;19021:93;19110:3;19021:93;:::i;:::-;19139:2;19134:3;19130:12;19123:19;;18782:366;;;:::o;19154:419::-;19320:4;19358:2;19347:9;19343:18;19335:26;;19407:9;19401:4;19397:20;19393:1;19382:9;19378:17;19371:47;19435:131;19561:4;19435:131;:::i;:::-;19427:139;;19154:419;;;:::o;19579:220::-;19719:34;19715:1;19707:6;19703:14;19696:58;19788:3;19783:2;19775:6;19771:15;19764:28;19579:220;:::o;19805:366::-;19947:3;19968:67;20032:2;20027:3;19968:67;:::i;:::-;19961:74;;20044:93;20133:3;20044:93;:::i;:::-;20162:2;20157:3;20153:12;20146:19;;19805:366;;;:::o;20177:419::-;20343:4;20381:2;20370:9;20366:18;20358:26;;20430:9;20424:4;20420:20;20416:1;20405:9;20401:17;20394:47;20458:131;20584:4;20458:131;:::i;:::-;20450:139;;20177:419;;;:::o;20602:227::-;20742:34;20738:1;20730:6;20726:14;20719:58;20811:10;20806:2;20798:6;20794:15;20787:35;20602:227;:::o;20835:366::-;20977:3;20998:67;21062:2;21057:3;20998:67;:::i;:::-;20991:74;;21074:93;21163:3;21074:93;:::i;:::-;21192:2;21187:3;21183:12;21176:19;;20835:366;;;:::o;21207:419::-;21373:4;21411:2;21400:9;21396:18;21388:26;;21460:9;21454:4;21450:20;21446:1;21435:9;21431:17;21424:47;21488:131;21614:4;21488:131;:::i;:::-;21480:139;;21207:419;;;:::o;21632:178::-;21772:30;21768:1;21760:6;21756:14;21749:54;21632:178;:::o;21816:366::-;21958:3;21979:67;22043:2;22038:3;21979:67;:::i;:::-;21972:74;;22055:93;22144:3;22055:93;:::i;:::-;22173:2;22168:3;22164:12;22157:19;;21816:366;;;:::o;22188:419::-;22354:4;22392:2;22381:9;22377:18;22369:26;;22441:9;22435:4;22431:20;22427:1;22416:9;22412:17;22405:47;22469:131;22595:4;22469:131;:::i;:::-;22461:139;;22188:419;;;:::o;22613:224::-;22753:34;22749:1;22741:6;22737:14;22730:58;22822:7;22817:2;22809:6;22805:15;22798:32;22613:224;:::o;22843:366::-;22985:3;23006:67;23070:2;23065:3;23006:67;:::i;:::-;22999:74;;23082:93;23171:3;23082:93;:::i;:::-;23200:2;23195:3;23191:12;23184:19;;22843:366;;;:::o;23215:419::-;23381:4;23419:2;23408:9;23404:18;23396:26;;23468:9;23462:4;23458:20;23454:1;23443:9;23439:17;23432:47;23496:131;23622:4;23496:131;:::i;:::-;23488:139;;23215:419;;;:::o;23640:99::-;23692:6;23726:5;23720:12;23710:22;;23640:99;;;:::o;23745:159::-;23819:11;23853:6;23848:3;23841:19;23893:4;23888:3;23884:14;23869:29;;23745:159;;;;:::o;23910:357::-;23988:3;24016:39;24049:5;24016:39;:::i;:::-;24071:61;24125:6;24120:3;24071:61;:::i;:::-;24064:68;;24141:65;24199:6;24194:3;24187:4;24180:5;24176:16;24141:65;:::i;:::-;24231:29;24253:6;24231:29;:::i;:::-;24226:3;24222:39;24215:46;;23992:275;23910:357;;;;:::o;24273:108::-;24350:24;24368:5;24350:24;:::i;:::-;24345:3;24338:37;24273:108;;:::o;24387:99::-;24458:21;24473:5;24458:21;:::i;:::-;24453:3;24446:34;24387:99;;:::o;24492:102::-;24565:22;24581:5;24565:22;:::i;:::-;24560:3;24553:35;24492:102;;:::o;24600:140::-;24693:6;24727:5;24721:12;24711:22;;24600:140;;;:::o;24746:200::-;24861:11;24895:6;24890:3;24883:19;24935:4;24930:3;24926:14;24911:29;;24746:200;;;;:::o;24952:158::-;25045:4;25068:3;25060:11;;25098:4;25093:3;25089:14;25081:22;;24952:158;;;:::o;25116:108::-;25193:24;25211:5;25193:24;:::i;:::-;25188:3;25181:37;25116:108;;:::o;25230:158::-;25303:11;25337:6;25332:3;25325:19;25377:4;25372:3;25368:14;25353:29;;25230:158;;;;:::o;25394:353::-;25470:3;25498:38;25530:5;25498:38;:::i;:::-;25552:60;25605:6;25600:3;25552:60;:::i;:::-;25545:67;;25621:65;25679:6;25674:3;25667:4;25660:5;25656:16;25621:65;:::i;:::-;25711:29;25733:6;25711:29;:::i;:::-;25706:3;25702:39;25695:46;;25474:273;25394:353;;;;:::o;25835:1231::-;25946:3;25982:4;25977:3;25973:14;26082:4;26075:5;26071:16;26065:23;26101:57;26152:4;26147:3;26143:14;26129:12;26101:57;:::i;:::-;25997:171;26256:4;26249:5;26245:16;26239:23;26275:63;26332:4;26327:3;26323:14;26309:12;26275:63;:::i;:::-;26178:170;26433:4;26426:5;26422:16;26416:23;26486:3;26480:4;26476:14;26469:4;26464:3;26460:14;26453:38;26512:71;26578:4;26564:12;26512:71;:::i;:::-;26504:79;;26358:236;26687:4;26680:5;26676:16;26670:23;26740:3;26734:4;26730:14;26723:4;26718:3;26714:14;26707:38;26766:71;26832:4;26818:12;26766:71;:::i;:::-;26758:79;;26604:244;26947:4;26940:5;26936:16;26930:23;26966:63;27023:4;27018:3;27014:14;27000:12;26966:63;:::i;:::-;26858:181;27056:4;27049:11;;25951:1115;25835:1231;;;;:::o;27154:632::-;27265:3;27301:4;27296:3;27292:14;27391:4;27384:5;27380:16;27374:23;27410:63;27467:4;27462:3;27458:14;27444:12;27410:63;:::i;:::-;27316:167;27564:4;27557:5;27553:16;27547:23;27617:3;27611:4;27607:14;27600:4;27595:3;27591:14;27584:38;27643:105;27743:4;27729:12;27643:105;:::i;:::-;27635:113;;27493:266;27776:4;27769:11;;27270:516;27154:632;;;;:::o;27792:260::-;27913:10;27948:98;28042:3;28034:6;27948:98;:::i;:::-;27934:112;;27792:260;;;;:::o;28058:139::-;28154:4;28186;28181:3;28177:14;28169:22;;28058:139;;;:::o;28289:1099::-;28450:3;28479:80;28553:5;28479:80;:::i;:::-;28575:102;28670:6;28665:3;28575:102;:::i;:::-;28568:109;;28703:3;28748:4;28740:6;28736:17;28731:3;28727:27;28778:82;28854:5;28778:82;:::i;:::-;28883:7;28914:1;28899:444;28924:6;28921:1;28918:13;28899:444;;;28995:9;28989:4;28985:20;28980:3;28973:33;29046:6;29040:13;29074:116;29185:4;29170:13;29074:116;:::i;:::-;29066:124;;29213:86;29292:6;29213:86;:::i;:::-;29203:96;;29328:4;29323:3;29319:14;29312:21;;28959:384;28946:1;28943;28939:9;28934:14;;28899:444;;;28903:14;29359:4;29352:11;;29379:3;29372:10;;28455:933;;;;;28289:1099;;;;:::o;29472:686::-;29607:4;29602:3;29598:14;29696:4;29689:5;29685:16;29679:23;29715:59;29768:4;29763:3;29759:14;29745:12;29715:59;:::i;:::-;29622:162;29878:4;29871:5;29867:16;29861:23;29897:63;29954:4;29949:3;29945:14;29931:12;29897:63;:::i;:::-;29794:176;30063:4;30056:5;30052:16;30046:23;30082:59;30135:4;30130:3;30126:14;30112:12;30082:59;:::i;:::-;29980:171;29576:582;29472:686;;:::o;30252:2203::-;30379:3;30415:6;30410:3;30406:16;30504:4;30497:5;30493:16;30487:23;30557:3;30551:4;30547:14;30540:4;30535:3;30531:14;30524:38;30583:73;30651:4;30637:12;30583:73;:::i;:::-;30575:81;;30432:235;30751:4;30744:5;30740:16;30734:23;30804:3;30798:4;30794:14;30787:4;30782:3;30778:14;30771:38;30830:73;30898:4;30884:12;30830:73;:::i;:::-;30822:81;;30677:237;31000:4;30993:5;30989:16;30983:23;31019:63;31076:4;31071:3;31067:14;31053:12;31019:63;:::i;:::-;30924:168;31174:4;31167:5;31163:16;31157:23;31227:3;31221:4;31217:14;31210:4;31205:3;31201:14;31194:38;31253:73;31321:4;31307:12;31253:73;:::i;:::-;31245:81;;31102:235;31430:4;31423:5;31419:16;31413:23;31449:57;31500:4;31495:3;31491:14;31477:12;31449:57;:::i;:::-;31347:169;31603:4;31596:5;31592:16;31586:23;31622:59;31675:4;31670:3;31666:14;31652:12;31622:59;:::i;:::-;31526:165;31782:4;31775:5;31771:16;31765:23;31801:57;31852:4;31847:3;31843:14;31829:12;31801:57;:::i;:::-;31701:167;31955:4;31948:5;31944:16;31938:23;32008:3;32002:4;31998:14;31991:4;31986:3;31982:14;31975:38;32034:155;32184:4;32170:12;32034:155;:::i;:::-;32026:163;;31878:322;32284:6;32277:5;32273:18;32267:25;32305:113;32410:6;32405:3;32401:16;32387:12;32305:113;:::i;:::-;32210:218;32445:4;32438:11;;30384:2071;30252:2203;;;;:::o;32461:389::-;32612:4;32650:2;32639:9;32635:18;32627:26;;32699:9;32693:4;32689:20;32685:1;32674:9;32670:17;32663:47;32727:116;32838:4;32829:6;32727:116;:::i;:::-;32719:124;;32461:389;;;;:::o;32856:104::-;32901:7;32930:24;32948:5;32930:24;:::i;:::-;32919:35;;32856:104;;;:::o;32966:138::-;33047:32;33073:5;33047:32;:::i;:::-;33040:5;33037:43;33027:71;;33094:1;33091;33084:12;33027:71;32966:138;:::o;33110:159::-;33175:5;33206:6;33200:13;33191:22;;33222:41;33257:5;33222:41;:::i;:::-;33110:159;;;;:::o;33275:519::-;33360:6;33368;33417:2;33405:9;33396:7;33392:23;33388:32;33385:119;;;33423:79;;:::i;:::-;33385:119;33543:1;33568:62;33622:7;33613:6;33602:9;33598:22;33568:62;:::i;:::-;33558:72;;33514:126;33679:2;33705:72;33769:7;33760:6;33749:9;33745:22;33705:72;:::i;:::-;33695:82;;33650:137;33275:519;;;;;:::o;33800:123::-;33876:6;33910:5;33904:12;33894:22;;33800:123;;;:::o;33929:193::-;34037:11;34071:6;34066:3;34059:19;34111:4;34106:3;34102:14;34087:29;;33929:193;;;;:::o;34128:141::-;34204:4;34227:3;34219:11;;34257:4;34252:3;34248:14;34240:22;;34128:141;;;:::o;34275:192::-;34362:10;34397:64;34457:3;34449:6;34397:64;:::i;:::-;34383:78;;34275:192;;;;:::o;34473:122::-;34552:4;34584;34579:3;34575:14;34567:22;;34473:122;;;:::o;34627:983::-;34764:3;34793:63;34850:5;34793:63;:::i;:::-;34872:95;34960:6;34955:3;34872:95;:::i;:::-;34865:102;;34993:3;35038:4;35030:6;35026:17;35021:3;35017:27;35068:65;35127:5;35068:65;:::i;:::-;35156:7;35187:1;35172:393;35197:6;35194:1;35191:13;35172:393;;;35268:9;35262:4;35258:20;35253:3;35246:33;35319:6;35313:13;35347:82;35424:4;35409:13;35347:82;:::i;:::-;35339:90;;35452:69;35514:6;35452:69;:::i;:::-;35442:79;;35550:4;35545:3;35541:14;35534:21;;35232:333;35219:1;35216;35212:9;35207:14;;35172:393;;;35176:14;35581:4;35574:11;;35601:3;35594:10;;34769:841;;;;;34627:983;;;;:::o;35616:621::-;35829:4;35867:2;35856:9;35852:18;35844:26;;35880:71;35948:1;35937:9;35933:17;35924:6;35880:71;:::i;:::-;35961:68;36025:2;36014:9;36010:18;36001:6;35961:68;:::i;:::-;36076:9;36070:4;36066:20;36061:2;36050:9;36046:18;36039:48;36104:126;36225:4;36216:6;36104:126;:::i;:::-;36096:134;;35616:621;;;;;;:::o;36243:139::-;36298:5;36329:6;36323:13;36314:22;;36345:31;36370:5;36345:31;:::i;:::-;36243:139;;;;:::o;36388:309::-;36463:4;36553:18;36545:6;36542:30;36539:56;;;36575:18;;:::i;:::-;36539:56;36625:4;36617:6;36613:17;36605:25;;36685:4;36679;36675:15;36667:23;;36388:309;;;:::o;36718:726::-;36823:5;36848:79;36864:62;36919:6;36864:62;:::i;:::-;36848:79;:::i;:::-;36839:88;;36947:5;36976:6;36969:5;36962:21;37010:4;37003:5;36999:16;36992:23;;37063:4;37055:6;37051:17;37043:6;37039:30;37092:3;37084:6;37081:15;37078:122;;;37111:79;;:::i;:::-;37078:122;37226:6;37209:229;37243:6;37238:3;37235:15;37209:229;;;37318:3;37347:46;37389:3;37377:10;37347:46;:::i;:::-;37342:3;37335:59;37423:4;37418:3;37414:14;37407:21;;37285:153;37269:4;37264:3;37260:14;37253:21;;37209:229;;;37213:21;36829:615;;36718:726;;;;;:::o;37465:381::-;37545:5;37594:3;37587:4;37579:6;37575:17;37571:27;37561:122;;37602:79;;:::i;:::-;37561:122;37712:6;37706:13;37737:103;37836:3;37828:6;37821:4;37813:6;37809:17;37737:103;:::i;:::-;37728:112;;37551:295;37465:381;;;;:::o;37852:854::-;37959:6;37967;37975;38024:2;38012:9;38003:7;37999:23;37995:32;37992:119;;;38030:79;;:::i;:::-;37992:119;38150:1;38175:62;38229:7;38220:6;38209:9;38205:22;38175:62;:::i;:::-;38165:72;;38121:126;38286:2;38312:62;38366:7;38357:6;38346:9;38342:22;38312:62;:::i;:::-;38302:72;;38257:127;38444:2;38433:9;38429:18;38423:25;38475:18;38467:6;38464:30;38461:117;;;38497:79;;:::i;:::-;38461:117;38602:87;38681:7;38672:6;38661:9;38657:22;38602:87;:::i;:::-;38592:97;;38394:305;37852:854;;;;;:::o;38712:545::-;38885:4;38923:3;38912:9;38908:19;38900:27;;38937:71;39005:1;38994:9;38990:17;38981:6;38937:71;:::i;:::-;39018:72;39086:2;39075:9;39071:18;39062:6;39018:72;:::i;:::-;39100;39168:2;39157:9;39153:18;39144:6;39100:72;:::i;:::-;39182:68;39246:2;39235:9;39231:18;39222:6;39182:68;:::i;:::-;38712:545;;;;;;;:::o;39263:180::-;39311:77;39308:1;39301:88;39408:4;39405:1;39398:15;39432:4;39429:1;39422:15"},"methodIdentifiers":{"claimNft(address,int64)":"f1d9d8df","claimed(int64)":"d689332f","createNft(string,string,string,int64,int64)":"b6c907a6","getClaimerAddress(int64)":"c985c652","isNftClaimed(int64)":"836993e2","mintNftForUser(address,bytes[],address)":"e0a6ad65","nftClaimRights(int64)":"02f6ef87","owner()":"8da5cb5b","redirectForToken(address,bytes)":"618dc65e","transferFrom(address,address,address,uint256)":"15dacbea","transferFromNFT(address,address,address,uint256)":"9b23d3d9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"CallResponseEvent\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"serial\",\"type\":\"int64\"}],\"name\":\"claimNft\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"name\":\"claimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"int64\",\"name\":\"maxSupply\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"autoRenewPeriod\",\"type\":\"int64\"}],\"name\":\"createNft\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"serial\",\"type\":\"int64\"}],\"name\":\"getClaimerAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"serial\",\"type\":\"int64\"}],\"name\":\"isNftClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes[]\",\"name\":\"metadata\",\"type\":\"bytes[]\"},{\"internalType\":\"address\",\"name\":\"allowedClaimer\",\"type\":\"address\"}],\"name\":\"mintNftForUser\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"name\":\"nftClaimRights\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedFunctionSelector\",\"type\":\"bytes\"}],\"name\":\"redirectForToken\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"responseCode\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"response\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"serialNumber\",\"type\":\"uint256\"}],\"name\":\"transferFromNFT\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"redirectForToken(address,bytes)\":{\"params\":{\"encodedFunctionSelector\":\"The function selector from the ERC20 interface + the bytes input for the function called\",\"token\":\"The token address\"},\"returns\":{\"response\":\"The result of the call that had been encoded and sent for execution.\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"transferFrom(address,address,address,uint256)\":{\"params\":{\"amount\":\"The amount of tokens to transfer from `from` to `to`\",\"from\":\"The account address of the owner of the token, on the behalf of which to transfer `amount` tokens\",\"to\":\"The account address of the receiver of the `amount` tokens\",\"token\":\"The address of the fungible Hedera token to transfer\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"transferFromNFT(address,address,address,uint256)\":{\"params\":{\"from\":\"The account address of the owner of `serialNumber` of `token`\",\"serialNumber\":\"The NFT serial number to transfer\",\"to\":\"The account address of the receiver of `serialNumber`\",\"token\":\"The address of the non-fungible Hedera token to transfer\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"CallResponseEvent(bool,bytes)\":{\"notice\":\"Generic event\"}},\"kind\":\"user\",\"methods\":{\"redirectForToken(address,bytes)\":{\"notice\":\"Redirect for token\"},\"transferFrom(address,address,address,uint256)\":{\"notice\":\"Only applicable to fungible tokens\"},\"transferFromNFT(address,address,address,uint256)\":{\"notice\":\"Transfers `serialNumber` of `token` from `from` to `to` using the allowance mechanism. Only applicable to NFT tokens\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/NFTContract.sol\":\"NFTContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/NFTContract.sol\":{\"keccak256\":\"0x4f336a72d005e52a3471a53fd650726edf39270ce77bc8a4381228605cc37f1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66dc65adbe8a99038d5abe387670c4f19fa60f77bc29ab83b660269de7224702\",\"dweb:/ipfs/QmXrq27CuNmaQ982marhL3NWm3oZHBeKafFsg4tsU4r4Co\"]},\"contracts/utils/ExpiryHelper.sol\":{\"keccak256\":\"0xec1234c514c202ee7728ae6362b09750c1ac67a77c0ac900d1f373548755963e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5c4e4a2451cfe0f4e2816bbd235c33a0e944087ed2c160ee0cdbb5ff940f90b9\",\"dweb:/ipfs/QmTgdMDT96Y5opyPyn3J1g9iwAyrrikwnjwRxiToxvS3Ws\"]},\"contracts/utils/HederaResponseCodes.sol\":{\"keccak256\":\"0x0361e18efdf43d6b5ac136b6beaa4c943d7fe5e9b8515e5605e3a13b3e3a8177\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d8bc2fcf2c308293f8ba791184080ab67406e973d2e3f1c70976a77f26a41752\",\"dweb:/ipfs/QmQrC4wQ1z7GiC79FLa2rbJDqDNCqkHVf3xLq2stFtpema\"]},\"contracts/utils/HederaTokenService.sol\":{\"keccak256\":\"0xd5295cf8f5e341e780ccd201bdc8ac75516cdf4d1566192beaaa006279558142\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d67ad6ff71c88e9cc51eef68e82f42e1df078408144598ea9c678610d2bfbbbc\",\"dweb:/ipfs/QmWCvshiyVMsuABJV1mPQHrrD1DZfmT7JaGG1dkZyYXTzV\"]},\"contracts/utils/IHederaTokenService.sol\":{\"keccak256\":\"0x2cb0d441a567343343115d8d3a9ccc916608d59bbf76e903d79b6a3afd4a6b92\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://05c87ad3d1feb8e9b20f763a3f1a311666e7797eb350d047921570e0b909df22\",\"dweb:/ipfs/Qmc3mnG9ciHKPEd3FTZ15yP4DP43R9FzuNtBiY1uYTrKEp\"]},\"contracts/utils/KeyHelper.sol\":{\"keccak256\":\"0xd86cf06546096eea24c4a7f5e3003ca41055981f85123d61e4686d6499010d96\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5bfbc7e606371868017294b32e06a451ca17d65ec21f14eb35c9f3bf8d791f4c\",\"dweb:/ipfs/QmfWpJaZd5faWM1ViXht7noQCFozm6sVA7V6FXXBMWsZhA\"]}},\"version\":1}"}},"contracts/utils/ExpiryHelper.sol":{"ExpiryHelper":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/utils/ExpiryHelper.sol\":\"ExpiryHelper\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/utils/ExpiryHelper.sol\":{\"keccak256\":\"0xec1234c514c202ee7728ae6362b09750c1ac67a77c0ac900d1f373548755963e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5c4e4a2451cfe0f4e2816bbd235c33a0e944087ed2c160ee0cdbb5ff940f90b9\",\"dweb:/ipfs/QmTgdMDT96Y5opyPyn3J1g9iwAyrrikwnjwRxiToxvS3Ws\"]},\"contracts/utils/HederaResponseCodes.sol\":{\"keccak256\":\"0x0361e18efdf43d6b5ac136b6beaa4c943d7fe5e9b8515e5605e3a13b3e3a8177\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d8bc2fcf2c308293f8ba791184080ab67406e973d2e3f1c70976a77f26a41752\",\"dweb:/ipfs/QmQrC4wQ1z7GiC79FLa2rbJDqDNCqkHVf3xLq2stFtpema\"]},\"contracts/utils/HederaTokenService.sol\":{\"keccak256\":\"0xd5295cf8f5e341e780ccd201bdc8ac75516cdf4d1566192beaaa006279558142\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d67ad6ff71c88e9cc51eef68e82f42e1df078408144598ea9c678610d2bfbbbc\",\"dweb:/ipfs/QmWCvshiyVMsuABJV1mPQHrrD1DZfmT7JaGG1dkZyYXTzV\"]},\"contracts/utils/IHederaTokenService.sol\":{\"keccak256\":\"0x2cb0d441a567343343115d8d3a9ccc916608d59bbf76e903d79b6a3afd4a6b92\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://05c87ad3d1feb8e9b20f763a3f1a311666e7797eb350d047921570e0b909df22\",\"dweb:/ipfs/Qmc3mnG9ciHKPEd3FTZ15yP4DP43R9FzuNtBiY1uYTrKEp\"]}},\"version\":1}"}},"contracts/utils/HederaResponseCodes.sol":{"HederaResponseCodes":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fb2fafd6a6cd587088248aac4830529368760ee60014d1b92986fd995a2a0e7964736f6c63430008120033","opcodes":"PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xFB 0x2F 0xAF 0xD6 0xA6 0xCD PC PUSH17 0x88248AAC4830529368760EE60014D1B929 DUP7 REVERT SWAP10 GAS 0x2A 0xE PUSH26 0x64736F6C63430008120033000000000000000000000000000000 ","sourceMap":"72:39743:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220fb2fafd6a6cd587088248aac4830529368760ee60014d1b92986fd995a2a0e7964736f6c63430008120033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xFB 0x2F 0xAF 0xD6 0xA6 0xCD PC PUSH17 0x88248AAC4830529368760EE60014D1B929 DUP7 REVERT SWAP10 GAS 0x2A 0xE PUSH26 0x64736F6C63430008120033000000000000000000000000000000 ","sourceMap":"72:39743:2:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/utils/HederaResponseCodes.sol\":\"HederaResponseCodes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/utils/HederaResponseCodes.sol\":{\"keccak256\":\"0x0361e18efdf43d6b5ac136b6beaa4c943d7fe5e9b8515e5605e3a13b3e3a8177\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d8bc2fcf2c308293f8ba791184080ab67406e973d2e3f1c70976a77f26a41752\",\"dweb:/ipfs/QmQrC4wQ1z7GiC79FLa2rbJDqDNCqkHVf3xLq2stFtpema\"]}},\"version\":1}"}},"contracts/utils/HederaTokenService.sol":{"HederaTokenService":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"","type":"bool"},{"indexed":false,"internalType":"bytes","name":"","type":"bytes"}],"name":"CallResponseEvent","type":"event"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"bytes","name":"encodedFunctionSelector","type":"bytes"}],"name":"redirectForToken","outputs":[{"internalType":"int256","name":"responseCode","type":"int256"},{"internalType":"bytes","name":"response","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"serialNumber","type":"uint256"}],"name":"transferFromNFT","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"redirectForToken(address,bytes)":"618dc65e","transferFrom(address,address,address,uint256)":"15dacbea","transferFromNFT(address,address,address,uint256)":"9b23d3d9"}},"metadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"CallResponseEvent\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedFunctionSelector\",\"type\":\"bytes\"}],\"name\":\"redirectForToken\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"responseCode\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"response\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"serialNumber\",\"type\":\"uint256\"}],\"name\":\"transferFromNFT\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"redirectForToken(address,bytes)\":{\"params\":{\"encodedFunctionSelector\":\"The function selector from the ERC20 interface + the bytes input for the function called\",\"token\":\"The token address\"},\"returns\":{\"response\":\"The result of the call that had been encoded and sent for execution.\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"transferFrom(address,address,address,uint256)\":{\"params\":{\"amount\":\"The amount of tokens to transfer from `from` to `to`\",\"from\":\"The account address of the owner of the token, on the behalf of which to transfer `amount` tokens\",\"to\":\"The account address of the receiver of the `amount` tokens\",\"token\":\"The address of the fungible Hedera token to transfer\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"transferFromNFT(address,address,address,uint256)\":{\"params\":{\"from\":\"The account address of the owner of `serialNumber` of `token`\",\"serialNumber\":\"The NFT serial number to transfer\",\"to\":\"The account address of the receiver of `serialNumber`\",\"token\":\"The address of the non-fungible Hedera token to transfer\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"CallResponseEvent(bool,bytes)\":{\"notice\":\"Generic event\"}},\"kind\":\"user\",\"methods\":{\"redirectForToken(address,bytes)\":{\"notice\":\"Redirect for token\"},\"transferFrom(address,address,address,uint256)\":{\"notice\":\"Only applicable to fungible tokens\"},\"transferFromNFT(address,address,address,uint256)\":{\"notice\":\"Transfers `serialNumber` of `token` from `from` to `to` using the allowance mechanism. Only applicable to NFT tokens\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/utils/HederaTokenService.sol\":\"HederaTokenService\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/utils/HederaResponseCodes.sol\":{\"keccak256\":\"0x0361e18efdf43d6b5ac136b6beaa4c943d7fe5e9b8515e5605e3a13b3e3a8177\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d8bc2fcf2c308293f8ba791184080ab67406e973d2e3f1c70976a77f26a41752\",\"dweb:/ipfs/QmQrC4wQ1z7GiC79FLa2rbJDqDNCqkHVf3xLq2stFtpema\"]},\"contracts/utils/HederaTokenService.sol\":{\"keccak256\":\"0xd5295cf8f5e341e780ccd201bdc8ac75516cdf4d1566192beaaa006279558142\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d67ad6ff71c88e9cc51eef68e82f42e1df078408144598ea9c678610d2bfbbbc\",\"dweb:/ipfs/QmWCvshiyVMsuABJV1mPQHrrD1DZfmT7JaGG1dkZyYXTzV\"]},\"contracts/utils/IHederaTokenService.sol\":{\"keccak256\":\"0x2cb0d441a567343343115d8d3a9ccc916608d59bbf76e903d79b6a3afd4a6b92\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://05c87ad3d1feb8e9b20f763a3f1a311666e7797eb350d047921570e0b909df22\",\"dweb:/ipfs/Qmc3mnG9ciHKPEd3FTZ15yP4DP43R9FzuNtBiY1uYTrKEp\"]}},\"version\":1}"}},"contracts/utils/IHederaTokenService.sol":{"IHederaTokenService":{"abi":[{"inputs":[{"components":[{"internalType":"address","name":"token","type":"address"},{"components":[{"internalType":"address","name":"accountID","type":"address"},{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"bool","name":"isApproval","type":"bool"}],"internalType":"struct IHederaTokenService.AccountAmount[]","name":"transfers","type":"tuple[]"},{"components":[{"internalType":"address","name":"senderAccountID","type":"address"},{"internalType":"address","name":"receiverAccountID","type":"address"},{"internalType":"int64","name":"serialNumber","type":"int64"},{"internalType":"bool","name":"isApproval","type":"bool"}],"internalType":"struct IHederaTokenService.NftTransfer[]","name":"nftTransfers","type":"tuple[]"}],"internalType":"struct IHederaTokenService.TokenTransferList[]","name":"tokenTransfers","type":"tuple[]"}],"name":"airdropTokens","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"uint256","name":"allowance","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"approved","type":"address"},{"internalType":"uint256","name":"serialNumber","type":"uint256"}],"name":"approveNFT","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"token","type":"address"}],"name":"associateToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"associateTokens","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"int64[]","name":"serialNumbers","type":"int64[]"}],"name":"burnToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"int64","name":"newTotalSupply","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"int64","name":"serial","type":"int64"}],"internalType":"struct IHederaTokenService.PendingAirdrop[]","name":"pendingAirdrops","type":"tuple[]"}],"name":"cancelAirdrops","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"int64","name":"serial","type":"int64"}],"internalType":"struct IHederaTokenService.PendingAirdrop[]","name":"pendingAirdrops","type":"tuple[]"}],"name":"claimAirdrops","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"treasury","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bool","name":"tokenSupplyType","type":"bool"},{"internalType":"int64","name":"maxSupply","type":"int64"},{"internalType":"bool","name":"freezeDefault","type":"bool"},{"components":[{"internalType":"uint256","name":"keyType","type":"uint256"},{"components":[{"internalType":"bool","name":"inheritAccountKey","type":"bool"},{"internalType":"address","name":"contractId","type":"address"},{"internalType":"bytes","name":"ed25519","type":"bytes"},{"internalType":"bytes","name":"ECDSA_secp256k1","type":"bytes"},{"internalType":"address","name":"delegatableContractId","type":"address"}],"internalType":"struct IHederaTokenService.KeyValue","name":"key","type":"tuple"}],"internalType":"struct IHederaTokenService.TokenKey[]","name":"tokenKeys","type":"tuple[]"},{"components":[{"internalType":"int64","name":"second","type":"int64"},{"internalType":"address","name":"autoRenewAccount","type":"address"},{"internalType":"int64","name":"autoRenewPeriod","type":"int64"}],"internalType":"struct IHederaTokenService.Expiry","name":"expiry","type":"tuple"}],"internalType":"struct IHederaTokenService.HederaToken","name":"token","type":"tuple"},{"internalType":"int64","name":"initialTotalSupply","type":"int64"},{"internalType":"int32","name":"decimals","type":"int32"}],"name":"createFungibleToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"address","name":"tokenAddress","type":"address"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"treasury","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bool","name":"tokenSupplyType","type":"bool"},{"internalType":"int64","name":"maxSupply","type":"int64"},{"internalType":"bool","name":"freezeDefault","type":"bool"},{"components":[{"internalType":"uint256","name":"keyType","type":"uint256"},{"components":[{"internalType":"bool","name":"inheritAccountKey","type":"bool"},{"internalType":"address","name":"contractId","type":"address"},{"internalType":"bytes","name":"ed25519","type":"bytes"},{"internalType":"bytes","name":"ECDSA_secp256k1","type":"bytes"},{"internalType":"address","name":"delegatableContractId","type":"address"}],"internalType":"struct IHederaTokenService.KeyValue","name":"key","type":"tuple"}],"internalType":"struct IHederaTokenService.TokenKey[]","name":"tokenKeys","type":"tuple[]"},{"components":[{"internalType":"int64","name":"second","type":"int64"},{"internalType":"address","name":"autoRenewAccount","type":"address"},{"internalType":"int64","name":"autoRenewPeriod","type":"int64"}],"internalType":"struct IHederaTokenService.Expiry","name":"expiry","type":"tuple"}],"internalType":"struct IHederaTokenService.HederaToken","name":"token","type":"tuple"},{"internalType":"int64","name":"initialTotalSupply","type":"int64"},{"internalType":"int32","name":"decimals","type":"int32"},{"components":[{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"bool","name":"useCurrentTokenForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FixedFee[]","name":"fixedFees","type":"tuple[]"},{"components":[{"internalType":"int64","name":"numerator","type":"int64"},{"internalType":"int64","name":"denominator","type":"int64"},{"internalType":"int64","name":"minimumAmount","type":"int64"},{"internalType":"int64","name":"maximumAmount","type":"int64"},{"internalType":"bool","name":"netOfTransfers","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FractionalFee[]","name":"fractionalFees","type":"tuple[]"}],"name":"createFungibleTokenWithCustomFees","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"address","name":"tokenAddress","type":"address"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"treasury","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bool","name":"tokenSupplyType","type":"bool"},{"internalType":"int64","name":"maxSupply","type":"int64"},{"internalType":"bool","name":"freezeDefault","type":"bool"},{"components":[{"internalType":"uint256","name":"keyType","type":"uint256"},{"components":[{"internalType":"bool","name":"inheritAccountKey","type":"bool"},{"internalType":"address","name":"contractId","type":"address"},{"internalType":"bytes","name":"ed25519","type":"bytes"},{"internalType":"bytes","name":"ECDSA_secp256k1","type":"bytes"},{"internalType":"address","name":"delegatableContractId","type":"address"}],"internalType":"struct IHederaTokenService.KeyValue","name":"key","type":"tuple"}],"internalType":"struct IHederaTokenService.TokenKey[]","name":"tokenKeys","type":"tuple[]"},{"components":[{"internalType":"int64","name":"second","type":"int64"},{"internalType":"address","name":"autoRenewAccount","type":"address"},{"internalType":"int64","name":"autoRenewPeriod","type":"int64"}],"internalType":"struct IHederaTokenService.Expiry","name":"expiry","type":"tuple"}],"internalType":"struct IHederaTokenService.HederaToken","name":"token","type":"tuple"}],"name":"createNonFungibleToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"address","name":"tokenAddress","type":"address"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"treasury","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bool","name":"tokenSupplyType","type":"bool"},{"internalType":"int64","name":"maxSupply","type":"int64"},{"internalType":"bool","name":"freezeDefault","type":"bool"},{"components":[{"internalType":"uint256","name":"keyType","type":"uint256"},{"components":[{"internalType":"bool","name":"inheritAccountKey","type":"bool"},{"internalType":"address","name":"contractId","type":"address"},{"internalType":"bytes","name":"ed25519","type":"bytes"},{"internalType":"bytes","name":"ECDSA_secp256k1","type":"bytes"},{"internalType":"address","name":"delegatableContractId","type":"address"}],"internalType":"struct IHederaTokenService.KeyValue","name":"key","type":"tuple"}],"internalType":"struct IHederaTokenService.TokenKey[]","name":"tokenKeys","type":"tuple[]"},{"components":[{"internalType":"int64","name":"second","type":"int64"},{"internalType":"address","name":"autoRenewAccount","type":"address"},{"internalType":"int64","name":"autoRenewPeriod","type":"int64"}],"internalType":"struct IHederaTokenService.Expiry","name":"expiry","type":"tuple"}],"internalType":"struct IHederaTokenService.HederaToken","name":"token","type":"tuple"},{"components":[{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"bool","name":"useCurrentTokenForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FixedFee[]","name":"fixedFees","type":"tuple[]"},{"components":[{"internalType":"int64","name":"numerator","type":"int64"},{"internalType":"int64","name":"denominator","type":"int64"},{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.RoyaltyFee[]","name":"royaltyFees","type":"tuple[]"}],"name":"createNonFungibleTokenWithCustomFees","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"address","name":"tokenAddress","type":"address"}],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"address","name":"accountID","type":"address"},{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"bool","name":"isApproval","type":"bool"}],"internalType":"struct IHederaTokenService.AccountAmount[]","name":"transfers","type":"tuple[]"}],"internalType":"struct IHederaTokenService.TransferList","name":"transferList","type":"tuple"},{"components":[{"internalType":"address","name":"token","type":"address"},{"components":[{"internalType":"address","name":"accountID","type":"address"},{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"bool","name":"isApproval","type":"bool"}],"internalType":"struct IHederaTokenService.AccountAmount[]","name":"transfers","type":"tuple[]"},{"components":[{"internalType":"address","name":"senderAccountID","type":"address"},{"internalType":"address","name":"receiverAccountID","type":"address"},{"internalType":"int64","name":"serialNumber","type":"int64"},{"internalType":"bool","name":"isApproval","type":"bool"}],"internalType":"struct IHederaTokenService.NftTransfer[]","name":"nftTransfers","type":"tuple[]"}],"internalType":"struct IHederaTokenService.TokenTransferList[]","name":"tokenTransfers","type":"tuple[]"}],"name":"cryptoTransfer","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"deleteToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"token","type":"address"}],"name":"dissociateToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"dissociateTokens","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"freezeToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"serialNumber","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"address","name":"approved","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getFungibleTokenInfo","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"components":[{"components":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"treasury","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bool","name":"tokenSupplyType","type":"bool"},{"internalType":"int64","name":"maxSupply","type":"int64"},{"internalType":"bool","name":"freezeDefault","type":"bool"},{"components":[{"internalType":"uint256","name":"keyType","type":"uint256"},{"components":[{"internalType":"bool","name":"inheritAccountKey","type":"bool"},{"internalType":"address","name":"contractId","type":"address"},{"internalType":"bytes","name":"ed25519","type":"bytes"},{"internalType":"bytes","name":"ECDSA_secp256k1","type":"bytes"},{"internalType":"address","name":"delegatableContractId","type":"address"}],"internalType":"struct IHederaTokenService.KeyValue","name":"key","type":"tuple"}],"internalType":"struct IHederaTokenService.TokenKey[]","name":"tokenKeys","type":"tuple[]"},{"components":[{"internalType":"int64","name":"second","type":"int64"},{"internalType":"address","name":"autoRenewAccount","type":"address"},{"internalType":"int64","name":"autoRenewPeriod","type":"int64"}],"internalType":"struct IHederaTokenService.Expiry","name":"expiry","type":"tuple"}],"internalType":"struct IHederaTokenService.HederaToken","name":"token","type":"tuple"},{"internalType":"int64","name":"totalSupply","type":"int64"},{"internalType":"bool","name":"deleted","type":"bool"},{"internalType":"bool","name":"defaultKycStatus","type":"bool"},{"internalType":"bool","name":"pauseStatus","type":"bool"},{"components":[{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"bool","name":"useCurrentTokenForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FixedFee[]","name":"fixedFees","type":"tuple[]"},{"components":[{"internalType":"int64","name":"numerator","type":"int64"},{"internalType":"int64","name":"denominator","type":"int64"},{"internalType":"int64","name":"minimumAmount","type":"int64"},{"internalType":"int64","name":"maximumAmount","type":"int64"},{"internalType":"bool","name":"netOfTransfers","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FractionalFee[]","name":"fractionalFees","type":"tuple[]"},{"components":[{"internalType":"int64","name":"numerator","type":"int64"},{"internalType":"int64","name":"denominator","type":"int64"},{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.RoyaltyFee[]","name":"royaltyFees","type":"tuple[]"},{"internalType":"string","name":"ledgerId","type":"string"}],"internalType":"struct IHederaTokenService.TokenInfo","name":"tokenInfo","type":"tuple"},{"internalType":"int32","name":"decimals","type":"int32"}],"internalType":"struct IHederaTokenService.FungibleTokenInfo","name":"fungibleTokenInfo","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"int64","name":"serialNumber","type":"int64"}],"name":"getNonFungibleTokenInfo","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"components":[{"components":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"treasury","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bool","name":"tokenSupplyType","type":"bool"},{"internalType":"int64","name":"maxSupply","type":"int64"},{"internalType":"bool","name":"freezeDefault","type":"bool"},{"components":[{"internalType":"uint256","name":"keyType","type":"uint256"},{"components":[{"internalType":"bool","name":"inheritAccountKey","type":"bool"},{"internalType":"address","name":"contractId","type":"address"},{"internalType":"bytes","name":"ed25519","type":"bytes"},{"internalType":"bytes","name":"ECDSA_secp256k1","type":"bytes"},{"internalType":"address","name":"delegatableContractId","type":"address"}],"internalType":"struct IHederaTokenService.KeyValue","name":"key","type":"tuple"}],"internalType":"struct IHederaTokenService.TokenKey[]","name":"tokenKeys","type":"tuple[]"},{"components":[{"internalType":"int64","name":"second","type":"int64"},{"internalType":"address","name":"autoRenewAccount","type":"address"},{"internalType":"int64","name":"autoRenewPeriod","type":"int64"}],"internalType":"struct IHederaTokenService.Expiry","name":"expiry","type":"tuple"}],"internalType":"struct IHederaTokenService.HederaToken","name":"token","type":"tuple"},{"internalType":"int64","name":"totalSupply","type":"int64"},{"internalType":"bool","name":"deleted","type":"bool"},{"internalType":"bool","name":"defaultKycStatus","type":"bool"},{"internalType":"bool","name":"pauseStatus","type":"bool"},{"components":[{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"bool","name":"useCurrentTokenForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FixedFee[]","name":"fixedFees","type":"tuple[]"},{"components":[{"internalType":"int64","name":"numerator","type":"int64"},{"internalType":"int64","name":"denominator","type":"int64"},{"internalType":"int64","name":"minimumAmount","type":"int64"},{"internalType":"int64","name":"maximumAmount","type":"int64"},{"internalType":"bool","name":"netOfTransfers","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FractionalFee[]","name":"fractionalFees","type":"tuple[]"},{"components":[{"internalType":"int64","name":"numerator","type":"int64"},{"internalType":"int64","name":"denominator","type":"int64"},{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.RoyaltyFee[]","name":"royaltyFees","type":"tuple[]"},{"internalType":"string","name":"ledgerId","type":"string"}],"internalType":"struct IHederaTokenService.TokenInfo","name":"tokenInfo","type":"tuple"},{"internalType":"int64","name":"serialNumber","type":"int64"},{"internalType":"address","name":"ownerId","type":"address"},{"internalType":"int64","name":"creationTime","type":"int64"},{"internalType":"bytes","name":"metadata","type":"bytes"},{"internalType":"address","name":"spenderId","type":"address"}],"internalType":"struct IHederaTokenService.NonFungibleTokenInfo","name":"nonFungibleTokenInfo","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTokenCustomFees","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"components":[{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"bool","name":"useCurrentTokenForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FixedFee[]","name":"fixedFees","type":"tuple[]"},{"components":[{"internalType":"int64","name":"numerator","type":"int64"},{"internalType":"int64","name":"denominator","type":"int64"},{"internalType":"int64","name":"minimumAmount","type":"int64"},{"internalType":"int64","name":"maximumAmount","type":"int64"},{"internalType":"bool","name":"netOfTransfers","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FractionalFee[]","name":"fractionalFees","type":"tuple[]"},{"components":[{"internalType":"int64","name":"numerator","type":"int64"},{"internalType":"int64","name":"denominator","type":"int64"},{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.RoyaltyFee[]","name":"royaltyFees","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTokenDefaultFreezeStatus","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"bool","name":"defaultFreezeStatus","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTokenDefaultKycStatus","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"bool","name":"defaultKycStatus","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTokenExpiryInfo","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"components":[{"internalType":"int64","name":"second","type":"int64"},{"internalType":"address","name":"autoRenewAccount","type":"address"},{"internalType":"int64","name":"autoRenewPeriod","type":"int64"}],"internalType":"struct IHederaTokenService.Expiry","name":"expiry","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTokenInfo","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"components":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"treasury","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bool","name":"tokenSupplyType","type":"bool"},{"internalType":"int64","name":"maxSupply","type":"int64"},{"internalType":"bool","name":"freezeDefault","type":"bool"},{"components":[{"internalType":"uint256","name":"keyType","type":"uint256"},{"components":[{"internalType":"bool","name":"inheritAccountKey","type":"bool"},{"internalType":"address","name":"contractId","type":"address"},{"internalType":"bytes","name":"ed25519","type":"bytes"},{"internalType":"bytes","name":"ECDSA_secp256k1","type":"bytes"},{"internalType":"address","name":"delegatableContractId","type":"address"}],"internalType":"struct IHederaTokenService.KeyValue","name":"key","type":"tuple"}],"internalType":"struct IHederaTokenService.TokenKey[]","name":"tokenKeys","type":"tuple[]"},{"components":[{"internalType":"int64","name":"second","type":"int64"},{"internalType":"address","name":"autoRenewAccount","type":"address"},{"internalType":"int64","name":"autoRenewPeriod","type":"int64"}],"internalType":"struct IHederaTokenService.Expiry","name":"expiry","type":"tuple"}],"internalType":"struct IHederaTokenService.HederaToken","name":"token","type":"tuple"},{"internalType":"int64","name":"totalSupply","type":"int64"},{"internalType":"bool","name":"deleted","type":"bool"},{"internalType":"bool","name":"defaultKycStatus","type":"bool"},{"internalType":"bool","name":"pauseStatus","type":"bool"},{"components":[{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"bool","name":"useCurrentTokenForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FixedFee[]","name":"fixedFees","type":"tuple[]"},{"components":[{"internalType":"int64","name":"numerator","type":"int64"},{"internalType":"int64","name":"denominator","type":"int64"},{"internalType":"int64","name":"minimumAmount","type":"int64"},{"internalType":"int64","name":"maximumAmount","type":"int64"},{"internalType":"bool","name":"netOfTransfers","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FractionalFee[]","name":"fractionalFees","type":"tuple[]"},{"components":[{"internalType":"int64","name":"numerator","type":"int64"},{"internalType":"int64","name":"denominator","type":"int64"},{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.RoyaltyFee[]","name":"royaltyFees","type":"tuple[]"},{"internalType":"string","name":"ledgerId","type":"string"}],"internalType":"struct IHederaTokenService.TokenInfo","name":"tokenInfo","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"keyType","type":"uint256"}],"name":"getTokenKey","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"components":[{"internalType":"bool","name":"inheritAccountKey","type":"bool"},{"internalType":"address","name":"contractId","type":"address"},{"internalType":"bytes","name":"ed25519","type":"bytes"},{"internalType":"bytes","name":"ECDSA_secp256k1","type":"bytes"},{"internalType":"address","name":"delegatableContractId","type":"address"}],"internalType":"struct IHederaTokenService.KeyValue","name":"key","type":"tuple"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"getTokenType","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"int32","name":"tokenType","type":"int32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"grantTokenKyc","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"isFrozen","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"bool","name":"frozen","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"isKyc","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"bool","name":"kycGranted","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"isToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"bool","name":"isToken","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"bytes[]","name":"metadata","type":"bytes[]"}],"name":"mintToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"int64","name":"newTotalSupply","type":"int64"},{"internalType":"int64[]","name":"serialNumbers","type":"int64[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"pauseToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"bytes","name":"encodedFunctionSelector","type":"bytes"}],"name":"redirectForToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"},{"internalType":"bytes","name":"response","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"rejectingAddress","type":"address"},{"internalType":"address[]","name":"ftAddresses","type":"address[]"},{"components":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"int64","name":"serial","type":"int64"}],"internalType":"struct IHederaTokenService.NftID[]","name":"nftIDs","type":"tuple[]"}],"name":"rejectTokens","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeTokenKyc","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"serialNumber","type":"uint256"}],"name":"transferFromNFT","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"int64","name":"serialNumber","type":"int64"}],"name":"transferNFT","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address[]","name":"sender","type":"address[]"},{"internalType":"address[]","name":"receiver","type":"address[]"},{"internalType":"int64[]","name":"serialNumber","type":"int64[]"}],"name":"transferNFTs","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"int64","name":"amount","type":"int64"}],"name":"transferToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address[]","name":"accountId","type":"address[]"},{"internalType":"int64[]","name":"amount","type":"int64[]"}],"name":"transferTokens","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"}],"name":"unfreezeToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"unpauseToken","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"components":[{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"bool","name":"useCurrentTokenForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FixedFee[]","name":"fixedFees","type":"tuple[]"},{"components":[{"internalType":"int64","name":"numerator","type":"int64"},{"internalType":"int64","name":"denominator","type":"int64"},{"internalType":"int64","name":"minimumAmount","type":"int64"},{"internalType":"int64","name":"maximumAmount","type":"int64"},{"internalType":"bool","name":"netOfTransfers","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FractionalFee[]","name":"fractionalFees","type":"tuple[]"}],"name":"updateFungibleTokenCustomFees","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"components":[{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"bool","name":"useCurrentTokenForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.FixedFee[]","name":"fixedFees","type":"tuple[]"},{"components":[{"internalType":"int64","name":"numerator","type":"int64"},{"internalType":"int64","name":"denominator","type":"int64"},{"internalType":"int64","name":"amount","type":"int64"},{"internalType":"address","name":"tokenId","type":"address"},{"internalType":"bool","name":"useHbarsForPayment","type":"bool"},{"internalType":"address","name":"feeCollector","type":"address"}],"internalType":"struct IHederaTokenService.RoyaltyFee[]","name":"royaltyFees","type":"tuple[]"}],"name":"updateNonFungibleTokenCustomFees","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"components":[{"internalType":"int64","name":"second","type":"int64"},{"internalType":"address","name":"autoRenewAccount","type":"address"},{"internalType":"int64","name":"autoRenewPeriod","type":"int64"}],"internalType":"struct IHederaTokenService.Expiry","name":"expiryInfo","type":"tuple"}],"name":"updateTokenExpiryInfo","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"treasury","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bool","name":"tokenSupplyType","type":"bool"},{"internalType":"int64","name":"maxSupply","type":"int64"},{"internalType":"bool","name":"freezeDefault","type":"bool"},{"components":[{"internalType":"uint256","name":"keyType","type":"uint256"},{"components":[{"internalType":"bool","name":"inheritAccountKey","type":"bool"},{"internalType":"address","name":"contractId","type":"address"},{"internalType":"bytes","name":"ed25519","type":"bytes"},{"internalType":"bytes","name":"ECDSA_secp256k1","type":"bytes"},{"internalType":"address","name":"delegatableContractId","type":"address"}],"internalType":"struct IHederaTokenService.KeyValue","name":"key","type":"tuple"}],"internalType":"struct IHederaTokenService.TokenKey[]","name":"tokenKeys","type":"tuple[]"},{"components":[{"internalType":"int64","name":"second","type":"int64"},{"internalType":"address","name":"autoRenewAccount","type":"address"},{"internalType":"int64","name":"autoRenewPeriod","type":"int64"}],"internalType":"struct IHederaTokenService.Expiry","name":"expiry","type":"tuple"}],"internalType":"struct IHederaTokenService.HederaToken","name":"tokenInfo","type":"tuple"}],"name":"updateTokenInfo","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"components":[{"internalType":"uint256","name":"keyType","type":"uint256"},{"components":[{"internalType":"bool","name":"inheritAccountKey","type":"bool"},{"internalType":"address","name":"contractId","type":"address"},{"internalType":"bytes","name":"ed25519","type":"bytes"},{"internalType":"bytes","name":"ECDSA_secp256k1","type":"bytes"},{"internalType":"address","name":"delegatableContractId","type":"address"}],"internalType":"struct IHederaTokenService.KeyValue","name":"key","type":"tuple"}],"internalType":"struct IHederaTokenService.TokenKey[]","name":"keys","type":"tuple[]"}],"name":"updateTokenKeys","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"int64","name":"amount","type":"int64"}],"name":"wipeTokenAccount","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"int64[]","name":"serialNumbers","type":"int64[]"}],"name":"wipeTokenAccountNFT","outputs":[{"internalType":"int64","name":"responseCode","type":"int64"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"airdropTokens((address,(address,int64,bool)[],(address,address,int64,bool)[])[])":"2f348119","allowance(address,address,address)":"927da105","approve(address,address,uint256)":"e1f21c67","approveNFT(address,address,uint256)":"7336aaf0","associateToken(address,address)":"49146bde","associateTokens(address,address[])":"2e63879b","burnToken(address,int64,int64[])":"d6910d06","cancelAirdrops((address,address,address,int64)[])":"012ebcaf","claimAirdrops((address,address,address,int64)[])":"05961641","createFungibleToken((string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)),int64,int32)":"0fb65bf3","createFungibleTokenWithCustomFees((string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)),int64,int32,(int64,address,bool,bool,address)[],(int64,int64,int64,int64,bool,address)[])":"2af0c59a","createNonFungibleToken((string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)))":"ea83f293","createNonFungibleTokenWithCustomFees((string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)),(int64,address,bool,bool,address)[],(int64,int64,int64,address,bool,address)[])":"abb54eb5","cryptoTransfer(((address,int64,bool)[]),(address,(address,int64,bool)[],(address,address,int64,bool)[])[])":"0e71804f","deleteToken(address)":"f069f712","dissociateToken(address,address)":"099794e8","dissociateTokens(address,address[])":"78b63918","freezeToken(address,address)":"5b8f8584","getApproved(address,uint256)":"098f2366","getFungibleTokenInfo(address)":"3f28a19b","getNonFungibleTokenInfo(address,int64)":"287e1da8","getTokenCustomFees(address)":"ae7611a0","getTokenDefaultFreezeStatus(address)":"a7daa18d","getTokenDefaultKycStatus(address)":"335e04c1","getTokenExpiryInfo(address)":"d614cdb8","getTokenInfo(address)":"1f69565f","getTokenKey(address,uint256)":"3c4dd32e","getTokenType(address)":"93272baf","grantTokenKyc(address,address)":"8f8d7f99","isApprovedForAll(address,address,address)":"f49f40db","isFrozen(address,address)":"46de0fb1","isKyc(address,address)":"f2c31ff4","isToken(address)":"19f37361","mintToken(address,int64,bytes[])":"e0f4059a","pauseToken(address)":"7c41ad2c","redirectForToken(address,bytes)":"618dc65e","rejectTokens(address,address[],(address,int64)[])":"ebd595e0","revokeTokenKyc(address,address)":"af99c633","setApprovalForAll(address,address,bool)":"367605ca","transferFrom(address,address,address,uint256)":"15dacbea","transferFromNFT(address,address,address,uint256)":"9b23d3d9","transferNFT(address,address,address,int64)":"5cfc9011","transferNFTs(address,address[],address[],int64[])":"2c4ba191","transferToken(address,address,address,int64)":"eca36917","transferTokens(address,address[],int64[])":"82bba493","unfreezeToken(address,address)":"52f91387","unpauseToken(address)":"3b3bff0f","updateFungibleTokenCustomFees(address,(int64,address,bool,bool,address)[],(int64,int64,int64,int64,bool,address)[])":"d5f60c47","updateNonFungibleTokenCustomFees(address,(int64,address,bool,bool,address)[],(int64,int64,int64,address,bool,address)[])":"30727a29","updateTokenExpiryInfo(address,(int64,address,int64))":"d27be6cd","updateTokenInfo(address,(string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)))":"7d305cfa","updateTokenKeys(address,(uint256,(bool,address,bytes,bytes,address))[])":"6fc3cbaf","wipeTokenAccount(address,address,int64)":"efef57f9","wipeTokenAccountNFT(address,address,int64[])":"f7f38e26"}},"metadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"accountID\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"isApproval\",\"type\":\"bool\"}],\"internalType\":\"struct IHederaTokenService.AccountAmount[]\",\"name\":\"transfers\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"senderAccountID\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiverAccountID\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"serialNumber\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"isApproval\",\"type\":\"bool\"}],\"internalType\":\"struct IHederaTokenService.NftTransfer[]\",\"name\":\"nftTransfers\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IHederaTokenService.TokenTransferList[]\",\"name\":\"tokenTransfers\",\"type\":\"tuple[]\"}],\"name\":\"airdropTokens\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"serialNumber\",\"type\":\"uint256\"}],\"name\":\"approveNFT\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"associateToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"tokens\",\"type\":\"address[]\"}],\"name\":\"associateTokens\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"int64[]\",\"name\":\"serialNumbers\",\"type\":\"int64[]\"}],\"name\":\"burnToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"newTotalSupply\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"serial\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.PendingAirdrop[]\",\"name\":\"pendingAirdrops\",\"type\":\"tuple[]\"}],\"name\":\"cancelAirdrops\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"serial\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.PendingAirdrop[]\",\"name\":\"pendingAirdrops\",\"type\":\"tuple[]\"}],\"name\":\"claimAirdrops\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"tokenSupplyType\",\"type\":\"bool\"},{\"internalType\":\"int64\",\"name\":\"maxSupply\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"freezeDefault\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"keyType\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"inheritAccountKey\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractId\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ed25519\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"ECDSA_secp256k1\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"delegatableContractId\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.KeyValue\",\"name\":\"key\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.TokenKey[]\",\"name\":\"tokenKeys\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"second\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"autoRenewAccount\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"autoRenewPeriod\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.Expiry\",\"name\":\"expiry\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.HederaToken\",\"name\":\"token\",\"type\":\"tuple\"},{\"internalType\":\"int64\",\"name\":\"initialTotalSupply\",\"type\":\"int64\"},{\"internalType\":\"int32\",\"name\":\"decimals\",\"type\":\"int32\"}],\"name\":\"createFungibleToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"tokenSupplyType\",\"type\":\"bool\"},{\"internalType\":\"int64\",\"name\":\"maxSupply\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"freezeDefault\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"keyType\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"inheritAccountKey\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractId\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ed25519\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"ECDSA_secp256k1\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"delegatableContractId\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.KeyValue\",\"name\":\"key\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.TokenKey[]\",\"name\":\"tokenKeys\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"second\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"autoRenewAccount\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"autoRenewPeriod\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.Expiry\",\"name\":\"expiry\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.HederaToken\",\"name\":\"token\",\"type\":\"tuple\"},{\"internalType\":\"int64\",\"name\":\"initialTotalSupply\",\"type\":\"int64\"},{\"internalType\":\"int32\",\"name\":\"decimals\",\"type\":\"int32\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useCurrentTokenForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FixedFee[]\",\"name\":\"fixedFees\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"numerator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"denominator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"minimumAmount\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"maximumAmount\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"netOfTransfers\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FractionalFee[]\",\"name\":\"fractionalFees\",\"type\":\"tuple[]\"}],\"name\":\"createFungibleTokenWithCustomFees\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"tokenSupplyType\",\"type\":\"bool\"},{\"internalType\":\"int64\",\"name\":\"maxSupply\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"freezeDefault\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"keyType\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"inheritAccountKey\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractId\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ed25519\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"ECDSA_secp256k1\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"delegatableContractId\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.KeyValue\",\"name\":\"key\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.TokenKey[]\",\"name\":\"tokenKeys\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"second\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"autoRenewAccount\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"autoRenewPeriod\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.Expiry\",\"name\":\"expiry\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.HederaToken\",\"name\":\"token\",\"type\":\"tuple\"}],\"name\":\"createNonFungibleToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"tokenSupplyType\",\"type\":\"bool\"},{\"internalType\":\"int64\",\"name\":\"maxSupply\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"freezeDefault\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"keyType\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"inheritAccountKey\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractId\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ed25519\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"ECDSA_secp256k1\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"delegatableContractId\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.KeyValue\",\"name\":\"key\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.TokenKey[]\",\"name\":\"tokenKeys\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"second\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"autoRenewAccount\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"autoRenewPeriod\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.Expiry\",\"name\":\"expiry\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.HederaToken\",\"name\":\"token\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useCurrentTokenForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FixedFee[]\",\"name\":\"fixedFees\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"numerator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"denominator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.RoyaltyFee[]\",\"name\":\"royaltyFees\",\"type\":\"tuple[]\"}],\"name\":\"createNonFungibleTokenWithCustomFees\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"accountID\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"isApproval\",\"type\":\"bool\"}],\"internalType\":\"struct IHederaTokenService.AccountAmount[]\",\"name\":\"transfers\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IHederaTokenService.TransferList\",\"name\":\"transferList\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"accountID\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"isApproval\",\"type\":\"bool\"}],\"internalType\":\"struct IHederaTokenService.AccountAmount[]\",\"name\":\"transfers\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"senderAccountID\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"receiverAccountID\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"serialNumber\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"isApproval\",\"type\":\"bool\"}],\"internalType\":\"struct IHederaTokenService.NftTransfer[]\",\"name\":\"nftTransfers\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IHederaTokenService.TokenTransferList[]\",\"name\":\"tokenTransfers\",\"type\":\"tuple[]\"}],\"name\":\"cryptoTransfer\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"deleteToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"dissociateToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"tokens\",\"type\":\"address[]\"}],\"name\":\"dissociateTokens\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"freezeToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"serialNumber\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"getFungibleTokenInfo\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"components\":[{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"tokenSupplyType\",\"type\":\"bool\"},{\"internalType\":\"int64\",\"name\":\"maxSupply\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"freezeDefault\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"keyType\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"inheritAccountKey\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractId\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ed25519\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"ECDSA_secp256k1\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"delegatableContractId\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.KeyValue\",\"name\":\"key\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.TokenKey[]\",\"name\":\"tokenKeys\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"second\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"autoRenewAccount\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"autoRenewPeriod\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.Expiry\",\"name\":\"expiry\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.HederaToken\",\"name\":\"token\",\"type\":\"tuple\"},{\"internalType\":\"int64\",\"name\":\"totalSupply\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"deleted\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"defaultKycStatus\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseStatus\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useCurrentTokenForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FixedFee[]\",\"name\":\"fixedFees\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"numerator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"denominator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"minimumAmount\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"maximumAmount\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"netOfTransfers\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FractionalFee[]\",\"name\":\"fractionalFees\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"numerator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"denominator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.RoyaltyFee[]\",\"name\":\"royaltyFees\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"ledgerId\",\"type\":\"string\"}],\"internalType\":\"struct IHederaTokenService.TokenInfo\",\"name\":\"tokenInfo\",\"type\":\"tuple\"},{\"internalType\":\"int32\",\"name\":\"decimals\",\"type\":\"int32\"}],\"internalType\":\"struct IHederaTokenService.FungibleTokenInfo\",\"name\":\"fungibleTokenInfo\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"serialNumber\",\"type\":\"int64\"}],\"name\":\"getNonFungibleTokenInfo\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"components\":[{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"tokenSupplyType\",\"type\":\"bool\"},{\"internalType\":\"int64\",\"name\":\"maxSupply\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"freezeDefault\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"keyType\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"inheritAccountKey\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractId\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ed25519\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"ECDSA_secp256k1\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"delegatableContractId\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.KeyValue\",\"name\":\"key\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.TokenKey[]\",\"name\":\"tokenKeys\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"second\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"autoRenewAccount\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"autoRenewPeriod\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.Expiry\",\"name\":\"expiry\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.HederaToken\",\"name\":\"token\",\"type\":\"tuple\"},{\"internalType\":\"int64\",\"name\":\"totalSupply\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"deleted\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"defaultKycStatus\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseStatus\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useCurrentTokenForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FixedFee[]\",\"name\":\"fixedFees\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"numerator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"denominator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"minimumAmount\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"maximumAmount\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"netOfTransfers\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FractionalFee[]\",\"name\":\"fractionalFees\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"numerator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"denominator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.RoyaltyFee[]\",\"name\":\"royaltyFees\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"ledgerId\",\"type\":\"string\"}],\"internalType\":\"struct IHederaTokenService.TokenInfo\",\"name\":\"tokenInfo\",\"type\":\"tuple\"},{\"internalType\":\"int64\",\"name\":\"serialNumber\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"ownerId\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"creationTime\",\"type\":\"int64\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"spenderId\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.NonFungibleTokenInfo\",\"name\":\"nonFungibleTokenInfo\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"getTokenCustomFees\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useCurrentTokenForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FixedFee[]\",\"name\":\"fixedFees\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"numerator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"denominator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"minimumAmount\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"maximumAmount\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"netOfTransfers\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FractionalFee[]\",\"name\":\"fractionalFees\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"numerator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"denominator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.RoyaltyFee[]\",\"name\":\"royaltyFees\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"getTokenDefaultFreezeStatus\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"defaultFreezeStatus\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"getTokenDefaultKycStatus\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"defaultKycStatus\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"getTokenExpiryInfo\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"second\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"autoRenewAccount\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"autoRenewPeriod\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.Expiry\",\"name\":\"expiry\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"getTokenInfo\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"tokenSupplyType\",\"type\":\"bool\"},{\"internalType\":\"int64\",\"name\":\"maxSupply\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"freezeDefault\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"keyType\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"inheritAccountKey\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractId\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ed25519\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"ECDSA_secp256k1\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"delegatableContractId\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.KeyValue\",\"name\":\"key\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.TokenKey[]\",\"name\":\"tokenKeys\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"second\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"autoRenewAccount\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"autoRenewPeriod\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.Expiry\",\"name\":\"expiry\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.HederaToken\",\"name\":\"token\",\"type\":\"tuple\"},{\"internalType\":\"int64\",\"name\":\"totalSupply\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"deleted\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"defaultKycStatus\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseStatus\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useCurrentTokenForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FixedFee[]\",\"name\":\"fixedFees\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"numerator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"denominator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"minimumAmount\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"maximumAmount\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"netOfTransfers\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FractionalFee[]\",\"name\":\"fractionalFees\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"numerator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"denominator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.RoyaltyFee[]\",\"name\":\"royaltyFees\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"ledgerId\",\"type\":\"string\"}],\"internalType\":\"struct IHederaTokenService.TokenInfo\",\"name\":\"tokenInfo\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"keyType\",\"type\":\"uint256\"}],\"name\":\"getTokenKey\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"inheritAccountKey\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractId\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ed25519\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"ECDSA_secp256k1\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"delegatableContractId\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.KeyValue\",\"name\":\"key\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"getTokenType\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"int32\",\"name\":\"tokenType\",\"type\":\"int32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantTokenKyc\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isFrozen\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"frozen\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isKyc\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"kycGranted\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"isToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"isToken\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"bytes[]\",\"name\":\"metadata\",\"type\":\"bytes[]\"}],\"name\":\"mintToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"newTotalSupply\",\"type\":\"int64\"},{\"internalType\":\"int64[]\",\"name\":\"serialNumbers\",\"type\":\"int64[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"pauseToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedFunctionSelector\",\"type\":\"bytes\"}],\"name\":\"redirectForToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"},{\"internalType\":\"bytes\",\"name\":\"response\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rejectingAddress\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"ftAddresses\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"serial\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.NftID[]\",\"name\":\"nftIDs\",\"type\":\"tuple[]\"}],\"name\":\"rejectTokens\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeTokenKyc\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"serialNumber\",\"type\":\"uint256\"}],\"name\":\"transferFromNFT\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"serialNumber\",\"type\":\"int64\"}],\"name\":\"transferNFT\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"sender\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"receiver\",\"type\":\"address[]\"},{\"internalType\":\"int64[]\",\"name\":\"serialNumber\",\"type\":\"int64[]\"}],\"name\":\"transferNFTs\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"}],\"name\":\"transferToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"accountId\",\"type\":\"address[]\"},{\"internalType\":\"int64[]\",\"name\":\"amount\",\"type\":\"int64[]\"}],\"name\":\"transferTokens\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"unfreezeToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"unpauseToken\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useCurrentTokenForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FixedFee[]\",\"name\":\"fixedFees\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"numerator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"denominator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"minimumAmount\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"maximumAmount\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"netOfTransfers\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FractionalFee[]\",\"name\":\"fractionalFees\",\"type\":\"tuple[]\"}],\"name\":\"updateFungibleTokenCustomFees\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useCurrentTokenForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.FixedFee[]\",\"name\":\"fixedFees\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"numerator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"denominator\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"tokenId\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useHbarsForPayment\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"feeCollector\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.RoyaltyFee[]\",\"name\":\"royaltyFees\",\"type\":\"tuple[]\"}],\"name\":\"updateNonFungibleTokenCustomFees\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"second\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"autoRenewAccount\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"autoRenewPeriod\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.Expiry\",\"name\":\"expiryInfo\",\"type\":\"tuple\"}],\"name\":\"updateTokenExpiryInfo\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"tokenSupplyType\",\"type\":\"bool\"},{\"internalType\":\"int64\",\"name\":\"maxSupply\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"freezeDefault\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"keyType\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"inheritAccountKey\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractId\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ed25519\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"ECDSA_secp256k1\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"delegatableContractId\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.KeyValue\",\"name\":\"key\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.TokenKey[]\",\"name\":\"tokenKeys\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"int64\",\"name\":\"second\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"autoRenewAccount\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"autoRenewPeriod\",\"type\":\"int64\"}],\"internalType\":\"struct IHederaTokenService.Expiry\",\"name\":\"expiry\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.HederaToken\",\"name\":\"tokenInfo\",\"type\":\"tuple\"}],\"name\":\"updateTokenInfo\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"keyType\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"inheritAccountKey\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"contractId\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"ed25519\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"ECDSA_secp256k1\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"delegatableContractId\",\"type\":\"address\"}],\"internalType\":\"struct IHederaTokenService.KeyValue\",\"name\":\"key\",\"type\":\"tuple\"}],\"internalType\":\"struct IHederaTokenService.TokenKey[]\",\"name\":\"keys\",\"type\":\"tuple[]\"}],\"name\":\"updateTokenKeys\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"amount\",\"type\":\"int64\"}],\"name\":\"wipeTokenAccount\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"int64[]\",\"name\":\"serialNumbers\",\"type\":\"int64[]\"}],\"name\":\"wipeTokenAccountNFT\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"responseCode\",\"type\":\"int64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"airdropTokens((address,(address,int64,bool)[],(address,address,int64,bool)[])[])\":{\"params\":{\"tokenTransfers\":\"Array of token transfer lists containing token addresses and recipient details\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"allowance(address,address,address)\":{\"params\":{\"owner\":\"the owner of the tokens to be spent\",\"spender\":\"the spender of the tokens\",\"token\":\"The Hedera token address to check the allowance of\"},\"returns\":{\"allowance\":\"The amount which spender is still allowed to withdraw from owner.\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"approve(address,address,uint256)\":{\"params\":{\"amount\":\"the amount of tokens authorized to spend.\",\"spender\":\"the account address authorized to spend\",\"token\":\"The hedera token address to approve\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"approveNFT(address,address,uint256)\":{\"params\":{\"approved\":\"The new approved NFT controller. To revoke approvals pass in the zero address.\",\"serialNumber\":\"The NFT serial number to approve\",\"token\":\"The Hedera NFT token address to approve\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"associateToken(address,address)\":{\"params\":{\"account\":\"The account to be associated with the provided token\",\"token\":\"The token to be associated with the provided account\"}},\"associateTokens(address,address[])\":{\"params\":{\"account\":\"The account to be associated with the provided tokens\",\"tokens\":\"The tokens to be associated with the provided account. In the case of NON_FUNGIBLE_UNIQUE Type, once an account is associated, it can hold any number of NFTs (serial numbers) of that token type\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"burnToken(address,int64,int64[])\":{\"params\":{\"amount\":\"Applicable to tokens of type FUNGIBLE_COMMON. The amount to burn from the Treasury Account. Amount must be a positive non-zero number, not bigger than the token balance of the treasury account (0; balance], represented in the lowest denomination.\",\"serialNumbers\":\"Applicable to tokens of type NON_FUNGIBLE_UNIQUE. The list of serial numbers to be burned.\",\"token\":\"The token for which to burn tokens. If token does not exist, transaction results in INVALID_TOKEN_ID\"},\"returns\":{\"newTotalSupply\":\"The new supply of tokens. For NFTs it is the total count of NFTs\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"cancelAirdrops((address,address,address,int64)[])\":{\"params\":{\"pendingAirdrops\":\"Array of pending airdrops to cancel\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"claimAirdrops((address,address,address,int64)[])\":{\"params\":{\"pendingAirdrops\":\"Array of pending airdrops to claim\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"createFungibleToken((string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)),int64,int32)\":{\"params\":{\"decimals\":\"the number of decimal places a token is divisible by\",\"initialTotalSupply\":\"Specifies the initial supply of tokens to be put in circulation. The initial supply is sent to the Treasury Account. The supply is in the lowest denomination possible.\",\"token\":\"the basic properties of the token being created\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\",\"tokenAddress\":\"the created token's address\"}},\"createFungibleTokenWithCustomFees((string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)),int64,int32,(int64,address,bool,bool,address)[],(int64,int64,int64,int64,bool,address)[])\":{\"params\":{\"decimals\":\"the number of decimal places a token is divisible by.\",\"fixedFees\":\"list of fixed fees to apply to the token\",\"fractionalFees\":\"list of fractional fees to apply to the token\",\"initialTotalSupply\":\"Specifies the initial supply of tokens to be put in circulation. The initial supply is sent to the Treasury Account. The supply is in the lowest denomination possible.\",\"token\":\"the basic properties of the token being created\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\",\"tokenAddress\":\"the created token's address\"}},\"createNonFungibleToken((string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)))\":{\"params\":{\"token\":\"the basic properties of the token being created\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\",\"tokenAddress\":\"the created token's address\"}},\"createNonFungibleTokenWithCustomFees((string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)),(int64,address,bool,bool,address)[],(int64,int64,int64,address,bool,address)[])\":{\"params\":{\"fixedFees\":\"list of fixed fees to apply to the token\",\"royaltyFees\":\"list of royalty fees to apply to the token\",\"token\":\"the basic properties of the token being created\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\",\"tokenAddress\":\"the created token's address\"}},\"cryptoTransfer(((address,int64,bool)[]),(address,(address,int64,bool)[],(address,address,int64,bool)[])[])\":{\"custom:version\":\"0.3.0 the signature of the previous version was cryptoTransfer(TokenTransferList[] memory tokenTransfers)\",\"params\":{\"tokenTransfers\":\"the list of token transfers to do\",\"transferList\":\"the list of hbar transfers to do\"}},\"deleteToken(address)\":{\"params\":{\"token\":\"The token address to be deleted\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"dissociateToken(address,address)\":{\"params\":{\"account\":\"The account to be associated with the provided token\",\"token\":\"The token to be associated with the provided account\"}},\"dissociateTokens(address,address[])\":{\"params\":{\"account\":\"The account to be dissociated from the provided tokens\",\"tokens\":\"The tokens to be dissociated from the provided account.\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"freezeToken(address,address)\":{\"params\":{\"account\":\"The account address to be frozen\",\"token\":\"The token address\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"getApproved(address,uint256)\":{\"params\":{\"serialNumber\":\"The NFT to find the approved address for\",\"token\":\"The Hedera NFT token address to check approval\"},\"returns\":{\"approved\":\"The approved address for this NFT, or the zero address if there is none\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"getFungibleTokenInfo(address)\":{\"params\":{\"token\":\"The token address to check\"},\"returns\":{\"fungibleTokenInfo\":\"FungibleTokenInfo info for `token`\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"getNonFungibleTokenInfo(address,int64)\":{\"params\":{\"serialNumber\":\"The NFT serialNumber to check\",\"token\":\"The token address to check\"},\"returns\":{\"nonFungibleTokenInfo\":\"NonFungibleTokenInfo info for `token` `serialNumber`\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"getTokenCustomFees(address)\":{\"params\":{\"token\":\"The token address to check\"},\"returns\":{\"fixedFees\":\"Set of fixed fees for `token`\",\"fractionalFees\":\"Set of fractional fees for `token`\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\",\"royaltyFees\":\"Set of royalty fees for `token`\"}},\"getTokenDefaultFreezeStatus(address)\":{\"params\":{\"token\":\"The token address to check\"},\"returns\":{\"defaultFreezeStatus\":\"True if `token` default freeze status is frozen.\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"getTokenDefaultKycStatus(address)\":{\"params\":{\"token\":\"The token address to check\"},\"returns\":{\"defaultKycStatus\":\"True if `token` default kyc status is KycNotApplicable and false if Revoked.\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"getTokenExpiryInfo(address)\":{\"params\":{\"token\":\"The token address to check\"},\"returns\":{\"expiry\":\"Expiry info for `token`\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"getTokenInfo(address)\":{\"params\":{\"token\":\"The token address to check\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\",\"tokenInfo\":\"TokenInfo info for `token`\"}},\"getTokenKey(address,uint256)\":{\"params\":{\"keyType\":\"The keyType of the desired KeyValue\",\"token\":\"The token address to check\"},\"returns\":{\"key\":\"KeyValue info for key of type `keyType`\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"getTokenType(address)\":{\"params\":{\"token\":\"The token address\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\",\"tokenType\":\"the token type. 0 is FUNGIBLE_COMMON, 1 is NON_FUNGIBLE_UNIQUE, -1 is UNRECOGNIZED\"}},\"grantTokenKyc(address,address)\":{\"params\":{\"account\":\"The account address to grant kyc\",\"token\":\"The token address\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"isApprovedForAll(address,address,address)\":{\"params\":{\"operator\":\"The address that acts on behalf of the owner\",\"owner\":\"The address that owns the NFTs\",\"token\":\"The Hedera NFT token address to approve\"},\"returns\":{\"approved\":\"True if `operator` is an approved operator for `owner`, false otherwise\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"isFrozen(address,address)\":{\"params\":{\"account\":\"The account address associated with the token\",\"token\":\"The token address to check\"},\"returns\":{\"frozen\":\"True if `account` is frozen for `token`\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"isKyc(address,address)\":{\"params\":{\"account\":\"The account address associated with the token\",\"token\":\"The token address to check\"},\"returns\":{\"kycGranted\":\"True if `account` has kyc granted for `token`\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"isToken(address)\":{\"params\":{\"token\":\"The token address\"},\"returns\":{\"isToken\":\"True if valid token found for the given address\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"mintToken(address,int64,bytes[])\":{\"params\":{\"amount\":\"Applicable to tokens of type FUNGIBLE_COMMON. The amount to mint to the Treasury Account. Amount must be a positive non-zero number represented in the lowest denomination of the token. The new supply must be lower than 2^63.\",\"metadata\":\"Applicable to tokens of type NON_FUNGIBLE_UNIQUE. A list of metadata that are being created. Maximum allowed size of each metadata is 100 bytes\",\"token\":\"The token for which to mint tokens. If token does not exist, transaction results in INVALID_TOKEN_ID\"},\"returns\":{\"newTotalSupply\":\"The new supply of tokens. For NFTs it is the total count of NFTs\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\",\"serialNumbers\":\"If the token is an NFT the newly generate serial numbers, othersise empty.\"}},\"pauseToken(address)\":{\"params\":{\"token\":\"The token address to be paused\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"redirectForToken(address,bytes)\":{\"params\":{\"encodedFunctionSelector\":\"The function selector from the ERC20 interface + the bytes input for the function called\",\"token\":\"The token address\"},\"returns\":{\"response\":\"The result of the call that had been encoded and sent for execution.\",\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"rejectTokens(address,address[],(address,int64)[])\":{\"params\":{\"ftAddresses\":\"Array of fungible token addresses to reject\",\"nftIDs\":\"Array of NFT IDs to reject\",\"rejectingAddress\":\"The address rejecting the tokens\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"revokeTokenKyc(address,address)\":{\"params\":{\"account\":\"The account address to revoke kyc\",\"token\":\"The token address\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"setApprovalForAll(address,address,bool)\":{\"params\":{\"approved\":\"True if the operator is approved, false to revoke approval\",\"operator\":\"Address to add to the set of authorized operators\",\"token\":\"The Hedera NFT token address to approve\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"transferFrom(address,address,address,uint256)\":{\"params\":{\"amount\":\"The amount of tokens to transfer from `from` to `to`\",\"from\":\"The account address of the owner of the token, on the behalf of which to transfer `amount` tokens\",\"to\":\"The account address of the receiver of the `amount` tokens\",\"token\":\"The address of the fungible Hedera token to transfer\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"transferFromNFT(address,address,address,uint256)\":{\"params\":{\"from\":\"The account address of the owner of `serialNumber` of `token`\",\"serialNumber\":\"The NFT serial number to transfer\",\"to\":\"The account address of the receiver of `serialNumber`\",\"token\":\"The address of the non-fungible Hedera token to transfer\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"transferNFT(address,address,address,int64)\":{\"params\":{\"recipient\":\"The receiver of the transaction\",\"sender\":\"The sender for the transaction\",\"serialNumber\":\"The serial number of the NFT to transfer.\",\"token\":\"The token to transfer to/from\"}},\"transferNFTs(address,address[],address[],int64[])\":{\"params\":{\"receiver\":\"the receiver of the nft sent by the same index at sender\",\"sender\":\"the sender of an nft\",\"serialNumber\":\"the serial number of the nft sent by the same index at sender\",\"token\":\"The ID of the token as a solidity address\"}},\"transferToken(address,address,address,int64)\":{\"params\":{\"amount\":\"Non-negative value to send. a negative value will result in a failure.\",\"recipient\":\"The receiver of the transaction\",\"sender\":\"The sender for the transaction\",\"token\":\"The token to transfer to/from\"}},\"transferTokens(address,address[],int64[])\":{\"params\":{\"accountId\":\"account to do a transfer to/from\",\"amount\":\"The amount from the accountId at the same index\",\"token\":\"The ID of the token as a solidity address\"}},\"unfreezeToken(address,address)\":{\"params\":{\"account\":\"The account address to be unfrozen\",\"token\":\"The token address\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"unpauseToken(address)\":{\"params\":{\"token\":\"The token address to be unpaused\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"updateFungibleTokenCustomFees(address,(int64,address,bool,bool,address)[],(int64,int64,int64,int64,bool,address)[])\":{\"params\":{\"fixedFees\":\"Set of fixed fees for `token`\",\"fractionalFees\":\"Set of fractional fees for `token`\",\"token\":\"The token address\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"updateNonFungibleTokenCustomFees(address,(int64,address,bool,bool,address)[],(int64,int64,int64,address,bool,address)[])\":{\"params\":{\"fixedFees\":\"Set of fixed fees for `token`\",\"royaltyFees\":\"Set of royalty fees for `token`\",\"token\":\"The token address\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"updateTokenExpiryInfo(address,(int64,address,int64))\":{\"params\":{\"expiryInfo\":\"The hedera token expiry info\",\"token\":\"The token address\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"updateTokenInfo(address,(string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)))\":{\"params\":{\"token\":\"The token address\",\"tokenInfo\":\"The hedera token info to update token with\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"updateTokenKeys(address,(uint256,(bool,address,bytes,bytes,address))[])\":{\"params\":{\"keys\":\"The token keys\",\"token\":\"The token address\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"wipeTokenAccount(address,address,int64)\":{\"params\":{\"account\":\"The account address to revoke kyc\",\"amount\":\"The number of tokens to wipe\",\"token\":\"The token address\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}},\"wipeTokenAccountNFT(address,address,int64[])\":{\"params\":{\"account\":\"The account address to revoke kyc\",\"serialNumbers\":\"The serial numbers of token to wipe\",\"token\":\"The token address\"},\"returns\":{\"responseCode\":\"The response code for the status of the request. SUCCESS is 22.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"airdropTokens((address,(address,int64,bool)[],(address,address,int64,bool)[])[])\":{\"notice\":\"Airdrop one or more tokens to one or more accountsRecipients will receive tokens in one of these ways:- Immediately if already associated with the token- Immediately with auto-association if they have available slots- As a pending airdrop requiring claim if they have \\\"receiver signature required\\\"- As a pending airdrop requiring claim if they have no available auto-association slotsImmediate airdrops are irreversible, pending airdrops can be canceledAll transfer fees and auto-renewal rent costs are charged to the transaction submitter\"},\"allowance(address,address,address)\":{\"notice\":\"Returns the amount which spender is still allowed to withdraw from owner. Only Applicable to Fungible Tokens\"},\"approve(address,address,uint256)\":{\"notice\":\"Allows spender to withdraw from your account multiple times, up to the value amount. If this function is called again it overwrites the current allowance with value. Only Applicable to Fungible Tokens\"},\"approveNFT(address,address,uint256)\":{\"notice\":\"Allow or reaffirm the approved address to transfer an NFT the approved address does not own. Only Applicable to NFT Tokens\"},\"associateToken(address,address)\":{\"notice\":\"Single-token variant of associateTokens. Will be mapped to a single entry array call of associateTokens\"},\"associateTokens(address,address[])\":{\"notice\":\"Associates the provided account with the provided tokens. Must be signed by the provided Account's key or called from the accounts contract key If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID. If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED. If any of the provided tokens is not found, the transaction will resolve to INVALID_TOKEN_REF. If any of the provided tokens has been deleted, the transaction will resolve to TOKEN_WAS_DELETED. If an association between the provided account and any of the tokens already exists, the transaction will resolve to TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT. If the provided account's associations count exceed the constraint of maximum token associations per account, the transaction will resolve to TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED. On success, associations between the provided account and tokens are made and the account is ready to interact with the tokens.\"},\"burnToken(address,int64,int64[])\":{\"notice\":\"Burns an amount of the token from the defined treasury account\"},\"cancelAirdrops((address,address,address,int64)[])\":{\"notice\":\"Cancels pending airdrops that have not yet been claimed\"},\"claimAirdrops((address,address,address,int64)[])\":{\"notice\":\"Claims pending airdrops that were sent to the calling account\"},\"createFungibleToken((string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)),int64,int32)\":{\"notice\":\"Creates a Fungible Token with the specified properties\"},\"createFungibleTokenWithCustomFees((string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)),int64,int32,(int64,address,bool,bool,address)[],(int64,int64,int64,int64,bool,address)[])\":{\"notice\":\"Creates a Fungible Token with the specified properties\"},\"createNonFungibleToken((string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)))\":{\"notice\":\"Creates an Non Fungible Unique Token with the specified properties\"},\"createNonFungibleTokenWithCustomFees((string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)),(int64,address,bool,bool,address)[],(int64,int64,int64,address,bool,address)[])\":{\"notice\":\"Creates an Non Fungible Unique Token with the specified properties\"},\"cryptoTransfer(((address,int64,bool)[]),(address,(address,int64,bool)[],(address,address,int64,bool)[])[])\":{\"notice\":\"Performs transfers among combinations of tokens and hbars\"},\"deleteToken(address)\":{\"notice\":\"Operation to delete token\"},\"dissociateToken(address,address)\":{\"notice\":\"Single-token variant of dissociateTokens. Will be mapped to a single entry array call of dissociateTokens\"},\"dissociateTokens(address,address[])\":{\"notice\":\"Dissociates the provided account with the provided tokens. Must be signed by the provided Account's key. If the provided account is not found, the transaction will resolve to INVALID_ACCOUNT_ID. If the provided account has been deleted, the transaction will resolve to ACCOUNT_DELETED. If any of the provided tokens is not found, the transaction will resolve to INVALID_TOKEN_REF. If any of the provided tokens has been deleted, the transaction will resolve to TOKEN_WAS_DELETED. If an association between the provided account and any of the tokens does not exist, the transaction will resolve to TOKEN_NOT_ASSOCIATED_TO_ACCOUNT. If a token has not been deleted and has not expired, and the user has a nonzero balance, the transaction will resolve to TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES. If a fungible token has expired, the user can disassociate even if their token balance is not zero. If a non fungible token has expired, the user can not disassociate if their token balance is not zero. The transaction will resolve to TRANSACTION_REQUIRED_ZERO_TOKEN_BALANCES. On success, associations between the provided account and tokens are removed.\"},\"freezeToken(address,address)\":{\"notice\":\"Operation to freeze token account\"},\"getApproved(address,uint256)\":{\"notice\":\"Get the approved address for a single NFT Only Applicable to NFT Tokens\"},\"getFungibleTokenInfo(address)\":{\"notice\":\"Query fungible token info\"},\"getNonFungibleTokenInfo(address,int64)\":{\"notice\":\"Query non fungible token info\"},\"getTokenCustomFees(address)\":{\"notice\":\"Query token custom fees\"},\"getTokenDefaultFreezeStatus(address)\":{\"notice\":\"Query token default freeze status\"},\"getTokenDefaultKycStatus(address)\":{\"notice\":\"Query token default kyc status\"},\"getTokenExpiryInfo(address)\":{\"notice\":\"Query token expiry info\"},\"getTokenInfo(address)\":{\"notice\":\"Query token info\"},\"getTokenKey(address,uint256)\":{\"notice\":\"Query token KeyValue\"},\"getTokenType(address)\":{\"notice\":\"Query to return the token type for a given address\"},\"grantTokenKyc(address,address)\":{\"notice\":\"Operation to grant kyc to token account\"},\"isApprovedForAll(address,address,address)\":{\"notice\":\"Query if an address is an authorized operator for another address Only Applicable to NFT Tokens\"},\"isFrozen(address,address)\":{\"notice\":\"Query if token account is frozen\"},\"isKyc(address,address)\":{\"notice\":\"Query if token account has kyc granted\"},\"isToken(address)\":{\"notice\":\"Query if valid token found for the given address\"},\"mintToken(address,int64,bytes[])\":{\"notice\":\"Mints an amount of the token to the defined treasury account\"},\"pauseToken(address)\":{\"notice\":\"Operation to pause token\"},\"redirectForToken(address,bytes)\":{\"notice\":\"Initiates a Redirect For Token\"},\"rejectTokens(address,address[],(address,int64)[])\":{\"notice\":\"Rejects one or more tokens by transferring their full balance from the requesting account to the treasuryThis transfer does not charge any custom fees or royalties defined for the tokensFor fungible tokens, the requesting account's balance will become 0 and the treasury balance will increase by that amountFor non-fungible tokens, the requesting account will no longer hold the rejected serial numbers and they will be transferred to the treasury\"},\"revokeTokenKyc(address,address)\":{\"notice\":\"Operation to revoke kyc to token account\"},\"setApprovalForAll(address,address,bool)\":{\"notice\":\"Enable or disable approval for a third party (\\\"operator\\\") to manage all of `msg.sender`'s assets\"},\"transferFrom(address,address,address,uint256)\":{\"notice\":\"Only applicable to fungible tokens\"},\"transferFromNFT(address,address,address,uint256)\":{\"notice\":\"Transfers `serialNumber` of `token` from `from` to `to` using the allowance mechanism. Only applicable to NFT tokens\"},\"transferNFT(address,address,address,int64)\":{\"notice\":\"Transfers tokens where the calling account/contract is implicitly the first entry in the token transfer list, where the amount is the value needed to zero balance the transfers. Regular signing rules apply for sending (positive amount) or receiving (negative amount)\"},\"transferNFTs(address,address[],address[],int64[])\":{\"notice\":\"Initiates a Non-Fungable Token Transfer\"},\"transferToken(address,address,address,int64)\":{\"notice\":\"Transfers tokens where the calling account/contract is implicitly the first entry in the token transfer list, where the amount is the value needed to zero balance the transfers. Regular signing rules apply for sending (positive amount) or receiving (negative amount)\"},\"transferTokens(address,address[],int64[])\":{\"notice\":\"Initiates a Fungible Token Transfer\"},\"unfreezeToken(address,address)\":{\"notice\":\"Operation to unfreeze token account\"},\"unpauseToken(address)\":{\"notice\":\"Operation to unpause token\"},\"updateFungibleTokenCustomFees(address,(int64,address,bool,bool,address)[],(int64,int64,int64,int64,bool,address)[])\":{\"notice\":\"Update the custom fees for a fungible token\"},\"updateNonFungibleTokenCustomFees(address,(int64,address,bool,bool,address)[],(int64,int64,int64,address,bool,address)[])\":{\"notice\":\"Update the custom fees for a non-fungible token\"},\"updateTokenExpiryInfo(address,(int64,address,int64))\":{\"notice\":\"Operation to update token expiry info\"},\"updateTokenInfo(address,(string,string,address,string,bool,int64,bool,(uint256,(bool,address,bytes,bytes,address))[],(int64,address,int64)))\":{\"notice\":\"Operation to update token info\"},\"updateTokenKeys(address,(uint256,(bool,address,bytes,bytes,address))[])\":{\"notice\":\"Operation to update token expiry info\"},\"wipeTokenAccount(address,address,int64)\":{\"notice\":\"Operation to wipe fungible tokens from account\"},\"wipeTokenAccountNFT(address,address,int64[])\":{\"notice\":\"Operation to wipe non fungible tokens from account\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/utils/IHederaTokenService.sol\":\"IHederaTokenService\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/utils/IHederaTokenService.sol\":{\"keccak256\":\"0x2cb0d441a567343343115d8d3a9ccc916608d59bbf76e903d79b6a3afd4a6b92\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://05c87ad3d1feb8e9b20f763a3f1a311666e7797eb350d047921570e0b909df22\",\"dweb:/ipfs/Qmc3mnG9ciHKPEd3FTZ15yP4DP43R9FzuNtBiY1uYTrKEp\"]}},\"version\":1}"}},"contracts/utils/KeyHelper.sol":{"Bits":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d7dfa46a2c8ea80795b16a97d989816432f70f4a92a17a4bc36ee6c9eda5a1c364736f6c63430008120033","opcodes":"PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD7 0xDF LOG4 PUSH11 0x2C8EA80795B16A97D98981 PUSH5 0x32F70F4A92 LOG1 PUSH27 0x4BC36EE6C9EDA5A1C364736F6C6343000812003300000000000000 ","sourceMap":"5325:284:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d7dfa46a2c8ea80795b16a97d989816432f70f4a92a17a4bc36ee6c9eda5a1c364736f6c63430008120033","opcodes":"PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD7 0xDF LOG4 PUSH11 0x2C8EA80795B16A97D98981 PUSH5 0x32F70F4A92 LOG1 PUSH27 0x4BC36EE6C9EDA5A1C364736F6C6343000812003300000000000000 ","sourceMap":"5325:284:5:-:0;;;;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/utils/KeyHelper.sol\":\"Bits\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/utils/HederaResponseCodes.sol\":{\"keccak256\":\"0x0361e18efdf43d6b5ac136b6beaa4c943d7fe5e9b8515e5605e3a13b3e3a8177\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d8bc2fcf2c308293f8ba791184080ab67406e973d2e3f1c70976a77f26a41752\",\"dweb:/ipfs/QmQrC4wQ1z7GiC79FLa2rbJDqDNCqkHVf3xLq2stFtpema\"]},\"contracts/utils/HederaTokenService.sol\":{\"keccak256\":\"0xd5295cf8f5e341e780ccd201bdc8ac75516cdf4d1566192beaaa006279558142\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d67ad6ff71c88e9cc51eef68e82f42e1df078408144598ea9c678610d2bfbbbc\",\"dweb:/ipfs/QmWCvshiyVMsuABJV1mPQHrrD1DZfmT7JaGG1dkZyYXTzV\"]},\"contracts/utils/IHederaTokenService.sol\":{\"keccak256\":\"0x2cb0d441a567343343115d8d3a9ccc916608d59bbf76e903d79b6a3afd4a6b92\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://05c87ad3d1feb8e9b20f763a3f1a311666e7797eb350d047921570e0b909df22\",\"dweb:/ipfs/Qmc3mnG9ciHKPEd3FTZ15yP4DP43R9FzuNtBiY1uYTrKEp\"]},\"contracts/utils/KeyHelper.sol\":{\"keccak256\":\"0xd86cf06546096eea24c4a7f5e3003ca41055981f85123d61e4686d6499010d96\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5bfbc7e606371868017294b32e06a451ca17d65ec21f14eb35c9f3bf8d791f4c\",\"dweb:/ipfs/QmfWpJaZd5faWM1ViXht7noQCFozm6sVA7V6FXXBMWsZhA\"]}},\"version\":1}"},"KeyHelper":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.18+commit.87f61d96\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/utils/KeyHelper.sol\":\"KeyHelper\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/utils/HederaResponseCodes.sol\":{\"keccak256\":\"0x0361e18efdf43d6b5ac136b6beaa4c943d7fe5e9b8515e5605e3a13b3e3a8177\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d8bc2fcf2c308293f8ba791184080ab67406e973d2e3f1c70976a77f26a41752\",\"dweb:/ipfs/QmQrC4wQ1z7GiC79FLa2rbJDqDNCqkHVf3xLq2stFtpema\"]},\"contracts/utils/HederaTokenService.sol\":{\"keccak256\":\"0xd5295cf8f5e341e780ccd201bdc8ac75516cdf4d1566192beaaa006279558142\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d67ad6ff71c88e9cc51eef68e82f42e1df078408144598ea9c678610d2bfbbbc\",\"dweb:/ipfs/QmWCvshiyVMsuABJV1mPQHrrD1DZfmT7JaGG1dkZyYXTzV\"]},\"contracts/utils/IHederaTokenService.sol\":{\"keccak256\":\"0x2cb0d441a567343343115d8d3a9ccc916608d59bbf76e903d79b6a3afd4a6b92\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://05c87ad3d1feb8e9b20f763a3f1a311666e7797eb350d047921570e0b909df22\",\"dweb:/ipfs/Qmc3mnG9ciHKPEd3FTZ15yP4DP43R9FzuNtBiY1uYTrKEp\"]},\"contracts/utils/KeyHelper.sol\":{\"keccak256\":\"0xd86cf06546096eea24c4a7f5e3003ca41055981f85123d61e4686d6499010d96\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5bfbc7e606371868017294b32e06a451ca17d65ec21f14eb35c9f3bf8d791f4c\",\"dweb:/ipfs/QmfWpJaZd5faWM1ViXht7noQCFozm6sVA7V6FXXBMWsZhA\"]}},\"version\":1}"}}}}}
\ No newline at end of file
diff --git a/contracts/artifacts/contracts/NFTContract.sol/NFTContract.dbg.json b/contracts/artifacts/contracts/NFTContract.sol/NFTContract.dbg.json
index 65c4f61..4faec2d 100644
--- a/contracts/artifacts/contracts/NFTContract.sol/NFTContract.dbg.json
+++ b/contracts/artifacts/contracts/NFTContract.sol/NFTContract.dbg.json
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
- "buildInfo": "../../build-info/fdd9c5e1222ec4644fba7d05a6b0a6ea.json"
+ "buildInfo": "../../build-info/e0d27f44f97abb5534e508a66a390154.json"
}
diff --git a/contracts/artifacts/contracts/NFTContract.sol/NFTContract.json b/contracts/artifacts/contracts/NFTContract.sol/NFTContract.json
index 9ec6c03..c4c415a 100644
--- a/contracts/artifacts/contracts/NFTContract.sol/NFTContract.json
+++ b/contracts/artifacts/contracts/NFTContract.sol/NFTContract.json
@@ -27,6 +27,64 @@
"name": "CallResponseEvent",
"type": "event"
},
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "minter",
+ "type": "address"
+ }
+ ],
+ "name": "MinterAdded",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
+ "inputs": [
+ {
+ "indexed": true,
+ "internalType": "address",
+ "name": "minter",
+ "type": "address"
+ }
+ ],
+ "name": "MinterRemoved",
+ "type": "event"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "minter",
+ "type": "address"
+ }
+ ],
+ "name": "addMinter",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "",
+ "type": "address"
+ }
+ ],
+ "name": "authorizedMinters",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
{
"inputs": [
{
@@ -128,6 +186,25 @@
"stateMutability": "view",
"type": "function"
},
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "account",
+ "type": "address"
+ }
+ ],
+ "name": "isMinter",
+ "outputs": [
+ {
+ "internalType": "bool",
+ "name": "",
+ "type": "bool"
+ }
+ ],
+ "stateMutability": "view",
+ "type": "function"
+ },
{
"inputs": [
{
@@ -237,6 +314,19 @@
"stateMutability": "nonpayable",
"type": "function"
},
+ {
+ "inputs": [
+ {
+ "internalType": "address",
+ "name": "minter",
+ "type": "address"
+ }
+ ],
+ "name": "removeMinter",
+ "outputs": [],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
{
"inputs": [
{
@@ -306,8 +396,8 @@
"type": "function"
}
],
- "bytecode": "0x60806040523480156200001157600080fd5b5060018060008060068111156200002d576200002c62000232565b5b600681111562000042576200004162000232565b5b8152602001908152602001600020819055506002600160006001600681111562000071576200007062000232565b5b600681111562000086576200008562000232565b5b81526020019081526020016000208190555060046001600060026006811115620000b557620000b462000232565b5b6006811115620000ca57620000c962000232565b5b81526020019081526020016000208190555060086001600060036006811115620000f957620000f862000232565b5b60068111156200010e576200010d62000232565b5b815260200190815260200160002081905550601060016000600460068111156200013d576200013c62000232565b5b600681111562000152576200015162000232565b5b8152602001908152602001600020819055506020600160006005600681111562000181576200018062000232565b5b600681111562000196576200019562000232565b5b815260200190815260200160002081905550604060016000600680811115620001c457620001c362000232565b5b6006811115620001d957620001d862000232565b5b81526020019081526020016000208190555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000261565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61275080620002716000396000f3fe60806040526004361061009c5760003560e01c80639b23d3d9116100645780639b23d3d9146101c1578063b6c907a6146101fe578063c985c6521461022e578063d689332f1461026b578063e0a6ad65146102a8578063f1d9d8df146102e55761009c565b806302f6ef87146100a157806315dacbea146100de578063618dc65e1461011b578063836993e2146101595780638da5cb5b14610196575b600080fd5b3480156100ad57600080fd5b506100c860048036038101906100c3919061141d565b610322565b6040516100d5919061148b565b60405180910390f35b3480156100ea57600080fd5b5061010560048036038101906101009190611508565b610355565b604051610112919061157e565b60405180910390f35b34801561012757600080fd5b50610142600480360381019061013d91906116df565b610473565b6040516101509291906117d3565b60405180910390f35b34801561016557600080fd5b50610180600480360381019061017b919061141d565b6105cf565b60405161018d919061181e565b60405180910390f35b3480156101a257600080fd5b506101ab6105ff565b6040516101b8919061148b565b60405180910390f35b3480156101cd57600080fd5b506101e860048036038101906101e39190611508565b610625565b6040516101f5919061157e565b60405180910390f35b610218600480360381019061021391906118da565b610743565b604051610225919061148b565b60405180910390f35b34801561023a57600080fd5b506102556004803603810190610250919061141d565b61096b565b604051610262919061148b565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d919061141d565b6109ae565b60405161029f919061181e565b60405180910390f35b3480156102b457600080fd5b506102cf60048036038101906102ca9190611a8f565b6109ce565b6040516102dc919061157e565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190611afe565b610b54565b6040516103199190611b3e565b60405180910390f35b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061016773ffffffffffffffffffffffffffffffffffffffff166315dacbea60e01b888888886040516024016103929493929190611b68565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103fc9190611be9565b6000604051808303816000865af19150503d8060008114610439576040519150601f19603f3d011682016040523d82523d6000602084013e61043e565b606091505b50915091508161044f576015610464565b808060200190518101906104639190611c39565b5b60030b92505050949350505050565b6000606060008061016773ffffffffffffffffffffffffffffffffffffffff1663618dc65e60e01b87876040516024016104ae929190611c66565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105189190611be9565b6000604051808303816000865af19150503d8060008114610555576040519150601f19603f3d011682016040523d82523d6000602084013e61055a565b606091505b50915091507f4af4780e06fe8cb9df64b0794fa6f01399af979175bb988e35e0e57e594567bc8282604051610590929190611c96565b60405180910390a1816105b4576015604051806020016040528060008152506105b8565b6016815b8160030b9150809450819550505050509250929050565b6000600460008360070b60070b815260200190815260200160002060009054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061016773ffffffffffffffffffffffffffffffffffffffff16639b23d3d960e01b888888886040516024016106629493929190611b68565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516106cc9190611be9565b6000604051808303816000865af19150503d8060008114610709576040519150601f19603f3d011682016040523d82523d6000602084013e61070e565b606091505b50915091508161071f576015610734565b808060200190518101906107339190611c39565b5b60030b92505050949350505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cc90611d49565b60405180910390fd5b6000600167ffffffffffffffff8111156107f2576107f16115b4565b5b60405190808252806020026020018201604052801561082b57816020015b6108186112a7565b8152602001906001900390816108105790505b50905061083b6004600130610cf6565b8160008151811061084f5761084e611d69565b5b60200260200101819052506108626112c7565b87816000018190525086816020018190525085816060018190525030816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001816080019015159081151581525050848160a0019060070b908160070b81525050818160e0018190525060008160c00190151590811515815250506108fc3085610d2d565b81610100018190525060008061091183610d85565b91509150601660030b821461095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290611e0a565b60405180910390fd5b8094505050505095945050505050565b6000600360008360070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60046020528060005260406000206000915054906101000a900460ff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5790611d49565b60405180910390fd5b600080610a6f86600087610ef4565b9250509150601660030b8214610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190611e9c565b60405180910390fd5b836003600083600081518110610ad357610ad2611d69565b5b602002602001015160070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600081518110610b4157610b40611d69565b5b6020026020010151925050509392505050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf490611f2e565b60405180910390fd5b600460008360070b60070b815260200190815260200160002060009054906101000a900460ff1615610c64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5b90611f9a565b60405180910390fd5b6000610c728430338661106c565b9050601660030b8114610cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb19061202c565b60405180910390fd5b6001600460008560070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055508091505092915050565b610cfe6112a7565b6040518060400160405280610d128661118a565b8152602001610d2185856111cb565b81525090509392505050565b610d35611336565b82816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505081816040019060070b908160070b8152505092915050565b6000808260008161010001516000015160070b148015610db1575060008161010001516040015160070b145b15610dd4576276a70060030b8161010001516040019060070b908160070b815250505b60008061016773ffffffffffffffffffffffffffffffffffffffff163463ea83f29360e01b88604051602401610e0a91906123bf565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610e749190611be9565b60006040518083038185875af1925050503d8060008114610eb1576040519150601f19603f3d011682016040523d82523d6000602084013e610eb6565b606091505b509150915081610ec95760156000610ede565b80806020019051810190610edd919061241f565b5b8160030b91508095508196505050505050915091565b600080606060008061016773ffffffffffffffffffffffffffffffffffffffff1663e0f4059a60e01b898989604051602401610f3293929190612521565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610f9c9190611be9565b6000604051808303816000865af19150503d8060008114610fd9576040519150601f19603f3d011682016040523d82523d6000602084013e610fde565b606091505b50915091508161103a57601560008067ffffffffffffffff811115611006576110056115b4565b5b6040519080825280602002602001820160405280156110345781602001602082028036833780820191505090505b5061104f565b8080602001905181019061104e9190612637565b5b8260030b9250809550819650829750505050505093509350939050565b600080600061016773ffffffffffffffffffffffffffffffffffffffff16635cfc901160e01b888888886040516024016110a994939291906126a6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516111139190611be9565b6000604051808303816000865af19150503d8060008114611150576040519150601f19603f3d011682016040523d82523d6000602084013e611155565b606091505b50915091508161116657601561117b565b8080602001905181019061117a9190611c39565b5b60030b92505050949350505050565b6000600160008360068111156111a3576111a26126eb565b5b60068111156111b5576111b46126eb565b5b8152602001908152602001600020549050919050565b6111d3611373565b600160048111156111e7576111e66126eb565b5b8360048111156111fa576111f96126eb565b5b0361123c5781816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506112a1565b60048081111561124f5761124e6126eb565b5b836004811115611262576112616126eb565b5b036112a05781816080019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b5b92915050565b6040518060400160405280600081526020016112c1611373565b81525090565b6040518061012001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001600015158152602001600060070b815260200160001515815260200160608152602001611330611336565b81525090565b6040518060600160405280600060070b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060070b81525090565b6040518060a00160405280600015158152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b60008160070b9050919050565b6113fa816113e4565b811461140557600080fd5b50565b600081359050611417816113f1565b92915050565b600060208284031215611433576114326113da565b5b600061144184828501611408565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114758261144a565b9050919050565b6114858161146a565b82525050565b60006020820190506114a0600083018461147c565b92915050565b6114af8161146a565b81146114ba57600080fd5b50565b6000813590506114cc816114a6565b92915050565b6000819050919050565b6114e5816114d2565b81146114f057600080fd5b50565b600081359050611502816114dc565b92915050565b60008060008060808587031215611522576115216113da565b5b6000611530878288016114bd565b9450506020611541878288016114bd565b9350506040611552878288016114bd565b9250506060611563878288016114f3565b91505092959194509250565b611578816113e4565b82525050565b6000602082019050611593600083018461156f565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6115ec826115a3565b810181811067ffffffffffffffff8211171561160b5761160a6115b4565b5b80604052505050565b600061161e6113d0565b905061162a82826115e3565b919050565b600067ffffffffffffffff82111561164a576116496115b4565b5b611653826115a3565b9050602081019050919050565b82818337600083830152505050565b600061168261167d8461162f565b611614565b90508281526020810184848401111561169e5761169d61159e565b5b6116a9848285611660565b509392505050565b600082601f8301126116c6576116c5611599565b5b81356116d684826020860161166f565b91505092915050565b600080604083850312156116f6576116f56113da565b5b6000611704858286016114bd565b925050602083013567ffffffffffffffff811115611725576117246113df565b5b611731858286016116b1565b9150509250929050565b6000819050919050565b61174e8161173b565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561178e578082015181840152602081019050611773565b60008484015250505050565b60006117a582611754565b6117af818561175f565b93506117bf818560208601611770565b6117c8816115a3565b840191505092915050565b60006040820190506117e86000830185611745565b81810360208301526117fa818461179a565b90509392505050565b60008115159050919050565b61181881611803565b82525050565b6000602082019050611833600083018461180f565b92915050565b600067ffffffffffffffff821115611854576118536115b4565b5b61185d826115a3565b9050602081019050919050565b600061187d61187884611839565b611614565b9050828152602081018484840111156118995761189861159e565b5b6118a4848285611660565b509392505050565b600082601f8301126118c1576118c0611599565b5b81356118d184826020860161186a565b91505092915050565b600080600080600060a086880312156118f6576118f56113da565b5b600086013567ffffffffffffffff811115611914576119136113df565b5b611920888289016118ac565b955050602086013567ffffffffffffffff811115611941576119406113df565b5b61194d888289016118ac565b945050604086013567ffffffffffffffff81111561196e5761196d6113df565b5b61197a888289016118ac565b935050606061198b88828901611408565b925050608061199c88828901611408565b9150509295509295909350565b600067ffffffffffffffff8211156119c4576119c36115b4565b5b602082029050602081019050919050565b600080fd5b60006119ed6119e8846119a9565b611614565b90508083825260208201905060208402830185811115611a1057611a0f6119d5565b5b835b81811015611a5757803567ffffffffffffffff811115611a3557611a34611599565b5b808601611a4289826116b1565b85526020850194505050602081019050611a12565b5050509392505050565b600082601f830112611a7657611a75611599565b5b8135611a868482602086016119da565b91505092915050565b600080600060608486031215611aa857611aa76113da565b5b6000611ab6868287016114bd565b935050602084013567ffffffffffffffff811115611ad757611ad66113df565b5b611ae386828701611a61565b9250506040611af4868287016114bd565b9150509250925092565b60008060408385031215611b1557611b146113da565b5b6000611b23858286016114bd565b9250506020611b3485828601611408565b9150509250929050565b6000602082019050611b536000830184611745565b92915050565b611b62816114d2565b82525050565b6000608082019050611b7d600083018761147c565b611b8a602083018661147c565b611b97604083018561147c565b611ba46060830184611b59565b95945050505050565b600081905092915050565b6000611bc382611754565b611bcd8185611bad565b9350611bdd818560208601611770565b80840191505092915050565b6000611bf58284611bb8565b915081905092915050565b60008160030b9050919050565b611c1681611c00565b8114611c2157600080fd5b50565b600081519050611c3381611c0d565b92915050565b600060208284031215611c4f57611c4e6113da565b5b6000611c5d84828501611c24565b91505092915050565b6000604082019050611c7b600083018561147c565b8181036020830152611c8d818461179a565b90509392505050565b6000604082019050611cab600083018561180f565b8181036020830152611cbd818461179a565b90509392505050565b600082825260208201905092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d33602183611cc6565b9150611d3e82611cd7565b604082019050919050565b60006020820190508181036000830152611d6281611d26565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4661696c656420746f20637265617465206e6f6e2d66756e6769626c6520746f60008201527f6b656e0000000000000000000000000000000000000000000000000000000000602082015250565b6000611df4602383611cc6565b9150611dff82611d98565b604082019050919050565b60006020820190508181036000830152611e2381611de7565b9050919050565b7f4661696c656420746f206d696e74206e6f6e2d66756e6769626c6520746f6b6560008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e86602183611cc6565b9150611e9182611e2a565b604082019050919050565b60006020820190508181036000830152611eb581611e79565b9050919050565b7f596f7520617265206e6f7420617574686f72697a656420746f20636c61696d2060008201527f74686973204e4654000000000000000000000000000000000000000000000000602082015250565b6000611f18602883611cc6565b9150611f2382611ebc565b604082019050919050565b60006020820190508181036000830152611f4781611f0b565b9050919050565b7f4e46542068617320616c7265616479206265656e20636c61696d656400000000600082015250565b6000611f84601c83611cc6565b9150611f8f82611f4e565b602082019050919050565b60006020820190508181036000830152611fb381611f77565b9050919050565b7f4661696c656420746f207472616e73666572206e6f6e2d66756e6769626c652060008201527f746f6b656e000000000000000000000000000000000000000000000000000000602082015250565b6000612016602583611cc6565b915061202182611fba565b604082019050919050565b6000602082019050818103600083015261204581612009565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006120738261204c565b61207d8185612057565b935061208d818560208601611770565b612096816115a3565b840191505092915050565b6120aa8161146a565b82525050565b6120b981611803565b82525050565b6120c8816113e4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612103816114d2565b82525050565b600082825260208201905092915050565b600061212582611754565b61212f8185612109565b935061213f818560208601611770565b612148816115a3565b840191505092915050565b600060a08301600083015161216b60008601826120b0565b50602083015161217e60208601826120a1565b5060408301518482036040860152612196828261211a565b915050606083015184820360608601526121b0828261211a565b91505060808301516121c560808601826120a1565b508091505092915050565b60006040830160008301516121e860008601826120fa565b50602083015184820360208601526122008282612153565b9150508091505092915050565b600061221983836121d0565b905092915050565b6000602082019050919050565b6000612239826120ce565b61224381856120d9565b935083602082028501612255856120ea565b8060005b858110156122915784840389528151612272858261220d565b945061227d83612221565b925060208a01995050600181019050612259565b50829750879550505050505092915050565b6060820160008201516122b960008501826120bf565b5060208201516122cc60208501826120a1565b5060408201516122df60408501826120bf565b50505050565b60006101608301600083015184820360008601526123038282612068565b9150506020830151848203602086015261231d8282612068565b915050604083015161233260408601826120a1565b506060830151848203606086015261234a8282612068565b915050608083015161235f60808601826120b0565b5060a083015161237260a08601826120bf565b5060c083015161238560c08601826120b0565b5060e083015184820360e086015261239d828261222e565b9150506101008301516123b46101008601826122a3565b508091505092915050565b600060208201905081810360008301526123d981846122e5565b905092915050565b60006123ec8261144a565b9050919050565b6123fc816123e1565b811461240757600080fd5b50565b600081519050612419816123f3565b92915050565b60008060408385031215612436576124356113da565b5b600061244485828601611c24565b92505060206124558582860161240a565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000612497838361211a565b905092915050565b6000602082019050919050565b60006124b78261245f565b6124c1818561246a565b9350836020820285016124d38561247b565b8060005b8581101561250f57848403895281516124f0858261248b565b94506124fb8361249f565b925060208a019950506001810190506124d7565b50829750879550505050505092915050565b6000606082019050612536600083018661147c565b612543602083018561156f565b818103604083015261255581846124ac565b9050949350505050565b60008151905061256e816113f1565b92915050565b600067ffffffffffffffff82111561258f5761258e6115b4565b5b602082029050602081019050919050565b60006125b36125ae84612574565b611614565b905080838252602082019050602084028301858111156125d6576125d56119d5565b5b835b818110156125ff57806125eb888261255f565b8452602084019350506020810190506125d8565b5050509392505050565b600082601f83011261261e5761261d611599565b5b815161262e8482602086016125a0565b91505092915050565b6000806000606084860312156126505761264f6113da565b5b600061265e86828701611c24565b935050602061266f8682870161255f565b925050604084015167ffffffffffffffff8111156126905761268f6113df565b5b61269c86828701612609565b9150509250925092565b60006080820190506126bb600083018761147c565b6126c8602083018661147c565b6126d5604083018561147c565b6126e2606083018461156f565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122051db1df0f20a3d0f46ca7dfe18c76da7431ff1e7db964cec45939efdbe0ea63064736f6c63430008120033",
- "deployedBytecode": "0x60806040526004361061009c5760003560e01c80639b23d3d9116100645780639b23d3d9146101c1578063b6c907a6146101fe578063c985c6521461022e578063d689332f1461026b578063e0a6ad65146102a8578063f1d9d8df146102e55761009c565b806302f6ef87146100a157806315dacbea146100de578063618dc65e1461011b578063836993e2146101595780638da5cb5b14610196575b600080fd5b3480156100ad57600080fd5b506100c860048036038101906100c3919061141d565b610322565b6040516100d5919061148b565b60405180910390f35b3480156100ea57600080fd5b5061010560048036038101906101009190611508565b610355565b604051610112919061157e565b60405180910390f35b34801561012757600080fd5b50610142600480360381019061013d91906116df565b610473565b6040516101509291906117d3565b60405180910390f35b34801561016557600080fd5b50610180600480360381019061017b919061141d565b6105cf565b60405161018d919061181e565b60405180910390f35b3480156101a257600080fd5b506101ab6105ff565b6040516101b8919061148b565b60405180910390f35b3480156101cd57600080fd5b506101e860048036038101906101e39190611508565b610625565b6040516101f5919061157e565b60405180910390f35b610218600480360381019061021391906118da565b610743565b604051610225919061148b565b60405180910390f35b34801561023a57600080fd5b506102556004803603810190610250919061141d565b61096b565b604051610262919061148b565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d919061141d565b6109ae565b60405161029f919061181e565b60405180910390f35b3480156102b457600080fd5b506102cf60048036038101906102ca9190611a8f565b6109ce565b6040516102dc919061157e565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190611afe565b610b54565b6040516103199190611b3e565b60405180910390f35b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061016773ffffffffffffffffffffffffffffffffffffffff166315dacbea60e01b888888886040516024016103929493929190611b68565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516103fc9190611be9565b6000604051808303816000865af19150503d8060008114610439576040519150601f19603f3d011682016040523d82523d6000602084013e61043e565b606091505b50915091508161044f576015610464565b808060200190518101906104639190611c39565b5b60030b92505050949350505050565b6000606060008061016773ffffffffffffffffffffffffffffffffffffffff1663618dc65e60e01b87876040516024016104ae929190611c66565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105189190611be9565b6000604051808303816000865af19150503d8060008114610555576040519150601f19603f3d011682016040523d82523d6000602084013e61055a565b606091505b50915091507f4af4780e06fe8cb9df64b0794fa6f01399af979175bb988e35e0e57e594567bc8282604051610590929190611c96565b60405180910390a1816105b4576015604051806020016040528060008152506105b8565b6016815b8160030b9150809450819550505050509250929050565b6000600460008360070b60070b815260200190815260200160002060009054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061016773ffffffffffffffffffffffffffffffffffffffff16639b23d3d960e01b888888886040516024016106629493929190611b68565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516106cc9190611be9565b6000604051808303816000865af19150503d8060008114610709576040519150601f19603f3d011682016040523d82523d6000602084013e61070e565b606091505b50915091508161071f576015610734565b808060200190518101906107339190611c39565b5b60030b92505050949350505050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cc90611d49565b60405180910390fd5b6000600167ffffffffffffffff8111156107f2576107f16115b4565b5b60405190808252806020026020018201604052801561082b57816020015b6108186112a7565b8152602001906001900390816108105790505b50905061083b6004600130610cf6565b8160008151811061084f5761084e611d69565b5b60200260200101819052506108626112c7565b87816000018190525086816020018190525085816060018190525030816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001816080019015159081151581525050848160a0019060070b908160070b81525050818160e0018190525060008160c00190151590811515815250506108fc3085610d2d565b81610100018190525060008061091183610d85565b91509150601660030b821461095b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095290611e0a565b60405180910390fd5b8094505050505095945050505050565b6000600360008360070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60046020528060005260406000206000915054906101000a900460ff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5790611d49565b60405180910390fd5b600080610a6f86600087610ef4565b9250509150601660030b8214610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190611e9c565b60405180910390fd5b836003600083600081518110610ad357610ad2611d69565b5b602002602001015160070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600081518110610b4157610b40611d69565b5b6020026020010151925050509392505050565b60003373ffffffffffffffffffffffffffffffffffffffff16600360008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf490611f2e565b60405180910390fd5b600460008360070b60070b815260200190815260200160002060009054906101000a900460ff1615610c64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5b90611f9a565b60405180910390fd5b6000610c728430338661106c565b9050601660030b8114610cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb19061202c565b60405180910390fd5b6001600460008560070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055508091505092915050565b610cfe6112a7565b6040518060400160405280610d128661118a565b8152602001610d2185856111cb565b81525090509392505050565b610d35611336565b82816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505081816040019060070b908160070b8152505092915050565b6000808260008161010001516000015160070b148015610db1575060008161010001516040015160070b145b15610dd4576276a70060030b8161010001516040019060070b908160070b815250505b60008061016773ffffffffffffffffffffffffffffffffffffffff163463ea83f29360e01b88604051602401610e0a91906123bf565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610e749190611be9565b60006040518083038185875af1925050503d8060008114610eb1576040519150601f19603f3d011682016040523d82523d6000602084013e610eb6565b606091505b509150915081610ec95760156000610ede565b80806020019051810190610edd919061241f565b5b8160030b91508095508196505050505050915091565b600080606060008061016773ffffffffffffffffffffffffffffffffffffffff1663e0f4059a60e01b898989604051602401610f3293929190612521565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610f9c9190611be9565b6000604051808303816000865af19150503d8060008114610fd9576040519150601f19603f3d011682016040523d82523d6000602084013e610fde565b606091505b50915091508161103a57601560008067ffffffffffffffff811115611006576110056115b4565b5b6040519080825280602002602001820160405280156110345781602001602082028036833780820191505090505b5061104f565b8080602001905181019061104e9190612637565b5b8260030b9250809550819650829750505050505093509350939050565b600080600061016773ffffffffffffffffffffffffffffffffffffffff16635cfc901160e01b888888886040516024016110a994939291906126a6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516111139190611be9565b6000604051808303816000865af19150503d8060008114611150576040519150601f19603f3d011682016040523d82523d6000602084013e611155565b606091505b50915091508161116657601561117b565b8080602001905181019061117a9190611c39565b5b60030b92505050949350505050565b6000600160008360068111156111a3576111a26126eb565b5b60068111156111b5576111b46126eb565b5b8152602001908152602001600020549050919050565b6111d3611373565b600160048111156111e7576111e66126eb565b5b8360048111156111fa576111f96126eb565b5b0361123c5781816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506112a1565b60048081111561124f5761124e6126eb565b5b836004811115611262576112616126eb565b5b036112a05781816080019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b5b92915050565b6040518060400160405280600081526020016112c1611373565b81525090565b6040518061012001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001600015158152602001600060070b815260200160001515815260200160608152602001611330611336565b81525090565b6040518060600160405280600060070b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060070b81525090565b6040518060a00160405280600015158152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b60008160070b9050919050565b6113fa816113e4565b811461140557600080fd5b50565b600081359050611417816113f1565b92915050565b600060208284031215611433576114326113da565b5b600061144184828501611408565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006114758261144a565b9050919050565b6114858161146a565b82525050565b60006020820190506114a0600083018461147c565b92915050565b6114af8161146a565b81146114ba57600080fd5b50565b6000813590506114cc816114a6565b92915050565b6000819050919050565b6114e5816114d2565b81146114f057600080fd5b50565b600081359050611502816114dc565b92915050565b60008060008060808587031215611522576115216113da565b5b6000611530878288016114bd565b9450506020611541878288016114bd565b9350506040611552878288016114bd565b9250506060611563878288016114f3565b91505092959194509250565b611578816113e4565b82525050565b6000602082019050611593600083018461156f565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6115ec826115a3565b810181811067ffffffffffffffff8211171561160b5761160a6115b4565b5b80604052505050565b600061161e6113d0565b905061162a82826115e3565b919050565b600067ffffffffffffffff82111561164a576116496115b4565b5b611653826115a3565b9050602081019050919050565b82818337600083830152505050565b600061168261167d8461162f565b611614565b90508281526020810184848401111561169e5761169d61159e565b5b6116a9848285611660565b509392505050565b600082601f8301126116c6576116c5611599565b5b81356116d684826020860161166f565b91505092915050565b600080604083850312156116f6576116f56113da565b5b6000611704858286016114bd565b925050602083013567ffffffffffffffff811115611725576117246113df565b5b611731858286016116b1565b9150509250929050565b6000819050919050565b61174e8161173b565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561178e578082015181840152602081019050611773565b60008484015250505050565b60006117a582611754565b6117af818561175f565b93506117bf818560208601611770565b6117c8816115a3565b840191505092915050565b60006040820190506117e86000830185611745565b81810360208301526117fa818461179a565b90509392505050565b60008115159050919050565b61181881611803565b82525050565b6000602082019050611833600083018461180f565b92915050565b600067ffffffffffffffff821115611854576118536115b4565b5b61185d826115a3565b9050602081019050919050565b600061187d61187884611839565b611614565b9050828152602081018484840111156118995761189861159e565b5b6118a4848285611660565b509392505050565b600082601f8301126118c1576118c0611599565b5b81356118d184826020860161186a565b91505092915050565b600080600080600060a086880312156118f6576118f56113da565b5b600086013567ffffffffffffffff811115611914576119136113df565b5b611920888289016118ac565b955050602086013567ffffffffffffffff811115611941576119406113df565b5b61194d888289016118ac565b945050604086013567ffffffffffffffff81111561196e5761196d6113df565b5b61197a888289016118ac565b935050606061198b88828901611408565b925050608061199c88828901611408565b9150509295509295909350565b600067ffffffffffffffff8211156119c4576119c36115b4565b5b602082029050602081019050919050565b600080fd5b60006119ed6119e8846119a9565b611614565b90508083825260208201905060208402830185811115611a1057611a0f6119d5565b5b835b81811015611a5757803567ffffffffffffffff811115611a3557611a34611599565b5b808601611a4289826116b1565b85526020850194505050602081019050611a12565b5050509392505050565b600082601f830112611a7657611a75611599565b5b8135611a868482602086016119da565b91505092915050565b600080600060608486031215611aa857611aa76113da565b5b6000611ab6868287016114bd565b935050602084013567ffffffffffffffff811115611ad757611ad66113df565b5b611ae386828701611a61565b9250506040611af4868287016114bd565b9150509250925092565b60008060408385031215611b1557611b146113da565b5b6000611b23858286016114bd565b9250506020611b3485828601611408565b9150509250929050565b6000602082019050611b536000830184611745565b92915050565b611b62816114d2565b82525050565b6000608082019050611b7d600083018761147c565b611b8a602083018661147c565b611b97604083018561147c565b611ba46060830184611b59565b95945050505050565b600081905092915050565b6000611bc382611754565b611bcd8185611bad565b9350611bdd818560208601611770565b80840191505092915050565b6000611bf58284611bb8565b915081905092915050565b60008160030b9050919050565b611c1681611c00565b8114611c2157600080fd5b50565b600081519050611c3381611c0d565b92915050565b600060208284031215611c4f57611c4e6113da565b5b6000611c5d84828501611c24565b91505092915050565b6000604082019050611c7b600083018561147c565b8181036020830152611c8d818461179a565b90509392505050565b6000604082019050611cab600083018561180f565b8181036020830152611cbd818461179a565b90509392505050565b600082825260208201905092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d33602183611cc6565b9150611d3e82611cd7565b604082019050919050565b60006020820190508181036000830152611d6281611d26565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4661696c656420746f20637265617465206e6f6e2d66756e6769626c6520746f60008201527f6b656e0000000000000000000000000000000000000000000000000000000000602082015250565b6000611df4602383611cc6565b9150611dff82611d98565b604082019050919050565b60006020820190508181036000830152611e2381611de7565b9050919050565b7f4661696c656420746f206d696e74206e6f6e2d66756e6769626c6520746f6b6560008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e86602183611cc6565b9150611e9182611e2a565b604082019050919050565b60006020820190508181036000830152611eb581611e79565b9050919050565b7f596f7520617265206e6f7420617574686f72697a656420746f20636c61696d2060008201527f74686973204e4654000000000000000000000000000000000000000000000000602082015250565b6000611f18602883611cc6565b9150611f2382611ebc565b604082019050919050565b60006020820190508181036000830152611f4781611f0b565b9050919050565b7f4e46542068617320616c7265616479206265656e20636c61696d656400000000600082015250565b6000611f84601c83611cc6565b9150611f8f82611f4e565b602082019050919050565b60006020820190508181036000830152611fb381611f77565b9050919050565b7f4661696c656420746f207472616e73666572206e6f6e2d66756e6769626c652060008201527f746f6b656e000000000000000000000000000000000000000000000000000000602082015250565b6000612016602583611cc6565b915061202182611fba565b604082019050919050565b6000602082019050818103600083015261204581612009565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006120738261204c565b61207d8185612057565b935061208d818560208601611770565b612096816115a3565b840191505092915050565b6120aa8161146a565b82525050565b6120b981611803565b82525050565b6120c8816113e4565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612103816114d2565b82525050565b600082825260208201905092915050565b600061212582611754565b61212f8185612109565b935061213f818560208601611770565b612148816115a3565b840191505092915050565b600060a08301600083015161216b60008601826120b0565b50602083015161217e60208601826120a1565b5060408301518482036040860152612196828261211a565b915050606083015184820360608601526121b0828261211a565b91505060808301516121c560808601826120a1565b508091505092915050565b60006040830160008301516121e860008601826120fa565b50602083015184820360208601526122008282612153565b9150508091505092915050565b600061221983836121d0565b905092915050565b6000602082019050919050565b6000612239826120ce565b61224381856120d9565b935083602082028501612255856120ea565b8060005b858110156122915784840389528151612272858261220d565b945061227d83612221565b925060208a01995050600181019050612259565b50829750879550505050505092915050565b6060820160008201516122b960008501826120bf565b5060208201516122cc60208501826120a1565b5060408201516122df60408501826120bf565b50505050565b60006101608301600083015184820360008601526123038282612068565b9150506020830151848203602086015261231d8282612068565b915050604083015161233260408601826120a1565b506060830151848203606086015261234a8282612068565b915050608083015161235f60808601826120b0565b5060a083015161237260a08601826120bf565b5060c083015161238560c08601826120b0565b5060e083015184820360e086015261239d828261222e565b9150506101008301516123b46101008601826122a3565b508091505092915050565b600060208201905081810360008301526123d981846122e5565b905092915050565b60006123ec8261144a565b9050919050565b6123fc816123e1565b811461240757600080fd5b50565b600081519050612419816123f3565b92915050565b60008060408385031215612436576124356113da565b5b600061244485828601611c24565b92505060206124558582860161240a565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000612497838361211a565b905092915050565b6000602082019050919050565b60006124b78261245f565b6124c1818561246a565b9350836020820285016124d38561247b565b8060005b8581101561250f57848403895281516124f0858261248b565b94506124fb8361249f565b925060208a019950506001810190506124d7565b50829750879550505050505092915050565b6000606082019050612536600083018661147c565b612543602083018561156f565b818103604083015261255581846124ac565b9050949350505050565b60008151905061256e816113f1565b92915050565b600067ffffffffffffffff82111561258f5761258e6115b4565b5b602082029050602081019050919050565b60006125b36125ae84612574565b611614565b905080838252602082019050602084028301858111156125d6576125d56119d5565b5b835b818110156125ff57806125eb888261255f565b8452602084019350506020810190506125d8565b5050509392505050565b600082601f83011261261e5761261d611599565b5b815161262e8482602086016125a0565b91505092915050565b6000806000606084860312156126505761264f6113da565b5b600061265e86828701611c24565b935050602061266f8682870161255f565b925050604084015167ffffffffffffffff8111156126905761268f6113df565b5b61269c86828701612609565b9150509250925092565b60006080820190506126bb600083018761147c565b6126c8602083018661147c565b6126d5604083018561147c565b6126e2606083018461156f565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea264697066735822122051db1df0f20a3d0f46ca7dfe18c76da7431ff1e7db964cec45939efdbe0ea63064736f6c63430008120033",
+ "bytecode": "0x60806040523480156200001157600080fd5b5060018060008060068111156200002d576200002c6200028a565b5b60068111156200004257620000416200028a565b5b815260200190815260200160002081905550600260016000600160068111156200007157620000706200028a565b5b60068111156200008657620000856200028a565b5b81526020019081526020016000208190555060046001600060026006811115620000b557620000b46200028a565b5b6006811115620000ca57620000c96200028a565b5b81526020019081526020016000208190555060086001600060036006811115620000f957620000f86200028a565b5b60068111156200010e576200010d6200028a565b5b815260200190815260200160002081905550601060016000600460068111156200013d576200013c6200028a565b5b60068111156200015257620001516200028a565b5b815260200190815260200160002081905550602060016000600560068111156200018157620001806200028a565b5b60068111156200019657620001956200028a565b5b815260200190815260200160002081905550604060016000600680811115620001c457620001c36200028a565b5b6006811115620001d957620001d86200028a565b5b81526020019081526020016000208190555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002b9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b612fbd80620002c96000396000f3fe6080604052600436106100e85760003560e01c80639b23d3d91161008a578063c985c65211610059578063c985c65214610346578063d689332f14610383578063e0a6ad65146103c0578063f1d9d8df146103fd576100e8565b80639b23d3d91461025f578063aa271e1a1461029c578063aa2fe91b146102d9578063b6c907a614610316576100e8565b8063618dc65e116100c6578063618dc65e14610190578063836993e2146101ce5780638da5cb5b1461020b578063983b2d5614610236576100e8565b806302f6ef87146100ed57806315dacbea1461012a5780633092afd514610167575b600080fd5b3480156100f957600080fd5b50610114600480360381019061010f9190611a1b565b61043a565b6040516101219190611a89565b60405180910390f35b34801561013657600080fd5b50610151600480360381019061014c9190611b06565b61046d565b60405161015e9190611b7c565b60405180910390f35b34801561017357600080fd5b5061018e60048036038101906101899190611b97565b61058b565b005b34801561019c57600080fd5b506101b760048036038101906101b29190611d0a565b6107d5565b6040516101c5929190611dfe565b60405180910390f35b3480156101da57600080fd5b506101f560048036038101906101f09190611a1b565b610931565b6040516102029190611e49565b60405180910390f35b34801561021757600080fd5b50610220610961565b60405161022d9190611a89565b60405180910390f35b34801561024257600080fd5b5061025d60048036038101906102589190611b97565b610987565b005b34801561026b57600080fd5b5061028660048036038101906102819190611b06565b610bb1565b6040516102939190611b7c565b60405180910390f35b3480156102a857600080fd5b506102c360048036038101906102be9190611b97565b610ccf565b6040516102d09190611e49565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb9190611b97565b610d25565b60405161030d9190611e49565b60405180910390f35b610330600480360381019061032b9190611f05565b610d45565b60405161033d9190611a89565b60405180910390f35b34801561035257600080fd5b5061036d60048036038101906103689190611a1b565b610f6d565b60405161037a9190611a89565b60405180910390f35b34801561038f57600080fd5b506103aa60048036038101906103a59190611a1b565b610fb0565b6040516103b79190611e49565b60405180910390f35b3480156103cc57600080fd5b506103e760048036038101906103e291906120ba565b610fd0565b6040516103f49190611b7c565b60405180910390f35b34801561040957600080fd5b50610424600480360381019061041f9190612129565b611152565b6040516104319190612169565b60405180910390f35b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061016773ffffffffffffffffffffffffffffffffffffffff166315dacbea60e01b888888886040516024016104aa9493929190612193565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105149190612214565b6000604051808303816000865af19150503d8060008114610551576040519150601f19603f3d011682016040523d82523d6000602084013e610556565b606091505b50915091508161056757601561057c565b8080602001905181019061057b9190612264565b5b60030b92505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461061b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061290612314565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a290612380565b60405180910390fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072e906123ec565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6000606060008061016773ffffffffffffffffffffffffffffffffffffffff1663618dc65e60e01b878760405160240161081092919061240c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161087a9190612214565b6000604051808303816000865af19150503d80600081146108b7576040519150601f19603f3d011682016040523d82523d6000602084013e6108bc565b606091505b50915091507f4af4780e06fe8cb9df64b0794fa6f01399af979175bb988e35e0e57e594567bc82826040516108f292919061243c565b60405180910390a1816109165760156040518060200160405280600081525061091a565b6016815b8160030b9150809450819550505050509250929050565b6000600560008360070b60070b815260200190815260200160002060009054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0e90612314565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d906124b8565b60405180910390fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610b13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0a90612524565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b600080600061016773ffffffffffffffffffffffffffffffffffffffff16639b23d3d960e01b88888888604051602401610bee9493929190612193565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610c589190612214565b6000604051808303816000865af19150503d8060008114610c95576040519150601f19603f3d011682016040523d82523d6000602084013e610c9a565b606091505b509150915081610cab576015610cc0565b80806020019051810190610cbf9190612264565b5b60030b92505050949350505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dce90612314565b60405180910390fd5b6000600167ffffffffffffffff811115610df457610df3611bdf565b5b604051908082528060200260200182016040528015610e2d57816020015b610e1a6118a5565b815260200190600190039081610e125790505b509050610e3d60046001306112f4565b81600081518110610e5157610e50612544565b5b6020026020010181905250610e646118c5565b87816000018190525086816020018190525085816060018190525030816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001816080019015159081151581525050848160a0019060070b908160070b81525050818160e0018190525060008160c0019015159081151581525050610efe308561132b565b816101000181905250600080610f1383611383565b91509150601660030b8214610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f54906125e5565b60405180910390fd5b8094505050505095945050505050565b6000600460008360070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661105e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105590612677565b60405180910390fd5b60008061106d866000876114f2565b9250509150601660030b82146110b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110af90612709565b60405180910390fd5b8360046000836000815181106110d1576110d0612544565b5b602002602001015160070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060008151811061113f5761113e612544565b5b6020026020010151925050509392505050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f29061279b565b60405180910390fd5b600560008360070b60070b815260200190815260200160002060009054906101000a900460ff1615611262576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125990612807565b60405180910390fd5b60006112708430338661166a565b9050601660030b81146112b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112af90612899565b60405180910390fd5b6001600560008560070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055508091505092915050565b6112fc6118a5565b604051806040016040528061131086611788565b815260200161131f85856117c9565b81525090509392505050565b611333611934565b82816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505081816040019060070b908160070b8152505092915050565b6000808260008161010001516000015160070b1480156113af575060008161010001516040015160070b145b156113d2576276a70060030b8161010001516040019060070b908160070b815250505b60008061016773ffffffffffffffffffffffffffffffffffffffff163463ea83f29360e01b886040516024016114089190612c2c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516114729190612214565b60006040518083038185875af1925050503d80600081146114af576040519150601f19603f3d011682016040523d82523d6000602084013e6114b4565b606091505b5091509150816114c757601560006114dc565b808060200190518101906114db9190612c8c565b5b8160030b91508095508196505050505050915091565b600080606060008061016773ffffffffffffffffffffffffffffffffffffffff1663e0f4059a60e01b89898960405160240161153093929190612d8e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161159a9190612214565b6000604051808303816000865af19150503d80600081146115d7576040519150601f19603f3d011682016040523d82523d6000602084013e6115dc565b606091505b50915091508161163857601560008067ffffffffffffffff81111561160457611603611bdf565b5b6040519080825280602002602001820160405280156116325781602001602082028036833780820191505090505b5061164d565b8080602001905181019061164c9190612ea4565b5b8260030b9250809550819650829750505050505093509350939050565b600080600061016773ffffffffffffffffffffffffffffffffffffffff16635cfc901160e01b888888886040516024016116a79493929190612f13565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516117119190612214565b6000604051808303816000865af19150503d806000811461174e576040519150601f19603f3d011682016040523d82523d6000602084013e611753565b606091505b509150915081611764576015611779565b808060200190518101906117789190612264565b5b60030b92505050949350505050565b6000600160008360068111156117a1576117a0612f58565b5b60068111156117b3576117b2612f58565b5b8152602001908152602001600020549050919050565b6117d1611971565b600160048111156117e5576117e4612f58565b5b8360048111156117f8576117f7612f58565b5b0361183a5781816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061189f565b60048081111561184d5761184c612f58565b5b8360048111156118605761185f612f58565b5b0361189e5781816080019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b5b92915050565b6040518060400160405280600081526020016118bf611971565b81525090565b6040518061012001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001600015158152602001600060070b81526020016000151581526020016060815260200161192e611934565b81525090565b6040518060600160405280600060070b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060070b81525090565b6040518060a00160405280600015158152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b60008160070b9050919050565b6119f8816119e2565b8114611a0357600080fd5b50565b600081359050611a15816119ef565b92915050565b600060208284031215611a3157611a306119d8565b5b6000611a3f84828501611a06565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a7382611a48565b9050919050565b611a8381611a68565b82525050565b6000602082019050611a9e6000830184611a7a565b92915050565b611aad81611a68565b8114611ab857600080fd5b50565b600081359050611aca81611aa4565b92915050565b6000819050919050565b611ae381611ad0565b8114611aee57600080fd5b50565b600081359050611b0081611ada565b92915050565b60008060008060808587031215611b2057611b1f6119d8565b5b6000611b2e87828801611abb565b9450506020611b3f87828801611abb565b9350506040611b5087828801611abb565b9250506060611b6187828801611af1565b91505092959194509250565b611b76816119e2565b82525050565b6000602082019050611b916000830184611b6d565b92915050565b600060208284031215611bad57611bac6119d8565b5b6000611bbb84828501611abb565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611c1782611bce565b810181811067ffffffffffffffff82111715611c3657611c35611bdf565b5b80604052505050565b6000611c496119ce565b9050611c558282611c0e565b919050565b600067ffffffffffffffff821115611c7557611c74611bdf565b5b611c7e82611bce565b9050602081019050919050565b82818337600083830152505050565b6000611cad611ca884611c5a565b611c3f565b905082815260208101848484011115611cc957611cc8611bc9565b5b611cd4848285611c8b565b509392505050565b600082601f830112611cf157611cf0611bc4565b5b8135611d01848260208601611c9a565b91505092915050565b60008060408385031215611d2157611d206119d8565b5b6000611d2f85828601611abb565b925050602083013567ffffffffffffffff811115611d5057611d4f6119dd565b5b611d5c85828601611cdc565b9150509250929050565b6000819050919050565b611d7981611d66565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611db9578082015181840152602081019050611d9e565b60008484015250505050565b6000611dd082611d7f565b611dda8185611d8a565b9350611dea818560208601611d9b565b611df381611bce565b840191505092915050565b6000604082019050611e136000830185611d70565b8181036020830152611e258184611dc5565b90509392505050565b60008115159050919050565b611e4381611e2e565b82525050565b6000602082019050611e5e6000830184611e3a565b92915050565b600067ffffffffffffffff821115611e7f57611e7e611bdf565b5b611e8882611bce565b9050602081019050919050565b6000611ea8611ea384611e64565b611c3f565b905082815260208101848484011115611ec457611ec3611bc9565b5b611ecf848285611c8b565b509392505050565b600082601f830112611eec57611eeb611bc4565b5b8135611efc848260208601611e95565b91505092915050565b600080600080600060a08688031215611f2157611f206119d8565b5b600086013567ffffffffffffffff811115611f3f57611f3e6119dd565b5b611f4b88828901611ed7565b955050602086013567ffffffffffffffff811115611f6c57611f6b6119dd565b5b611f7888828901611ed7565b945050604086013567ffffffffffffffff811115611f9957611f986119dd565b5b611fa588828901611ed7565b9350506060611fb688828901611a06565b9250506080611fc788828901611a06565b9150509295509295909350565b600067ffffffffffffffff821115611fef57611fee611bdf565b5b602082029050602081019050919050565b600080fd5b600061201861201384611fd4565b611c3f565b9050808382526020820190506020840283018581111561203b5761203a612000565b5b835b8181101561208257803567ffffffffffffffff8111156120605761205f611bc4565b5b80860161206d8982611cdc565b8552602085019450505060208101905061203d565b5050509392505050565b600082601f8301126120a1576120a0611bc4565b5b81356120b1848260208601612005565b91505092915050565b6000806000606084860312156120d3576120d26119d8565b5b60006120e186828701611abb565b935050602084013567ffffffffffffffff811115612102576121016119dd565b5b61210e8682870161208c565b925050604061211f86828701611abb565b9150509250925092565b600080604083850312156121405761213f6119d8565b5b600061214e85828601611abb565b925050602061215f85828601611a06565b9150509250929050565b600060208201905061217e6000830184611d70565b92915050565b61218d81611ad0565b82525050565b60006080820190506121a86000830187611a7a565b6121b56020830186611a7a565b6121c26040830185611a7a565b6121cf6060830184612184565b95945050505050565b600081905092915050565b60006121ee82611d7f565b6121f881856121d8565b9350612208818560208601611d9b565b80840191505092915050565b600061222082846121e3565b915081905092915050565b60008160030b9050919050565b6122418161222b565b811461224c57600080fd5b50565b60008151905061225e81612238565b92915050565b60006020828403121561227a576122796119d8565b5b60006122888482850161224f565b91505092915050565b600082825260208201905092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b60006122fe602183612291565b9150612309826122a2565b604082019050919050565b6000602082019050818103600083015261232d816122f1565b9050919050565b7f43616e6e6f742072656d6f7665206f776e6572206173206d696e746572000000600082015250565b600061236a601d83612291565b915061237582612334565b602082019050919050565b600060208201905081810360008301526123998161235d565b9050919050565b7f41646472657373206973206e6f742061206d696e746572000000000000000000600082015250565b60006123d6601783612291565b91506123e1826123a0565b602082019050919050565b60006020820190508181036000830152612405816123c9565b9050919050565b60006040820190506124216000830185611a7a565b81810360208301526124338184611dc5565b90509392505050565b60006040820190506124516000830185611e3a565b81810360208301526124638184611dc5565b90509392505050565b7f496e76616c6964206d696e746572206164647265737300000000000000000000600082015250565b60006124a2601683612291565b91506124ad8261246c565b602082019050919050565b600060208201905081810360008301526124d181612495565b9050919050565b7f4164647265737320697320616c72656164792061206d696e7465720000000000600082015250565b600061250e601b83612291565b9150612519826124d8565b602082019050919050565b6000602082019050818103600083015261253d81612501565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4661696c656420746f20637265617465206e6f6e2d66756e6769626c6520746f60008201527f6b656e0000000000000000000000000000000000000000000000000000000000602082015250565b60006125cf602383612291565b91506125da82612573565b604082019050919050565b600060208201905081810360008301526125fe816125c2565b9050919050565b7f4f6e6c7920617574686f72697a6564206d696e746572732063616e2063616c6c60008201527f20746869732066756e6374696f6e000000000000000000000000000000000000602082015250565b6000612661602e83612291565b915061266c82612605565b604082019050919050565b6000602082019050818103600083015261269081612654565b9050919050565b7f4661696c656420746f206d696e74206e6f6e2d66756e6769626c6520746f6b6560008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b60006126f3602183612291565b91506126fe82612697565b604082019050919050565b60006020820190508181036000830152612722816126e6565b9050919050565b7f596f7520617265206e6f7420617574686f72697a656420746f20636c61696d2060008201527f74686973204e4654000000000000000000000000000000000000000000000000602082015250565b6000612785602883612291565b915061279082612729565b604082019050919050565b600060208201905081810360008301526127b481612778565b9050919050565b7f4e46542068617320616c7265616479206265656e20636c61696d656400000000600082015250565b60006127f1601c83612291565b91506127fc826127bb565b602082019050919050565b60006020820190508181036000830152612820816127e4565b9050919050565b7f4661696c656420746f207472616e73666572206e6f6e2d66756e6769626c652060008201527f746f6b656e000000000000000000000000000000000000000000000000000000602082015250565b6000612883602583612291565b915061288e82612827565b604082019050919050565b600060208201905081810360008301526128b281612876565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006128e0826128b9565b6128ea81856128c4565b93506128fa818560208601611d9b565b61290381611bce565b840191505092915050565b61291781611a68565b82525050565b61292681611e2e565b82525050565b612935816119e2565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61297081611ad0565b82525050565b600082825260208201905092915050565b600061299282611d7f565b61299c8185612976565b93506129ac818560208601611d9b565b6129b581611bce565b840191505092915050565b600060a0830160008301516129d8600086018261291d565b5060208301516129eb602086018261290e565b5060408301518482036040860152612a038282612987565b91505060608301518482036060860152612a1d8282612987565b9150506080830151612a32608086018261290e565b508091505092915050565b6000604083016000830151612a556000860182612967565b5060208301518482036020860152612a6d82826129c0565b9150508091505092915050565b6000612a868383612a3d565b905092915050565b6000602082019050919050565b6000612aa68261293b565b612ab08185612946565b935083602082028501612ac285612957565b8060005b85811015612afe5784840389528151612adf8582612a7a565b9450612aea83612a8e565b925060208a01995050600181019050612ac6565b50829750879550505050505092915050565b606082016000820151612b26600085018261292c565b506020820151612b39602085018261290e565b506040820151612b4c604085018261292c565b50505050565b6000610160830160008301518482036000860152612b7082826128d5565b91505060208301518482036020860152612b8a82826128d5565b9150506040830151612b9f604086018261290e565b5060608301518482036060860152612bb782826128d5565b9150506080830151612bcc608086018261291d565b5060a0830151612bdf60a086018261292c565b5060c0830151612bf260c086018261291d565b5060e083015184820360e0860152612c0a8282612a9b565b915050610100830151612c21610100860182612b10565b508091505092915050565b60006020820190508181036000830152612c468184612b52565b905092915050565b6000612c5982611a48565b9050919050565b612c6981612c4e565b8114612c7457600080fd5b50565b600081519050612c8681612c60565b92915050565b60008060408385031215612ca357612ca26119d8565b5b6000612cb18582860161224f565b9250506020612cc285828601612c77565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000612d048383612987565b905092915050565b6000602082019050919050565b6000612d2482612ccc565b612d2e8185612cd7565b935083602082028501612d4085612ce8565b8060005b85811015612d7c5784840389528151612d5d8582612cf8565b9450612d6883612d0c565b925060208a01995050600181019050612d44565b50829750879550505050505092915050565b6000606082019050612da36000830186611a7a565b612db06020830185611b6d565b8181036040830152612dc28184612d19565b9050949350505050565b600081519050612ddb816119ef565b92915050565b600067ffffffffffffffff821115612dfc57612dfb611bdf565b5b602082029050602081019050919050565b6000612e20612e1b84612de1565b611c3f565b90508083825260208201905060208402830185811115612e4357612e42612000565b5b835b81811015612e6c5780612e588882612dcc565b845260208401935050602081019050612e45565b5050509392505050565b600082601f830112612e8b57612e8a611bc4565b5b8151612e9b848260208601612e0d565b91505092915050565b600080600060608486031215612ebd57612ebc6119d8565b5b6000612ecb8682870161224f565b9350506020612edc86828701612dcc565b925050604084015167ffffffffffffffff811115612efd57612efc6119dd565b5b612f0986828701612e76565b9150509250925092565b6000608082019050612f286000830187611a7a565b612f356020830186611a7a565b612f426040830185611a7a565b612f4f6060830184611b6d565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212202b8e1ead4affc5f9e5d2366f4ff19116648612c325cc3d4a355b259501ed9db264736f6c63430008120033",
+ "deployedBytecode": "0x6080604052600436106100e85760003560e01c80639b23d3d91161008a578063c985c65211610059578063c985c65214610346578063d689332f14610383578063e0a6ad65146103c0578063f1d9d8df146103fd576100e8565b80639b23d3d91461025f578063aa271e1a1461029c578063aa2fe91b146102d9578063b6c907a614610316576100e8565b8063618dc65e116100c6578063618dc65e14610190578063836993e2146101ce5780638da5cb5b1461020b578063983b2d5614610236576100e8565b806302f6ef87146100ed57806315dacbea1461012a5780633092afd514610167575b600080fd5b3480156100f957600080fd5b50610114600480360381019061010f9190611a1b565b61043a565b6040516101219190611a89565b60405180910390f35b34801561013657600080fd5b50610151600480360381019061014c9190611b06565b61046d565b60405161015e9190611b7c565b60405180910390f35b34801561017357600080fd5b5061018e60048036038101906101899190611b97565b61058b565b005b34801561019c57600080fd5b506101b760048036038101906101b29190611d0a565b6107d5565b6040516101c5929190611dfe565b60405180910390f35b3480156101da57600080fd5b506101f560048036038101906101f09190611a1b565b610931565b6040516102029190611e49565b60405180910390f35b34801561021757600080fd5b50610220610961565b60405161022d9190611a89565b60405180910390f35b34801561024257600080fd5b5061025d60048036038101906102589190611b97565b610987565b005b34801561026b57600080fd5b5061028660048036038101906102819190611b06565b610bb1565b6040516102939190611b7c565b60405180910390f35b3480156102a857600080fd5b506102c360048036038101906102be9190611b97565b610ccf565b6040516102d09190611e49565b60405180910390f35b3480156102e557600080fd5b5061030060048036038101906102fb9190611b97565b610d25565b60405161030d9190611e49565b60405180910390f35b610330600480360381019061032b9190611f05565b610d45565b60405161033d9190611a89565b60405180910390f35b34801561035257600080fd5b5061036d60048036038101906103689190611a1b565b610f6d565b60405161037a9190611a89565b60405180910390f35b34801561038f57600080fd5b506103aa60048036038101906103a59190611a1b565b610fb0565b6040516103b79190611e49565b60405180910390f35b3480156103cc57600080fd5b506103e760048036038101906103e291906120ba565b610fd0565b6040516103f49190611b7c565b60405180910390f35b34801561040957600080fd5b50610424600480360381019061041f9190612129565b611152565b6040516104319190612169565b60405180910390f35b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600061016773ffffffffffffffffffffffffffffffffffffffff166315dacbea60e01b888888886040516024016104aa9493929190612193565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516105149190612214565b6000604051808303816000865af19150503d8060008114610551576040519150601f19603f3d011682016040523d82523d6000602084013e610556565b606091505b50915091508161056757601561057c565b8080602001905181019061057b9190612264565b5b60030b92505050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461061b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061290612314565b60405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a290612380565b60405180910390fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610737576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072e906123ec565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6000606060008061016773ffffffffffffffffffffffffffffffffffffffff1663618dc65e60e01b878760405160240161081092919061240c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161087a9190612214565b6000604051808303816000865af19150503d80600081146108b7576040519150601f19603f3d011682016040523d82523d6000602084013e6108bc565b606091505b50915091507f4af4780e06fe8cb9df64b0794fa6f01399af979175bb988e35e0e57e594567bc82826040516108f292919061243c565b60405180910390a1816109165760156040518060200160405280600081525061091a565b6016815b8160030b9150809450819550505050509250929050565b6000600560008360070b60070b815260200190815260200160002060009054906101000a900460ff169050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0e90612314565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7d906124b8565b60405180910390fd5b600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610b13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0a90612524565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b600080600061016773ffffffffffffffffffffffffffffffffffffffff16639b23d3d960e01b88888888604051602401610bee9493929190612193565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610c589190612214565b6000604051808303816000865af19150503d8060008114610c95576040519150601f19603f3d011682016040523d82523d6000602084013e610c9a565b606091505b509150915081610cab576015610cc0565b80806020019051810190610cbf9190612264565b5b60030b92505050949350505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610dd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dce90612314565b60405180910390fd5b6000600167ffffffffffffffff811115610df457610df3611bdf565b5b604051908082528060200260200182016040528015610e2d57816020015b610e1a6118a5565b815260200190600190039081610e125790505b509050610e3d60046001306112f4565b81600081518110610e5157610e50612544565b5b6020026020010181905250610e646118c5565b87816000018190525086816020018190525085816060018190525030816040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001816080019015159081151581525050848160a0019060070b908160070b81525050818160e0018190525060008160c0019015159081151581525050610efe308561132b565b816101000181905250600080610f1383611383565b91509150601660030b8214610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f54906125e5565b60405180910390fd5b8094505050505095945050505050565b6000600460008360070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661105e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105590612677565b60405180910390fd5b60008061106d866000876114f2565b9250509150601660030b82146110b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110af90612709565b60405180910390fd5b8360046000836000815181106110d1576110d0612544565b5b602002602001015160070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060008151811061113f5761113e612544565b5b6020026020010151925050509392505050565b60003373ffffffffffffffffffffffffffffffffffffffff16600460008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f29061279b565b60405180910390fd5b600560008360070b60070b815260200190815260200160002060009054906101000a900460ff1615611262576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125990612807565b60405180910390fd5b60006112708430338661166a565b9050601660030b81146112b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112af90612899565b60405180910390fd5b6001600560008560070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055508091505092915050565b6112fc6118a5565b604051806040016040528061131086611788565b815260200161131f85856117c9565b81525090509392505050565b611333611934565b82816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505081816040019060070b908160070b8152505092915050565b6000808260008161010001516000015160070b1480156113af575060008161010001516040015160070b145b156113d2576276a70060030b8161010001516040019060070b908160070b815250505b60008061016773ffffffffffffffffffffffffffffffffffffffff163463ea83f29360e01b886040516024016114089190612c2c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516114729190612214565b60006040518083038185875af1925050503d80600081146114af576040519150601f19603f3d011682016040523d82523d6000602084013e6114b4565b606091505b5091509150816114c757601560006114dc565b808060200190518101906114db9190612c8c565b5b8160030b91508095508196505050505050915091565b600080606060008061016773ffffffffffffffffffffffffffffffffffffffff1663e0f4059a60e01b89898960405160240161153093929190612d8e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161159a9190612214565b6000604051808303816000865af19150503d80600081146115d7576040519150601f19603f3d011682016040523d82523d6000602084013e6115dc565b606091505b50915091508161163857601560008067ffffffffffffffff81111561160457611603611bdf565b5b6040519080825280602002602001820160405280156116325781602001602082028036833780820191505090505b5061164d565b8080602001905181019061164c9190612ea4565b5b8260030b9250809550819650829750505050505093509350939050565b600080600061016773ffffffffffffffffffffffffffffffffffffffff16635cfc901160e01b888888886040516024016116a79493929190612f13565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516117119190612214565b6000604051808303816000865af19150503d806000811461174e576040519150601f19603f3d011682016040523d82523d6000602084013e611753565b606091505b509150915081611764576015611779565b808060200190518101906117789190612264565b5b60030b92505050949350505050565b6000600160008360068111156117a1576117a0612f58565b5b60068111156117b3576117b2612f58565b5b8152602001908152602001600020549050919050565b6117d1611971565b600160048111156117e5576117e4612f58565b5b8360048111156117f8576117f7612f58565b5b0361183a5781816020019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061189f565b60048081111561184d5761184c612f58565b5b8360048111156118605761185f612f58565b5b0361189e5781816080019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b5b92915050565b6040518060400160405280600081526020016118bf611971565b81525090565b6040518061012001604052806060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160608152602001600015158152602001600060070b81526020016000151581526020016060815260200161192e611934565b81525090565b6040518060600160405280600060070b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600060070b81525090565b6040518060a00160405280600015158152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b60008160070b9050919050565b6119f8816119e2565b8114611a0357600080fd5b50565b600081359050611a15816119ef565b92915050565b600060208284031215611a3157611a306119d8565b5b6000611a3f84828501611a06565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a7382611a48565b9050919050565b611a8381611a68565b82525050565b6000602082019050611a9e6000830184611a7a565b92915050565b611aad81611a68565b8114611ab857600080fd5b50565b600081359050611aca81611aa4565b92915050565b6000819050919050565b611ae381611ad0565b8114611aee57600080fd5b50565b600081359050611b0081611ada565b92915050565b60008060008060808587031215611b2057611b1f6119d8565b5b6000611b2e87828801611abb565b9450506020611b3f87828801611abb565b9350506040611b5087828801611abb565b9250506060611b6187828801611af1565b91505092959194509250565b611b76816119e2565b82525050565b6000602082019050611b916000830184611b6d565b92915050565b600060208284031215611bad57611bac6119d8565b5b6000611bbb84828501611abb565b91505092915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611c1782611bce565b810181811067ffffffffffffffff82111715611c3657611c35611bdf565b5b80604052505050565b6000611c496119ce565b9050611c558282611c0e565b919050565b600067ffffffffffffffff821115611c7557611c74611bdf565b5b611c7e82611bce565b9050602081019050919050565b82818337600083830152505050565b6000611cad611ca884611c5a565b611c3f565b905082815260208101848484011115611cc957611cc8611bc9565b5b611cd4848285611c8b565b509392505050565b600082601f830112611cf157611cf0611bc4565b5b8135611d01848260208601611c9a565b91505092915050565b60008060408385031215611d2157611d206119d8565b5b6000611d2f85828601611abb565b925050602083013567ffffffffffffffff811115611d5057611d4f6119dd565b5b611d5c85828601611cdc565b9150509250929050565b6000819050919050565b611d7981611d66565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611db9578082015181840152602081019050611d9e565b60008484015250505050565b6000611dd082611d7f565b611dda8185611d8a565b9350611dea818560208601611d9b565b611df381611bce565b840191505092915050565b6000604082019050611e136000830185611d70565b8181036020830152611e258184611dc5565b90509392505050565b60008115159050919050565b611e4381611e2e565b82525050565b6000602082019050611e5e6000830184611e3a565b92915050565b600067ffffffffffffffff821115611e7f57611e7e611bdf565b5b611e8882611bce565b9050602081019050919050565b6000611ea8611ea384611e64565b611c3f565b905082815260208101848484011115611ec457611ec3611bc9565b5b611ecf848285611c8b565b509392505050565b600082601f830112611eec57611eeb611bc4565b5b8135611efc848260208601611e95565b91505092915050565b600080600080600060a08688031215611f2157611f206119d8565b5b600086013567ffffffffffffffff811115611f3f57611f3e6119dd565b5b611f4b88828901611ed7565b955050602086013567ffffffffffffffff811115611f6c57611f6b6119dd565b5b611f7888828901611ed7565b945050604086013567ffffffffffffffff811115611f9957611f986119dd565b5b611fa588828901611ed7565b9350506060611fb688828901611a06565b9250506080611fc788828901611a06565b9150509295509295909350565b600067ffffffffffffffff821115611fef57611fee611bdf565b5b602082029050602081019050919050565b600080fd5b600061201861201384611fd4565b611c3f565b9050808382526020820190506020840283018581111561203b5761203a612000565b5b835b8181101561208257803567ffffffffffffffff8111156120605761205f611bc4565b5b80860161206d8982611cdc565b8552602085019450505060208101905061203d565b5050509392505050565b600082601f8301126120a1576120a0611bc4565b5b81356120b1848260208601612005565b91505092915050565b6000806000606084860312156120d3576120d26119d8565b5b60006120e186828701611abb565b935050602084013567ffffffffffffffff811115612102576121016119dd565b5b61210e8682870161208c565b925050604061211f86828701611abb565b9150509250925092565b600080604083850312156121405761213f6119d8565b5b600061214e85828601611abb565b925050602061215f85828601611a06565b9150509250929050565b600060208201905061217e6000830184611d70565b92915050565b61218d81611ad0565b82525050565b60006080820190506121a86000830187611a7a565b6121b56020830186611a7a565b6121c26040830185611a7a565b6121cf6060830184612184565b95945050505050565b600081905092915050565b60006121ee82611d7f565b6121f881856121d8565b9350612208818560208601611d9b565b80840191505092915050565b600061222082846121e3565b915081905092915050565b60008160030b9050919050565b6122418161222b565b811461224c57600080fd5b50565b60008151905061225e81612238565b92915050565b60006020828403121561227a576122796119d8565b5b60006122888482850161224f565b91505092915050565b600082825260208201905092915050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b60006122fe602183612291565b9150612309826122a2565b604082019050919050565b6000602082019050818103600083015261232d816122f1565b9050919050565b7f43616e6e6f742072656d6f7665206f776e6572206173206d696e746572000000600082015250565b600061236a601d83612291565b915061237582612334565b602082019050919050565b600060208201905081810360008301526123998161235d565b9050919050565b7f41646472657373206973206e6f742061206d696e746572000000000000000000600082015250565b60006123d6601783612291565b91506123e1826123a0565b602082019050919050565b60006020820190508181036000830152612405816123c9565b9050919050565b60006040820190506124216000830185611a7a565b81810360208301526124338184611dc5565b90509392505050565b60006040820190506124516000830185611e3a565b81810360208301526124638184611dc5565b90509392505050565b7f496e76616c6964206d696e746572206164647265737300000000000000000000600082015250565b60006124a2601683612291565b91506124ad8261246c565b602082019050919050565b600060208201905081810360008301526124d181612495565b9050919050565b7f4164647265737320697320616c72656164792061206d696e7465720000000000600082015250565b600061250e601b83612291565b9150612519826124d8565b602082019050919050565b6000602082019050818103600083015261253d81612501565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4661696c656420746f20637265617465206e6f6e2d66756e6769626c6520746f60008201527f6b656e0000000000000000000000000000000000000000000000000000000000602082015250565b60006125cf602383612291565b91506125da82612573565b604082019050919050565b600060208201905081810360008301526125fe816125c2565b9050919050565b7f4f6e6c7920617574686f72697a6564206d696e746572732063616e2063616c6c60008201527f20746869732066756e6374696f6e000000000000000000000000000000000000602082015250565b6000612661602e83612291565b915061266c82612605565b604082019050919050565b6000602082019050818103600083015261269081612654565b9050919050565b7f4661696c656420746f206d696e74206e6f6e2d66756e6769626c6520746f6b6560008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b60006126f3602183612291565b91506126fe82612697565b604082019050919050565b60006020820190508181036000830152612722816126e6565b9050919050565b7f596f7520617265206e6f7420617574686f72697a656420746f20636c61696d2060008201527f74686973204e4654000000000000000000000000000000000000000000000000602082015250565b6000612785602883612291565b915061279082612729565b604082019050919050565b600060208201905081810360008301526127b481612778565b9050919050565b7f4e46542068617320616c7265616479206265656e20636c61696d656400000000600082015250565b60006127f1601c83612291565b91506127fc826127bb565b602082019050919050565b60006020820190508181036000830152612820816127e4565b9050919050565b7f4661696c656420746f207472616e73666572206e6f6e2d66756e6769626c652060008201527f746f6b656e000000000000000000000000000000000000000000000000000000602082015250565b6000612883602583612291565b915061288e82612827565b604082019050919050565b600060208201905081810360008301526128b281612876565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006128e0826128b9565b6128ea81856128c4565b93506128fa818560208601611d9b565b61290381611bce565b840191505092915050565b61291781611a68565b82525050565b61292681611e2e565b82525050565b612935816119e2565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61297081611ad0565b82525050565b600082825260208201905092915050565b600061299282611d7f565b61299c8185612976565b93506129ac818560208601611d9b565b6129b581611bce565b840191505092915050565b600060a0830160008301516129d8600086018261291d565b5060208301516129eb602086018261290e565b5060408301518482036040860152612a038282612987565b91505060608301518482036060860152612a1d8282612987565b9150506080830151612a32608086018261290e565b508091505092915050565b6000604083016000830151612a556000860182612967565b5060208301518482036020860152612a6d82826129c0565b9150508091505092915050565b6000612a868383612a3d565b905092915050565b6000602082019050919050565b6000612aa68261293b565b612ab08185612946565b935083602082028501612ac285612957565b8060005b85811015612afe5784840389528151612adf8582612a7a565b9450612aea83612a8e565b925060208a01995050600181019050612ac6565b50829750879550505050505092915050565b606082016000820151612b26600085018261292c565b506020820151612b39602085018261290e565b506040820151612b4c604085018261292c565b50505050565b6000610160830160008301518482036000860152612b7082826128d5565b91505060208301518482036020860152612b8a82826128d5565b9150506040830151612b9f604086018261290e565b5060608301518482036060860152612bb782826128d5565b9150506080830151612bcc608086018261291d565b5060a0830151612bdf60a086018261292c565b5060c0830151612bf260c086018261291d565b5060e083015184820360e0860152612c0a8282612a9b565b915050610100830151612c21610100860182612b10565b508091505092915050565b60006020820190508181036000830152612c468184612b52565b905092915050565b6000612c5982611a48565b9050919050565b612c6981612c4e565b8114612c7457600080fd5b50565b600081519050612c8681612c60565b92915050565b60008060408385031215612ca357612ca26119d8565b5b6000612cb18582860161224f565b9250506020612cc285828601612c77565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000612d048383612987565b905092915050565b6000602082019050919050565b6000612d2482612ccc565b612d2e8185612cd7565b935083602082028501612d4085612ce8565b8060005b85811015612d7c5784840389528151612d5d8582612cf8565b9450612d6883612d0c565b925060208a01995050600181019050612d44565b50829750879550505050505092915050565b6000606082019050612da36000830186611a7a565b612db06020830185611b6d565b8181036040830152612dc28184612d19565b9050949350505050565b600081519050612ddb816119ef565b92915050565b600067ffffffffffffffff821115612dfc57612dfb611bdf565b5b602082029050602081019050919050565b6000612e20612e1b84612de1565b611c3f565b90508083825260208201905060208402830185811115612e4357612e42612000565b5b835b81811015612e6c5780612e588882612dcc565b845260208401935050602081019050612e45565b5050509392505050565b600082601f830112612e8b57612e8a611bc4565b5b8151612e9b848260208601612e0d565b91505092915050565b600080600060608486031215612ebd57612ebc6119d8565b5b6000612ecb8682870161224f565b9350506020612edc86828701612dcc565b925050604084015167ffffffffffffffff811115612efd57612efc6119dd565b5b612f0986828701612e76565b9150509250925092565b6000608082019050612f286000830187611a7a565b612f356020830186611a7a565b612f426040830185611a7a565b612f4f6060830184611b6d565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212202b8e1ead4affc5f9e5d2366f4ff19116648612c325cc3d4a355b259501ed9db264736f6c63430008120033",
"linkReferences": {},
"deployedLinkReferences": {}
}
diff --git a/contracts/artifacts/contracts/utils/ExpiryHelper.sol/ExpiryHelper.dbg.json b/contracts/artifacts/contracts/utils/ExpiryHelper.sol/ExpiryHelper.dbg.json
index 70b4876..15e432f 100644
--- a/contracts/artifacts/contracts/utils/ExpiryHelper.sol/ExpiryHelper.dbg.json
+++ b/contracts/artifacts/contracts/utils/ExpiryHelper.sol/ExpiryHelper.dbg.json
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
- "buildInfo": "../../../build-info/fdd9c5e1222ec4644fba7d05a6b0a6ea.json"
+ "buildInfo": "../../../build-info/e0d27f44f97abb5534e508a66a390154.json"
}
diff --git a/contracts/artifacts/contracts/utils/HederaResponseCodes.sol/HederaResponseCodes.dbg.json b/contracts/artifacts/contracts/utils/HederaResponseCodes.sol/HederaResponseCodes.dbg.json
index 70b4876..15e432f 100644
--- a/contracts/artifacts/contracts/utils/HederaResponseCodes.sol/HederaResponseCodes.dbg.json
+++ b/contracts/artifacts/contracts/utils/HederaResponseCodes.sol/HederaResponseCodes.dbg.json
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
- "buildInfo": "../../../build-info/fdd9c5e1222ec4644fba7d05a6b0a6ea.json"
+ "buildInfo": "../../../build-info/e0d27f44f97abb5534e508a66a390154.json"
}
diff --git a/contracts/artifacts/contracts/utils/HederaTokenService.sol/HederaTokenService.dbg.json b/contracts/artifacts/contracts/utils/HederaTokenService.sol/HederaTokenService.dbg.json
index 70b4876..15e432f 100644
--- a/contracts/artifacts/contracts/utils/HederaTokenService.sol/HederaTokenService.dbg.json
+++ b/contracts/artifacts/contracts/utils/HederaTokenService.sol/HederaTokenService.dbg.json
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
- "buildInfo": "../../../build-info/fdd9c5e1222ec4644fba7d05a6b0a6ea.json"
+ "buildInfo": "../../../build-info/e0d27f44f97abb5534e508a66a390154.json"
}
diff --git a/contracts/artifacts/contracts/utils/IHederaTokenService.sol/IHederaTokenService.dbg.json b/contracts/artifacts/contracts/utils/IHederaTokenService.sol/IHederaTokenService.dbg.json
index 70b4876..15e432f 100644
--- a/contracts/artifacts/contracts/utils/IHederaTokenService.sol/IHederaTokenService.dbg.json
+++ b/contracts/artifacts/contracts/utils/IHederaTokenService.sol/IHederaTokenService.dbg.json
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
- "buildInfo": "../../../build-info/fdd9c5e1222ec4644fba7d05a6b0a6ea.json"
+ "buildInfo": "../../../build-info/e0d27f44f97abb5534e508a66a390154.json"
}
diff --git a/contracts/artifacts/contracts/utils/KeyHelper.sol/Bits.dbg.json b/contracts/artifacts/contracts/utils/KeyHelper.sol/Bits.dbg.json
index 70b4876..15e432f 100644
--- a/contracts/artifacts/contracts/utils/KeyHelper.sol/Bits.dbg.json
+++ b/contracts/artifacts/contracts/utils/KeyHelper.sol/Bits.dbg.json
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
- "buildInfo": "../../../build-info/fdd9c5e1222ec4644fba7d05a6b0a6ea.json"
+ "buildInfo": "../../../build-info/e0d27f44f97abb5534e508a66a390154.json"
}
diff --git a/contracts/artifacts/contracts/utils/KeyHelper.sol/KeyHelper.dbg.json b/contracts/artifacts/contracts/utils/KeyHelper.sol/KeyHelper.dbg.json
index 70b4876..15e432f 100644
--- a/contracts/artifacts/contracts/utils/KeyHelper.sol/KeyHelper.dbg.json
+++ b/contracts/artifacts/contracts/utils/KeyHelper.sol/KeyHelper.dbg.json
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
- "buildInfo": "../../../build-info/fdd9c5e1222ec4644fba7d05a6b0a6ea.json"
+ "buildInfo": "../../../build-info/e0d27f44f97abb5534e508a66a390154.json"
}
diff --git a/contracts/contracts/NFTContract.sol b/contracts/contracts/NFTContract.sol
index f9e0c74..b81333e 100644
--- a/contracts/contracts/NFTContract.sol
+++ b/contracts/contracts/NFTContract.sol
@@ -10,13 +10,22 @@ import "./utils/KeyHelper.sol";
contract NFTContract is ExpiryHelper, KeyHelper, HederaTokenService {
address public owner;
+ // Mapping to track authorized minters
+ mapping(address => bool) public authorizedMinters;
+
// Mapping to track which wallet can claim which NFT serial number
mapping(int64 => address) public nftClaimRights;
// Mapping to track if an NFT has been claimed
mapping(int64 => bool) public claimed;
+ // Events
+ event MinterAdded(address indexed minter);
+ event MinterRemoved(address indexed minter);
+
constructor() {
owner = msg.sender;
+ // Make the owner an authorized minter by default
+ authorizedMinters[msg.sender] = true;
}
modifier onlyOwner() {
@@ -24,6 +33,32 @@ contract NFTContract is ExpiryHelper, KeyHelper, HederaTokenService {
_;
}
+ modifier onlyMinter() {
+ require(authorizedMinters[msg.sender], "Only authorized minters can call this function");
+ _;
+ }
+
+ // Function to add a new minter
+ function addMinter(address minter) external onlyOwner {
+ require(minter != address(0), "Invalid minter address");
+ require(!authorizedMinters[minter], "Address is already a minter");
+ authorizedMinters[minter] = true;
+ emit MinterAdded(minter);
+ }
+
+ // Function to remove a minter
+ function removeMinter(address minter) external onlyOwner {
+ require(minter != owner, "Cannot remove owner as minter");
+ require(authorizedMinters[minter], "Address is not a minter");
+ authorizedMinters[minter] = false;
+ emit MinterRemoved(minter);
+ }
+
+ // Function to check if an address is an authorized minter
+ function isMinter(address account) external view returns (bool) {
+ return authorizedMinters[account];
+ }
+
function createNft(
string memory name,
string memory symbol,
@@ -57,7 +92,7 @@ contract NFTContract is ExpiryHelper, KeyHelper, HederaTokenService {
address token,
bytes[] memory metadata,
address allowedClaimer
- ) external onlyOwner returns(int64) {
+ ) external onlyMinter returns(int64) {
(int response, , int64[] memory serial) = HederaTokenService.mintToken(token, 0, metadata);
if(response != HederaResponseCodes.SUCCESS){
diff --git a/contracts/scripts/minter/add.ts b/contracts/scripts/minter/add.ts
new file mode 100644
index 0000000..1393a1b
--- /dev/null
+++ b/contracts/scripts/minter/add.ts
@@ -0,0 +1,57 @@
+import {
+ AccountId,
+ ContractExecuteTransaction,
+ ContractFunctionParameters,
+ ContractId,
+ Hbar,
+} from "@hashgraph/sdk";
+import { clientSetup } from "../client";
+
+// Get command line arguments
+const [contractId, minterId] = process.argv.slice(2);
+
+if (!contractId || !minterId) {
+ console.error("Missing required arguments");
+ console.error("Usage: npx ts-node addMinter.ts ");
+ console.error("Example: npx ts-node addMinter.ts 0.0.123456 0.0.789101");
+ process.exit(1);
+}
+
+const addMinter = async () => {
+ try {
+ // Create client and set operator
+ const client = clientSetup();
+
+ console.log("\n----- Adding New Minter -----");
+ console.log(`Contract ID: ${contractId}`);
+ console.log(`Minter ID: ${minterId}`);
+
+ // Convert IDs to correct format
+ const contractIdObj = ContractId.fromString(contractId);
+ const minterIdObj = AccountId.fromString(minterId);
+ const minterAddress = minterIdObj.toSolidityAddress();
+
+ // Create and execute the transaction
+ const addMinterTx = new ContractExecuteTransaction()
+ .setContractId(contractIdObj)
+ .setGas(1000000)
+ .setMaxTransactionFee(new Hbar(20))
+ .setFunction(
+ "addMinter",
+ new ContractFunctionParameters().addAddress(minterAddress),
+ );
+
+ const txResponse = await addMinterTx.execute(client);
+ const receipt = await txResponse.getReceipt(client);
+
+ console.log("\nMinter added successfully!");
+ console.log("Transaction ID:", txResponse.transactionId.toString());
+
+ client.close();
+ } catch (error) {
+ console.error("Error adding minter:", error);
+ throw error;
+ }
+};
+
+addMinter();
diff --git a/contracts/scripts/minter/remove.ts b/contracts/scripts/minter/remove.ts
new file mode 100644
index 0000000..23145cf
--- /dev/null
+++ b/contracts/scripts/minter/remove.ts
@@ -0,0 +1,56 @@
+import {
+ AccountId,
+ ContractExecuteTransaction,
+ ContractFunctionParameters,
+ ContractId,
+ Hbar,
+} from "@hashgraph/sdk";
+import { clientSetup } from "../client";
+
+// Get command line arguments
+const [contractId, minterId] = process.argv.slice(2);
+
+if (!contractId || !minterId) {
+ console.error("Missing required arguments");
+ console.error("Usage: npx ts-node removeMinter.ts ");
+ console.error("Example: npx ts-node removeMinter.ts 0.0.123456 0.0.789101");
+ process.exit(1);
+}
+
+const removeMinter = async () => {
+ try {
+ const client = clientSetup();
+
+ console.log("\n----- Removing Minter -----");
+ console.log(`Contract ID: ${contractId}`);
+ console.log(`Minter ID: ${minterId}`);
+
+ // Convert IDs to correct format
+ const contractIdObj = ContractId.fromString(contractId);
+ const minterIdObj = AccountId.fromString(minterId);
+ const minterAddress = minterIdObj.toSolidityAddress();
+
+ // Create and execute the transaction
+ const removeMinterTx = new ContractExecuteTransaction()
+ .setContractId(contractIdObj)
+ .setGas(1000000)
+ .setMaxTransactionFee(new Hbar(20))
+ .setFunction(
+ "removeMinter",
+ new ContractFunctionParameters().addAddress(minterAddress),
+ );
+
+ const txResponse = await removeMinterTx.execute(client);
+ const receipt = await txResponse.getReceipt(client);
+
+ console.log("\nMinter removed successfully!");
+ console.log("Transaction ID:", txResponse.transactionId.toString());
+
+ client.close();
+ } catch (error) {
+ console.error("Error removing minter:", error);
+ throw error;
+ }
+};
+
+removeMinter();