MANAGEDBLOCKCHAIN-QUERY

BatchGetTokenBalance

enum_QueryNetwork := [ "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" ]

valid {
    input.Body.getTokenBalanceInputs[_].tokenIdentifier.network == enum_QueryNetwork[_]
    input.Body.getTokenBalanceInputs[_].tokenIdentifier.contractAddress == STRING
    input.Body.getTokenBalanceInputs[_].tokenIdentifier.tokenId == STRING
    input.Body.getTokenBalanceInputs[_].ownerIdentifier.address == STRING
    input.Body.getTokenBalanceInputs[_].atBlockchainInstant.time == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetAssetContract

enum_QueryNetwork := [ "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" ]

valid {
    input.Body.contractIdentifier.network == enum_QueryNetwork[_]
    input.Body.contractIdentifier.contractAddress == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetTokenBalance

enum_QueryNetwork := [ "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" ]

valid {
    input.Body.tokenIdentifier.network == enum_QueryNetwork[_]
    input.Body.tokenIdentifier.contractAddress == STRING
    input.Body.tokenIdentifier.tokenId == STRING
    input.Body.ownerIdentifier.address == STRING
    input.Body.atBlockchainInstant.time == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetTransaction

enum_QueryNetwork := [ "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" ]

valid {
    input.Body.transactionHash == STRING
    input.Body.transactionId == STRING
    input.Body.network == enum_QueryNetwork[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAssetContracts

enum_QueryNetwork := [ "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" ]
enum_QueryTokenStandard := [ "ERC20", "ERC721", "ERC1155" ]

valid {
    input.Body.contractFilter.network == enum_QueryNetwork[_]
    input.Body.contractFilter.tokenStandard == enum_QueryTokenStandard[_]
    input.Body.contractFilter.deployerAddress == STRING
    input.Body.nextToken == STRING
    input.Body.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListFilteredTransactionEvents

enum_ConfirmationStatus := [ "FINAL", "NONFINAL" ]
enum_ListFilteredTransactionEventsSortBy := [ "blockchainInstant" ]
enum_SortOrder := [ "ASCENDING", "DESCENDING" ]

valid {
    input.Body.network == STRING
    input.Body.addressIdentifierFilter.transactionEventToAddress[_] == STRING
    input.Body.timeFilter.from.time == TIMESTAMP
    input.Body.timeFilter.to.time == TIMESTAMP
    input.Body.voutFilter.voutSpent == BOOLEAN
    input.Body.confirmationStatusFilter.include[_] == enum_ConfirmationStatus[_]
    input.Body.sort.sortBy == enum_ListFilteredTransactionEventsSortBy[_]
    input.Body.sort.sortOrder == enum_SortOrder[_]
    input.Body.nextToken == STRING
    input.Body.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTokenBalances

enum_QueryNetwork := [ "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" ]

valid {
    input.Body.ownerFilter.address == STRING
    input.Body.tokenFilter.network == enum_QueryNetwork[_]
    input.Body.tokenFilter.contractAddress == STRING
    input.Body.tokenFilter.tokenId == STRING
    input.Body.nextToken == STRING
    input.Body.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTransactionEvents

enum_QueryNetwork := [ "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" ]

valid {
    input.Body.transactionHash == STRING
    input.Body.transactionId == STRING
    input.Body.network == enum_QueryNetwork[_]
    input.Body.nextToken == STRING
    input.Body.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTransactions

enum_ConfirmationStatus := [ "FINAL", "NONFINAL" ]
enum_ListTransactionsSortBy := [ "TRANSACTION_TIMESTAMP" ]
enum_QueryNetwork := [ "ETHEREUM_MAINNET", "ETHEREUM_SEPOLIA_TESTNET", "BITCOIN_MAINNET", "BITCOIN_TESTNET" ]
enum_SortOrder := [ "ASCENDING", "DESCENDING" ]

valid {
    input.Body.address == STRING
    input.Body.network == enum_QueryNetwork[_]
    input.Body.fromBlockchainInstant.time == TIMESTAMP
    input.Body.toBlockchainInstant.time == TIMESTAMP
    input.Body.sort.sortBy == enum_ListTransactionsSortBy[_]
    input.Body.sort.sortOrder == enum_SortOrder[_]
    input.Body.nextToken == STRING
    input.Body.maxResults == INTEGER
    input.Body.confirmationStatusFilter.include[_] == enum_ConfirmationStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}