From 97bb56611351d9a156a36014641540ba88df234e Mon Sep 17 00:00:00 2001 From: awstools Date: Thu, 1 Feb 2024 19:15:11 +0000 Subject: [PATCH] feat(client-managedblockchain-query): This release adds support for transactions that have not reached finality. It also removes support for the status property from the response of the GetTransaction operation. You can use the confirmationStatus and executionStatus properties to determine the status of the transaction. --- .../commands/BatchGetTokenBalanceCommand.ts | 2 +- .../src/commands/GetTokenBalanceCommand.ts | 2 +- .../src/commands/GetTransactionCommand.ts | 9 +- .../commands/ListTransactionEventsCommand.ts | 6 + .../src/commands/ListTransactionsCommand.ts | 6 + .../src/models/models_0.ts | 116 +- .../src/protocols/Aws_restJson1.ts | 9 +- .../aws-models/managedblockchain-query.json | 5168 +++++++++-------- 8 files changed, 2685 insertions(+), 2633 deletions(-) diff --git a/clients/client-managedblockchain-query/src/commands/BatchGetTokenBalanceCommand.ts b/clients/client-managedblockchain-query/src/commands/BatchGetTokenBalanceCommand.ts index 49beb18c4ec8..5d30308ae7d0 100644 --- a/clients/client-managedblockchain-query/src/commands/BatchGetTokenBalanceCommand.ts +++ b/clients/client-managedblockchain-query/src/commands/BatchGetTokenBalanceCommand.ts @@ -35,7 +35,7 @@ export interface BatchGetTokenBalanceCommandOutput extends BatchGetTokenBalanceO *

Gets the token balance for a batch of tokens by using the BatchGetTokenBalance * action for every token in the request.

* - *

Only the native tokens BTC,ETH, and the ERC-20, + *

Only the native tokens BTC and ETH, and the ERC-20, * ERC-721, and ERC 1155 token standards are supported.

*
* @example diff --git a/clients/client-managedblockchain-query/src/commands/GetTokenBalanceCommand.ts b/clients/client-managedblockchain-query/src/commands/GetTokenBalanceCommand.ts index 43e3cf6ae1eb..9d215b0f581d 100644 --- a/clients/client-managedblockchain-query/src/commands/GetTokenBalanceCommand.ts +++ b/clients/client-managedblockchain-query/src/commands/GetTokenBalanceCommand.ts @@ -34,7 +34,7 @@ export interface GetTokenBalanceCommandOutput extends GetTokenBalanceOutput, __M * @public *

Gets the balance of a specific token, including native tokens, for a given address (wallet or contract) on the blockchain.

* - *

Only the native tokens BTC,ETH, and the ERC-20, + *

Only the native tokens BTC and ETH, and the ERC-20, * ERC-721, and ERC 1155 token standards are supported.

*
* @example diff --git a/clients/client-managedblockchain-query/src/commands/GetTransactionCommand.ts b/clients/client-managedblockchain-query/src/commands/GetTransactionCommand.ts index beee89ed03dc..145533f01cea 100644 --- a/clients/client-managedblockchain-query/src/commands/GetTransactionCommand.ts +++ b/clients/client-managedblockchain-query/src/commands/GetTransactionCommand.ts @@ -32,7 +32,13 @@ export interface GetTransactionCommandOutput extends GetTransactionOutput, __Met /** * @public - *

Get the details of a transaction.

+ *

Gets the details of a transaction.

+ * + *

This action will return transaction details for all transactions + * that are confirmed on the blockchain, even if they have not reached + * finality. + *

+ *
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -54,7 +60,6 @@ export interface GetTransactionCommandOutput extends GetTransactionOutput, __Met * // transactionTimestamp: new Date("TIMESTAMP"), // required * // transactionIndex: Number("long"), // required * // numberOfTransactions: Number("long"), // required - * // status: "STRING_VALUE", * // to: "STRING_VALUE", // required * // from: "STRING_VALUE", * // contractAddress: "STRING_VALUE", diff --git a/clients/client-managedblockchain-query/src/commands/ListTransactionEventsCommand.ts b/clients/client-managedblockchain-query/src/commands/ListTransactionEventsCommand.ts index 1fc2419c5248..8855bebf9d17 100644 --- a/clients/client-managedblockchain-query/src/commands/ListTransactionEventsCommand.ts +++ b/clients/client-managedblockchain-query/src/commands/ListTransactionEventsCommand.ts @@ -34,6 +34,12 @@ export interface ListTransactionEventsCommandOutput extends ListTransactionEvent * @public *

An array of TransactionEvent objects. Each object contains details * about the transaction event.

+ * + *

This action will return transaction details for all transactions + * that are confirmed on the blockchain, even if they have not reached + * finality. + *

+ *
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-managedblockchain-query/src/commands/ListTransactionsCommand.ts b/clients/client-managedblockchain-query/src/commands/ListTransactionsCommand.ts index ab91953c94b3..023cc7d2c8cd 100644 --- a/clients/client-managedblockchain-query/src/commands/ListTransactionsCommand.ts +++ b/clients/client-managedblockchain-query/src/commands/ListTransactionsCommand.ts @@ -54,6 +54,11 @@ export interface ListTransactionsCommandOutput extends ListTransactionsOutput, _ * }, * nextToken: "STRING_VALUE", * maxResults: Number("int"), + * confirmationStatusFilter: { // ConfirmationStatusFilter + * include: [ // ConfirmationStatusIncludeList // required + * "STRING_VALUE", + * ], + * }, * }; * const command = new ListTransactionsCommand(input); * const response = await client.send(command); @@ -63,6 +68,7 @@ export interface ListTransactionsCommandOutput extends ListTransactionsOutput, _ * // transactionHash: "STRING_VALUE", // required * // network: "STRING_VALUE", // required * // transactionTimestamp: new Date("TIMESTAMP"), // required + * // confirmationStatus: "STRING_VALUE", * // }, * // ], * // nextToken: "STRING_VALUE", diff --git a/clients/client-managedblockchain-query/src/models/models_0.ts b/clients/client-managedblockchain-query/src/models/models_0.ts index 7000c429ee25..13187ea4ade3 100644 --- a/clients/client-managedblockchain-query/src/models/models_0.ts +++ b/clients/client-managedblockchain-query/src/models/models_0.ts @@ -141,7 +141,7 @@ export interface OwnerIdentifier { * @public *

The container for the identifier for the token including the unique token ID and its blockchain network.

* - *

Only the native tokens BTC,ETH, and the ERC-20, + *

Only the native tokens BTC and ETH, and the ERC-20, * ERC-721, and ERC 1155 token standards are supported.

*
*/ @@ -162,8 +162,8 @@ export interface TokenIdentifier { * @public *

The unique identifier of the token.

* - *

You must specify this container with btc for the native BTC token, and - * eth for the native ETH token. For all other token types you must + *

For native tokens, use the 3 character abbreviation that best matches your token. + * For example, btc for Bitcoin, eth for Ether, etc. For all other token types you must * specify the tokenId in the 64 character hexadecimal tokenid format.

*
*/ @@ -179,7 +179,7 @@ export interface BatchGetTokenBalanceInputItem { * @public *

The container for the identifier for the token including the unique token ID and its blockchain network.

* - *

Only the native tokens BTC,ETH, and the ERC-20, + *

Only the native tokens BTC and ETH, and the ERC-20, * ERC-721, and ERC 1155 token standards are supported.

*
*/ @@ -238,7 +238,7 @@ export interface BatchGetTokenBalanceErrorItem { * @public *

The container for the identifier for the token including the unique token ID and its blockchain network.

* - *

Only the native tokens BTC,ETH, and the ERC-20, + *

Only the native tokens BTC and ETH, and the ERC-20, * ERC-721, and ERC 1155 token standards are supported.

*
*/ @@ -290,7 +290,7 @@ export interface BatchGetTokenBalanceOutputItem { * @public *

The container for the identifier for the token including the unique token ID and its blockchain network.

* - *

Only the native tokens BTC,ETH, and the ERC-20, + *

Only the native tokens BTC and ETH, and the ERC-20, * ERC-721, and ERC 1155 token standards are supported.

*
*/ @@ -576,6 +576,7 @@ export class ValidationException extends __BaseException { */ export const ConfirmationStatus = { FINAL: "FINAL", + NONFINAL: "NONFINAL", } as const; /** @@ -583,6 +584,23 @@ export const ConfirmationStatus = { */ export type ConfirmationStatus = (typeof ConfirmationStatus)[keyof typeof ConfirmationStatus]; +/** + * @public + *

The container for the ConfirmationStatusFilter that filters for the + * finality + * of the results.

+ */ +export interface ConfirmationStatusFilter { + /** + * @public + *

The container to determine whether to list results that have only reached + * finality + * . Transactions + * that have reached finality are always part of the response.

+ */ + include: ConfirmationStatus[] | undefined; +} + /** * @public *

The contract or wallet address by which to filter the request.

@@ -727,7 +745,7 @@ export interface GetTokenBalanceOutput { * @public *

The container for the identifier for the token including the unique token ID and its blockchain network.

* - *

Only the native tokens BTC,ETH, and the ERC-20, + *

Only the native tokens BTC and ETH, and the ERC-20, * ERC-721, and ERC 1155 token standards are supported.

*
*/ @@ -769,26 +787,6 @@ export interface GetTransactionInput { network: QueryNetwork | undefined; } -/** - * @public - * @enum - */ -export const QueryTransactionStatus = { - /** - * The transaction completed on the blockchain, but failed - */ - FAILED: "FAILED", - /** - * The transaction has been confirmed and is final in the blockchain - */ - FINAL: "FINAL", -} as const; - -/** - * @public - */ -export type QueryTransactionStatus = (typeof QueryTransactionStatus)[keyof typeof QueryTransactionStatus]; - /** * @public *

There are two possible types of transactions used for this data type:

@@ -850,29 +848,6 @@ export interface Transaction { */ numberOfTransactions: number | undefined; - /** - * @public - * @deprecated - * - *

The status of the transaction.

- * - *

This property is deprecated. You must use the confirmationStatus - * and the executionStatus properties to determine if the status - * of the transaction is FINAL or FAILED.

- * - *
- */ - status?: QueryTransactionStatus; - /** * @public *

The identifier of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

@@ -983,6 +958,15 @@ export interface ListAssetContractsInput { /** * @public *

The maximum number of contracts to list.

+ *

Default:100 + *

+ * + *

Even if additional results can be retrieved, the request can return less + * results than maxResults or an empty array of results.

+ *

To retrieve the next set of results, make another request with the + * returned nextToken value. The value of nextToken is + * null when there are no more results to return

+ *
*/ maxResults?: number; } @@ -1079,6 +1063,15 @@ export interface ListTokenBalancesInput { /** * @public *

The maximum number of token balances to return.

+ *

Default:100 + *

+ * + *

Even if additional results can be retrieved, the request can return less + * results than maxResults or an empty array of results.

+ *

To retrieve the next set of results, make another request with the + * returned nextToken value. The value of nextToken is + * null when there are no more results to return

+ *
*/ maxResults?: number; } @@ -1166,6 +1159,8 @@ export interface ListTransactionEventsInput { /** * @public *

The maximum number of transaction events to list.

+ *

Default:100 + *

* *

Even if additional results can be retrieved, the request can return less * results than maxResults or an empty array of results.

@@ -1405,8 +1400,8 @@ export interface ListTransactionsInput { /** * @public - *

Sorts items in an ascending order if the first page starts at fromTime. - * Sorts items in a descending order if the first page starts at toTime.

+ *

The order by which the results will be sorted. If ASCENNDING is selected, the results + * will be ordered by fromTime.

*/ sort?: ListTransactionsSort; @@ -1419,6 +1414,8 @@ export interface ListTransactionsInput { /** * @public *

The maximum number of transactions to list.

+ *

Default:100 + *

* *

Even if additional results can be retrieved, the request can return less * results than maxResults or an empty array of results.

@@ -1428,6 +1425,15 @@ export interface ListTransactionsInput { *
*/ maxResults?: number; + + /** + * @public + *

This filter is used to include transactions in the response that haven't reached + * finality + * . Transactions that have reached finiality are always + * part of the response.

+ */ + confirmationStatusFilter?: ConfirmationStatusFilter; } /** @@ -1452,6 +1458,12 @@ export interface TransactionOutputItem { *

The time when the transaction occurred.

*/ transactionTimestamp: Date | undefined; + + /** + * @public + *

Specifies whether to list transactions that have not reached Finality.

+ */ + confirmationStatus?: ConfirmationStatus; } /** diff --git a/clients/client-managedblockchain-query/src/protocols/Aws_restJson1.ts b/clients/client-managedblockchain-query/src/protocols/Aws_restJson1.ts index e8ca0f2cbebf..6288ad593071 100644 --- a/clients/client-managedblockchain-query/src/protocols/Aws_restJson1.ts +++ b/clients/client-managedblockchain-query/src/protocols/Aws_restJson1.ts @@ -44,6 +44,8 @@ import { BatchGetTokenBalanceInputItem, BatchGetTokenBalanceOutputItem, BlockchainInstant, + ConfirmationStatus, + ConfirmationStatusFilter, ContractFilter, ContractIdentifier, InternalServerException, @@ -242,6 +244,7 @@ export const se_ListTransactionsCommand = async ( body = JSON.stringify( take(input, { address: [], + confirmationStatusFilter: (_) => _json(_), fromBlockchainInstant: (_) => se_BlockchainInstant(_, context), maxResults: [], network: [], @@ -899,6 +902,10 @@ const se_BlockchainInstant = (input: BlockchainInstant, context: __SerdeContext) }); }; +// se_ConfirmationStatusFilter omitted. + +// se_ConfirmationStatusIncludeList omitted. + // se_ContractFilter omitted. // se_ContractIdentifier omitted. @@ -1040,7 +1047,6 @@ const de_Transaction = (output: any, context: __SerdeContext): Transaction => { signatureR: __expectString, signatureS: __expectString, signatureV: __expectInt32, - status: __expectString, to: __expectString, transactionFee: __expectString, transactionHash: __expectString, @@ -1059,6 +1065,7 @@ const de_Transaction = (output: any, context: __SerdeContext): Transaction => { */ const de_TransactionOutputItem = (output: any, context: __SerdeContext): TransactionOutputItem => { return take(output, { + confirmationStatus: __expectString, network: __expectString, transactionHash: __expectString, transactionTimestamp: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), diff --git a/codegen/sdk-codegen/aws-models/managedblockchain-query.json b/codegen/sdk-codegen/aws-models/managedblockchain-query.json index 08fae10dbef2..bcdab443f05d 100644 --- a/codegen/sdk-codegen/aws-models/managedblockchain-query.json +++ b/codegen/sdk-codegen/aws-models/managedblockchain-query.json @@ -1,2649 +1,2665 @@ { - "smithy": "2.0", - "shapes": { - "com.amazonaws.managedblockchainquery#AccessDeniedException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.managedblockchainquery#ExceptionMessage", - "traits": { - "smithy.api#documentation": "

The container for the exception message.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

The Amazon Web Services account doesn’t have access to this resource.

", - "smithy.api#error": "client", - "smithy.api#httpError": 403 - } - }, - "com.amazonaws.managedblockchainquery#AssetContract": { - "type": "structure", - "members": { - "contractIdentifier": { - "target": "com.amazonaws.managedblockchainquery#ContractIdentifier", - "traits": { - "smithy.api#documentation": "

The container for the contract identifier containing its blockchain network \n and address.

", - "smithy.api#required": {} - } - }, - "tokenStandard": { - "target": "com.amazonaws.managedblockchainquery#QueryTokenStandard", - "traits": { - "smithy.api#documentation": "

The token standard of the contract.

", - "smithy.api#required": {} - } - }, - "deployerAddress": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

The address of the contract deployer.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

This container contains information about an contract.

" - } - }, - "com.amazonaws.managedblockchainquery#AssetContractList": { - "type": "list", - "member": { - "target": "com.amazonaws.managedblockchainquery#AssetContract" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 250 - } - } - }, - "com.amazonaws.managedblockchainquery#BatchGetTokenBalance": { - "type": "operation", - "input": { - "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceInput" - }, - "output": { - "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceOutput" - }, - "errors": [ - { - "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" - }, - { - "target": "com.amazonaws.managedblockchainquery#InternalServerException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ThrottlingException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ValidationException" - } - ], - "traits": { - "aws.iam#actionPermissionDescription": "Grants permission to batch calls for GetTokenBalance API", - "smithy.api#documentation": "

Gets the token balance for a batch of tokens by using the BatchGetTokenBalance \n action for every token in the request.

\n \n

Only the native tokens BTC,ETH, and the ERC-20, \n ERC-721, and ERC 1155 token standards are supported.

\n
", - "smithy.api#http": { - "uri": "/batch-get-token-balance", - "method": "POST" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceErrorItem": { - "type": "structure", - "members": { - "tokenIdentifier": { - "target": "com.amazonaws.managedblockchainquery#TokenIdentifier" - }, - "ownerIdentifier": { - "target": "com.amazonaws.managedblockchainquery#OwnerIdentifier" - }, - "atBlockchainInstant": { - "target": "com.amazonaws.managedblockchainquery#BlockchainInstant" - }, - "errorCode": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The error code associated with the error.

", - "smithy.api#required": {} - } - }, - "errorMessage": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The message associated with the error.

", - "smithy.api#required": {} - } - }, - "errorType": { - "target": "com.amazonaws.managedblockchainquery#ErrorType", - "traits": { - "smithy.api#documentation": "

The type of error.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Error generated from a failed BatchGetTokenBalance request.

" - } - }, - "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceErrors": { - "type": "list", - "member": { - "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceErrorItem" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 10 - } - } - }, - "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceInput": { - "type": "structure", - "members": { - "getTokenBalanceInputs": { - "target": "com.amazonaws.managedblockchainquery#GetTokenBalanceInputList", - "traits": { - "smithy.api#documentation": "

An array of BatchGetTokenBalanceInputItem objects whose balance is being requested.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceInputItem": { - "type": "structure", - "members": { - "tokenIdentifier": { - "target": "com.amazonaws.managedblockchainquery#TokenIdentifier", - "traits": { - "smithy.api#required": {} - } - }, - "ownerIdentifier": { - "target": "com.amazonaws.managedblockchainquery#OwnerIdentifier", - "traits": { - "smithy.api#required": {} - } - }, - "atBlockchainInstant": { - "target": "com.amazonaws.managedblockchainquery#BlockchainInstant" - } - }, - "traits": { - "smithy.api#documentation": "

The container for the input for getting a token balance.

" - } - }, - "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceOutput": { - "type": "structure", - "members": { - "tokenBalances": { - "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceOutputList", - "traits": { - "smithy.api#documentation": "

An array of BatchGetTokenBalanceOutputItem objects returned by the response.

", - "smithy.api#required": {} - } - }, - "errors": { - "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceErrors", - "traits": { - "smithy.api#documentation": "

An array of BatchGetTokenBalanceErrorItem objects returned from the request.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceOutputItem": { - "type": "structure", - "members": { - "ownerIdentifier": { - "target": "com.amazonaws.managedblockchainquery#OwnerIdentifier" - }, - "tokenIdentifier": { - "target": "com.amazonaws.managedblockchainquery#TokenIdentifier" - }, - "balance": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The container for the token balance.

", - "smithy.api#required": {} - } - }, - "atBlockchainInstant": { - "target": "com.amazonaws.managedblockchainquery#BlockchainInstant", - "traits": { - "smithy.api#required": {} - } - }, - "lastUpdatedTime": { - "target": "com.amazonaws.managedblockchainquery#BlockchainInstant" - } - }, - "traits": { - "smithy.api#documentation": "

The container for the properties of a token balance output.

" - } - }, - "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceOutputList": { - "type": "list", - "member": { - "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceOutputItem" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 10 - } - } - }, - "com.amazonaws.managedblockchainquery#BlockHash": { - "type": "string", - "traits": { - "smithy.api#pattern": "^(0x[A-Fa-f0-9]{64}|[A-Fa-f0-9]{64})$" - } - }, - "com.amazonaws.managedblockchainquery#BlockchainInstant": { - "type": "structure", - "members": { - "time": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The container of the Timestamp of the blockchain instant.

\n \n

This timestamp will only be recorded up to \n the second.

\n
" - } - } - }, - "traits": { - "smithy.api#documentation": "

The container for time.

" - } - }, - "com.amazonaws.managedblockchainquery#ChainAddress": { - "type": "string", - "traits": { - "smithy.api#pattern": "^[-A-Za-z0-9]{13,74}$" - } - }, - "com.amazonaws.managedblockchainquery#ConfirmationStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "FINAL", - "name": "FINAL" - } - ] - } - }, - "com.amazonaws.managedblockchainquery#ContractFilter": { - "type": "structure", - "members": { - "network": { - "target": "com.amazonaws.managedblockchainquery#QueryNetwork", - "traits": { - "smithy.api#documentation": "

The blockchain network of the contract.

", - "smithy.api#required": {} - } - }, - "tokenStandard": { - "target": "com.amazonaws.managedblockchainquery#QueryTokenStandard", - "traits": { - "smithy.api#documentation": "

The container for the token standard.

", - "smithy.api#required": {} - } - }, - "deployerAddress": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

The network address of the deployer.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

The contract or wallet address by which to filter the request.

" - } - }, - "com.amazonaws.managedblockchainquery#ContractIdentifier": { - "type": "structure", - "members": { - "network": { - "target": "com.amazonaws.managedblockchainquery#QueryNetwork", - "traits": { - "smithy.api#documentation": "

The blockchain network of the contract.

", - "smithy.api#required": {} - } - }, - "contractAddress": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

Container for the blockchain address about a contract.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Container for the blockchain address and network information about a contract.

" - } - }, - "com.amazonaws.managedblockchainquery#ContractMetadata": { - "type": "structure", - "members": { - "name": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The name of the token contract.

" - } - }, - "symbol": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The symbol of the token contract.

" - } - }, - "decimals": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The decimals used by the token contract.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The metadata of the contract.

" - } - }, - "com.amazonaws.managedblockchainquery#ErrorType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "VALIDATION_EXCEPTION", - "name": "VALIDATION_EXCEPTION", - "documentation": "An API request validation exception" - }, - { - "value": "RESOURCE_NOT_FOUND_EXCEPTION", - "name": "RESOURCE_NOT_FOUND_EXCEPTION", - "documentation": "An API request retrieving an item that can't be found" - } - ] - } - }, - "com.amazonaws.managedblockchainquery#ExceptionMessage": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1 - } - } - }, - "com.amazonaws.managedblockchainquery#ExecutionStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "FAILED", - "name": "FAILED" - }, - { - "value": "SUCCEEDED", - "name": "SUCCEEDED" - } - ] - } - }, - "com.amazonaws.managedblockchainquery#GetAssetContract": { - "type": "operation", - "input": { - "target": "com.amazonaws.managedblockchainquery#GetAssetContractInput" - }, - "output": { - "target": "com.amazonaws.managedblockchainquery#GetAssetContractOutput" - }, - "errors": [ - { - "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" - }, - { - "target": "com.amazonaws.managedblockchainquery#InternalServerException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ThrottlingException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ValidationException" - } - ], - "traits": { - "aws.iam#actionPermissionDescription": "Grants permission to fetch information about a contract on the blockchain", - "smithy.api#documentation": "

Gets the information about a specific contract deployed on the blockchain.

\n \n
    \n
  • \n

    The Bitcoin blockchain networks do not support this \n operation.

    \n
  • \n
  • \n

    Metadata is currently only available for some ERC-20 contracts. \n Metadata will be available for additional contracts in the future.

    \n
  • \n
\n
", - "smithy.api#http": { - "uri": "/get-asset-contract", - "method": "POST" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.managedblockchainquery#GetAssetContractInput": { - "type": "structure", - "members": { - "contractIdentifier": { - "target": "com.amazonaws.managedblockchainquery#ContractIdentifier", - "traits": { - "smithy.api#documentation": "

Contains the blockchain address and network information about the contract.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.managedblockchainquery#GetAssetContractOutput": { - "type": "structure", - "members": { - "contractIdentifier": { - "target": "com.amazonaws.managedblockchainquery#ContractIdentifier", - "traits": { - "smithy.api#documentation": "

Contains the blockchain address and network information about the contract.

", - "smithy.api#required": {} - } - }, - "tokenStandard": { - "target": "com.amazonaws.managedblockchainquery#QueryTokenStandard", - "traits": { - "smithy.api#documentation": "

The token standard of the contract requested.

", - "smithy.api#required": {} - } - }, - "deployerAddress": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

The address of the deployer of contract.

", - "smithy.api#required": {} - } - }, - "metadata": { - "target": "com.amazonaws.managedblockchainquery#ContractMetadata" - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.managedblockchainquery#GetTokenBalance": { - "type": "operation", - "input": { - "target": "com.amazonaws.managedblockchainquery#GetTokenBalanceInput" - }, - "output": { - "target": "com.amazonaws.managedblockchainquery#GetTokenBalanceOutput" - }, - "errors": [ - { - "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" - }, - { - "target": "com.amazonaws.managedblockchainquery#InternalServerException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ThrottlingException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ValidationException" - } - ], - "traits": { - "aws.iam#actionPermissionDescription": "Grants permission to retrieve balance of a token for an address on the blockchain", - "smithy.api#documentation": "

Gets the balance of a specific token, including native tokens, for a given address (wallet or contract) on the blockchain.

\n \n

Only the native tokens BTC,ETH, and the ERC-20, \n ERC-721, and ERC 1155 token standards are supported.

\n
", - "smithy.api#http": { - "uri": "/get-token-balance", - "method": "POST" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.managedblockchainquery#GetTokenBalanceInput": { - "type": "structure", - "members": { - "tokenIdentifier": { - "target": "com.amazonaws.managedblockchainquery#TokenIdentifier", - "traits": { - "smithy.api#documentation": "

The container for the identifier for the token, including the unique \n token ID and its blockchain network.

", - "smithy.api#required": {} - } - }, - "ownerIdentifier": { - "target": "com.amazonaws.managedblockchainquery#OwnerIdentifier", - "traits": { - "smithy.api#documentation": "

The container for the identifier for the owner.

", - "smithy.api#required": {} - } - }, - "atBlockchainInstant": { - "target": "com.amazonaws.managedblockchainquery#BlockchainInstant", - "traits": { - "smithy.api#documentation": "

The time for when the TokenBalance is requested or \n the current time if a time is not provided in the request.

\n \n

This time will only be recorded up to the second.

\n
" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.managedblockchainquery#GetTokenBalanceInputList": { - "type": "list", - "member": { - "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceInputItem" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 10 - } - } - }, - "com.amazonaws.managedblockchainquery#GetTokenBalanceOutput": { - "type": "structure", - "members": { - "ownerIdentifier": { - "target": "com.amazonaws.managedblockchainquery#OwnerIdentifier" - }, - "tokenIdentifier": { - "target": "com.amazonaws.managedblockchainquery#TokenIdentifier" - }, - "balance": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The container for the token balance.

", - "smithy.api#required": {} - } - }, - "atBlockchainInstant": { - "target": "com.amazonaws.managedblockchainquery#BlockchainInstant", - "traits": { - "smithy.api#required": {} - } - }, - "lastUpdatedTime": { - "target": "com.amazonaws.managedblockchainquery#BlockchainInstant" - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.managedblockchainquery#GetTransaction": { - "type": "operation", - "input": { - "target": "com.amazonaws.managedblockchainquery#GetTransactionInput" - }, - "output": { - "target": "com.amazonaws.managedblockchainquery#GetTransactionOutput" - }, - "errors": [ - { - "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" - }, - { - "target": "com.amazonaws.managedblockchainquery#InternalServerException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ThrottlingException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ValidationException" - } - ], - "traits": { - "aws.iam#actionPermissionDescription": "Grants permission to retrieve a transaction on the blockchain", - "smithy.api#documentation": "

Get the details of a transaction.

", - "smithy.api#http": { - "uri": "/get-transaction", - "method": "POST" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.managedblockchainquery#GetTransactionInput": { - "type": "structure", - "members": { - "transactionHash": { - "target": "com.amazonaws.managedblockchainquery#QueryTransactionHash", - "traits": { - "smithy.api#documentation": "

The hash of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

", - "smithy.api#required": {} - } - }, - "network": { - "target": "com.amazonaws.managedblockchainquery#QueryNetwork", - "traits": { - "smithy.api#documentation": "

The blockchain network where the transaction occurred.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.managedblockchainquery#GetTransactionOutput": { - "type": "structure", - "members": { - "transaction": { - "target": "com.amazonaws.managedblockchainquery#Transaction", - "traits": { - "smithy.api#documentation": "

Contains the details of the transaction.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.managedblockchainquery#InternalServerException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.managedblockchainquery#ExceptionMessage", - "traits": { - "smithy.api#documentation": "

The container for the exception message.

", - "smithy.api#required": {} - } - }, - "retryAfterSeconds": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The container of the retryAfterSeconds value.

", - "smithy.api#httpHeader": "Retry-After" - } - } - }, - "traits": { - "smithy.api#documentation": "

The request processing has failed because of an internal error in the service.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500, - "smithy.api#retryable": {} - } - }, - "com.amazonaws.managedblockchainquery#ListAssetContracts": { - "type": "operation", - "input": { - "target": "com.amazonaws.managedblockchainquery#ListAssetContractsInput" - }, - "output": { - "target": "com.amazonaws.managedblockchainquery#ListAssetContractsOutput" - }, - "errors": [ - { - "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" - }, - { - "target": "com.amazonaws.managedblockchainquery#InternalServerException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ThrottlingException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ValidationException" - } - ], - "traits": { - "aws.iam#actionPermissionDescription": "Grants permission to fetch multiple contracts on the blockchain", - "smithy.api#documentation": "

Lists all the contracts for a given contract type deployed by an address \n (either a contract address or a wallet address).

\n

The Bitcoin blockchain networks do not support this \n operation.

", - "smithy.api#http": { - "uri": "/list-asset-contracts", - "method": "POST" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "contracts", - "pageSize": "maxResults" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.managedblockchainquery#ListAssetContractsInput": { - "type": "structure", - "members": { - "contractFilter": { - "target": "com.amazonaws.managedblockchainquery#ContractFilter", - "traits": { - "smithy.api#documentation": "

Contains the filter parameter for the request.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.managedblockchainquery#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "maxResults": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The maximum number of contracts to list.

", - "smithy.api#range": { - "min": 1, - "max": 250 - } - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.managedblockchainquery#ListAssetContractsOutput": { - "type": "structure", - "members": { - "contracts": { - "target": "com.amazonaws.managedblockchainquery#AssetContractList", - "traits": { - "smithy.api#documentation": "

An array of contract objects that contain the properties for each contract.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.managedblockchainquery#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.managedblockchainquery#ListTokenBalances": { - "type": "operation", - "input": { - "target": "com.amazonaws.managedblockchainquery#ListTokenBalancesInput" - }, - "output": { - "target": "com.amazonaws.managedblockchainquery#ListTokenBalancesOutput" - }, - "errors": [ - { - "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" - }, - { - "target": "com.amazonaws.managedblockchainquery#InternalServerException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ThrottlingException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ValidationException" - } - ], - "traits": { - "aws.iam#actionPermissionDescription": "Grants permission to retrieve multiple balances on the blockchain", - "smithy.api#documentation": "

This action returns the following for a given blockchain network:

\n \n \n

You must always specify the network property of \n the tokenFilter when using this operation.

\n
", - "smithy.api#http": { - "uri": "/list-token-balances", - "method": "POST" - }, - "smithy.api#paginated": { - "items": "tokenBalances", - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.managedblockchainquery#ListTokenBalancesInput": { - "type": "structure", - "members": { - "ownerFilter": { - "target": "com.amazonaws.managedblockchainquery#OwnerFilter", - "traits": { - "smithy.api#documentation": "

The contract or wallet address on the blockchain network by which to filter the \n request. You must specify the address property of the ownerFilter \n when listing balances of tokens owned by the address.

" - } - }, - "tokenFilter": { - "target": "com.amazonaws.managedblockchainquery#TokenFilter", - "traits": { - "smithy.api#documentation": "

The contract address or a token identifier on the \n blockchain network by which to filter the request. You must specify the contractAddress \n property of this container when listing tokens minted by a contract.

\n \n

You must always specify the network property of this \n container when using this operation.

\n
", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.managedblockchainquery#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "maxResults": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The maximum number of token balances to return.

", - "smithy.api#range": { - "min": 1, - "max": 250 - } - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.managedblockchainquery#ListTokenBalancesOutput": { - "type": "structure", - "members": { - "tokenBalances": { - "target": "com.amazonaws.managedblockchainquery#TokenBalanceList", - "traits": { - "smithy.api#documentation": "

An array of TokenBalance objects. Each object contains details about \n the token balance.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.managedblockchainquery#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.managedblockchainquery#ListTransactionEvents": { - "type": "operation", - "input": { - "target": "com.amazonaws.managedblockchainquery#ListTransactionEventsInput" - }, - "output": { - "target": "com.amazonaws.managedblockchainquery#ListTransactionEventsOutput" - }, - "errors": [ - { - "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" - }, - { - "target": "com.amazonaws.managedblockchainquery#InternalServerException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ThrottlingException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ValidationException" - } - ], - "traits": { - "aws.iam#actionPermissionDescription": "Grants permission to retrieve events in a transaction on the blockchain", - "smithy.api#documentation": "

An array of TransactionEvent objects. Each object contains details \n about the transaction event.

", - "smithy.api#http": { - "uri": "/list-transaction-events", - "method": "POST" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "events", - "pageSize": "maxResults" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.managedblockchainquery#ListTransactionEventsInput": { - "type": "structure", - "members": { - "transactionHash": { - "target": "com.amazonaws.managedblockchainquery#QueryTransactionHash", - "traits": { - "smithy.api#documentation": "

The hash of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

", - "smithy.api#required": {} - } - }, - "network": { - "target": "com.amazonaws.managedblockchainquery#QueryNetwork", - "traits": { - "smithy.api#documentation": "

The blockchain network where the transaction events occurred.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.managedblockchainquery#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "maxResults": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The maximum number of transaction events to list.

\n \n

Even if additional results can be retrieved, the request can return less \n results than maxResults or an empty array of results.

\n

To retrieve the next set of results, make another request with the \n returned nextToken value. The value of nextToken is \n null when there are no more results to return

\n
", - "smithy.api#range": { - "min": 1, - "max": 250 - } - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.managedblockchainquery#ListTransactionEventsOutput": { - "type": "structure", - "members": { - "events": { - "target": "com.amazonaws.managedblockchainquery#TransactionEventList", - "traits": { - "smithy.api#documentation": "

An array of TransactionEvent objects. Each object contains details \n about the transaction events.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.managedblockchainquery#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.managedblockchainquery#ListTransactions": { - "type": "operation", - "input": { - "target": "com.amazonaws.managedblockchainquery#ListTransactionsInput" - }, - "output": { - "target": "com.amazonaws.managedblockchainquery#ListTransactionsOutput" - }, - "errors": [ - { - "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" - }, - { - "target": "com.amazonaws.managedblockchainquery#InternalServerException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ThrottlingException" - }, - { - "target": "com.amazonaws.managedblockchainquery#ValidationException" - } - ], - "traits": { - "aws.iam#actionPermissionDescription": "Grants permission to retrieve a multiple transactions on a blockchain", - "smithy.api#documentation": "

Lists all of the transactions on a given wallet address or to a specific contract.

", - "smithy.api#http": { - "uri": "/list-transactions", - "method": "POST" - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "transactions", - "pageSize": "maxResults" - }, - "smithy.api#readonly": {} - } + "smithy": "2.0", + "shapes": { + "com.amazonaws.managedblockchainquery#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.managedblockchainquery#ExceptionMessage", + "traits": { + "smithy.api#documentation": "

The container for the exception message.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account doesn’t have access to this resource.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.managedblockchainquery#AssetContract": { + "type": "structure", + "members": { + "contractIdentifier": { + "target": "com.amazonaws.managedblockchainquery#ContractIdentifier", + "traits": { + "smithy.api#documentation": "

The container for the contract identifier containing its blockchain network \n and address.

", + "smithy.api#required": {} + } + }, + "tokenStandard": { + "target": "com.amazonaws.managedblockchainquery#QueryTokenStandard", + "traits": { + "smithy.api#documentation": "

The token standard of the contract.

", + "smithy.api#required": {} + } + }, + "deployerAddress": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

The address of the contract deployer.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

This container contains information about an contract.

" + } + }, + "com.amazonaws.managedblockchainquery#AssetContractList": { + "type": "list", + "member": { + "target": "com.amazonaws.managedblockchainquery#AssetContract" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 250 + } + } + }, + "com.amazonaws.managedblockchainquery#BatchGetTokenBalance": { + "type": "operation", + "input": { + "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceInput" + }, + "output": { + "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" + }, + { + "target": "com.amazonaws.managedblockchainquery#InternalServerException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ThrottlingException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to batch calls for GetTokenBalance API", + "smithy.api#documentation": "

Gets the token balance for a batch of tokens by using the BatchGetTokenBalance \n action for every token in the request.

\n \n

Only the native tokens BTC and ETH, and the ERC-20, \n ERC-721, and ERC 1155 token standards are supported.

\n
", + "smithy.api#http": { + "uri": "/batch-get-token-balance", + "method": "POST" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceErrorItem": { + "type": "structure", + "members": { + "tokenIdentifier": { + "target": "com.amazonaws.managedblockchainquery#TokenIdentifier" + }, + "ownerIdentifier": { + "target": "com.amazonaws.managedblockchainquery#OwnerIdentifier" + }, + "atBlockchainInstant": { + "target": "com.amazonaws.managedblockchainquery#BlockchainInstant" + }, + "errorCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The error code associated with the error.

", + "smithy.api#required": {} + } + }, + "errorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The message associated with the error.

", + "smithy.api#required": {} + } + }, + "errorType": { + "target": "com.amazonaws.managedblockchainquery#ErrorType", + "traits": { + "smithy.api#documentation": "

The type of error.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Error generated from a failed BatchGetTokenBalance request.

" + } + }, + "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceErrorItem" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceInput": { + "type": "structure", + "members": { + "getTokenBalanceInputs": { + "target": "com.amazonaws.managedblockchainquery#GetTokenBalanceInputList", + "traits": { + "smithy.api#documentation": "

An array of BatchGetTokenBalanceInputItem objects whose balance is being requested.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceInputItem": { + "type": "structure", + "members": { + "tokenIdentifier": { + "target": "com.amazonaws.managedblockchainquery#TokenIdentifier", + "traits": { + "smithy.api#required": {} + } + }, + "ownerIdentifier": { + "target": "com.amazonaws.managedblockchainquery#OwnerIdentifier", + "traits": { + "smithy.api#required": {} + } + }, + "atBlockchainInstant": { + "target": "com.amazonaws.managedblockchainquery#BlockchainInstant" + } + }, + "traits": { + "smithy.api#documentation": "

The container for the input for getting a token balance.

" + } + }, + "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceOutput": { + "type": "structure", + "members": { + "tokenBalances": { + "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceOutputList", + "traits": { + "smithy.api#documentation": "

An array of BatchGetTokenBalanceOutputItem objects returned by the response.

", + "smithy.api#required": {} + } + }, + "errors": { + "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceErrors", + "traits": { + "smithy.api#documentation": "

An array of BatchGetTokenBalanceErrorItem objects returned from the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceOutputItem": { + "type": "structure", + "members": { + "ownerIdentifier": { + "target": "com.amazonaws.managedblockchainquery#OwnerIdentifier" + }, + "tokenIdentifier": { + "target": "com.amazonaws.managedblockchainquery#TokenIdentifier" + }, + "balance": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The container for the token balance.

", + "smithy.api#required": {} + } + }, + "atBlockchainInstant": { + "target": "com.amazonaws.managedblockchainquery#BlockchainInstant", + "traits": { + "smithy.api#required": {} + } + }, + "lastUpdatedTime": { + "target": "com.amazonaws.managedblockchainquery#BlockchainInstant" + } + }, + "traits": { + "smithy.api#documentation": "

The container for the properties of a token balance output.

" + } + }, + "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceOutputList": { + "type": "list", + "member": { + "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceOutputItem" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, + "com.amazonaws.managedblockchainquery#BlockHash": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(0x[A-Fa-f0-9]{64}|[A-Fa-f0-9]{64})$" + } + }, + "com.amazonaws.managedblockchainquery#BlockchainInstant": { + "type": "structure", + "members": { + "time": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The container of the Timestamp of the blockchain instant.

\n \n

This timestamp will only be recorded up to \n the second.

\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "

The container for time.

" + } + }, + "com.amazonaws.managedblockchainquery#ChainAddress": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[-A-Za-z0-9]{13,74}$" + } + }, + "com.amazonaws.managedblockchainquery#ConfirmationStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "FINAL", + "name": "FINAL" + }, + { + "value": "NONFINAL", + "name": "NONFINAL" + } + ] + } + }, + "com.amazonaws.managedblockchainquery#ConfirmationStatusFilter": { + "type": "structure", + "members": { + "include": { + "target": "com.amazonaws.managedblockchainquery#ConfirmationStatusIncludeList", + "traits": { + "smithy.api#documentation": "

The container to determine whether to list results that have only reached \n finality\n . Transactions \n that have reached finality are always part of the response.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The container for the ConfirmationStatusFilter that filters for the \n finality\n of the results.

" + } + }, + "com.amazonaws.managedblockchainquery#ConfirmationStatusIncludeList": { + "type": "list", + "member": { + "target": "com.amazonaws.managedblockchainquery#ConfirmationStatus" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.managedblockchainquery#ContractFilter": { + "type": "structure", + "members": { + "network": { + "target": "com.amazonaws.managedblockchainquery#QueryNetwork", + "traits": { + "smithy.api#documentation": "

The blockchain network of the contract.

", + "smithy.api#required": {} + } + }, + "tokenStandard": { + "target": "com.amazonaws.managedblockchainquery#QueryTokenStandard", + "traits": { + "smithy.api#documentation": "

The container for the token standard.

", + "smithy.api#required": {} + } + }, + "deployerAddress": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

The network address of the deployer.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The contract or wallet address by which to filter the request.

" + } + }, + "com.amazonaws.managedblockchainquery#ContractIdentifier": { + "type": "structure", + "members": { + "network": { + "target": "com.amazonaws.managedblockchainquery#QueryNetwork", + "traits": { + "smithy.api#documentation": "

The blockchain network of the contract.

", + "smithy.api#required": {} + } + }, + "contractAddress": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

Container for the blockchain address about a contract.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for the blockchain address and network information about a contract.

" + } + }, + "com.amazonaws.managedblockchainquery#ContractMetadata": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the token contract.

" + } + }, + "symbol": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The symbol of the token contract.

" + } + }, + "decimals": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The decimals used by the token contract.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The metadata of the contract.

" + } + }, + "com.amazonaws.managedblockchainquery#ErrorType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "VALIDATION_EXCEPTION", + "name": "VALIDATION_EXCEPTION", + "documentation": "An API request validation exception" + }, + { + "value": "RESOURCE_NOT_FOUND_EXCEPTION", + "name": "RESOURCE_NOT_FOUND_EXCEPTION", + "documentation": "An API request retrieving an item that can't be found" + } + ] + } + }, + "com.amazonaws.managedblockchainquery#ExceptionMessage": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.managedblockchainquery#ExecutionStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "FAILED", + "name": "FAILED" + }, + { + "value": "SUCCEEDED", + "name": "SUCCEEDED" + } + ] + } + }, + "com.amazonaws.managedblockchainquery#GetAssetContract": { + "type": "operation", + "input": { + "target": "com.amazonaws.managedblockchainquery#GetAssetContractInput" + }, + "output": { + "target": "com.amazonaws.managedblockchainquery#GetAssetContractOutput" + }, + "errors": [ + { + "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" + }, + { + "target": "com.amazonaws.managedblockchainquery#InternalServerException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ThrottlingException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to fetch information about a contract on the blockchain", + "smithy.api#documentation": "

Gets the information about a specific contract deployed on the blockchain.

\n \n
    \n
  • \n

    The Bitcoin blockchain networks do not support this \n operation.

    \n
  • \n
  • \n

    Metadata is currently only available for some ERC-20 contracts. \n Metadata will be available for additional contracts in the future.

    \n
  • \n
\n
", + "smithy.api#http": { + "uri": "/get-asset-contract", + "method": "POST" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.managedblockchainquery#GetAssetContractInput": { + "type": "structure", + "members": { + "contractIdentifier": { + "target": "com.amazonaws.managedblockchainquery#ContractIdentifier", + "traits": { + "smithy.api#documentation": "

Contains the blockchain address and network information about the contract.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.managedblockchainquery#GetAssetContractOutput": { + "type": "structure", + "members": { + "contractIdentifier": { + "target": "com.amazonaws.managedblockchainquery#ContractIdentifier", + "traits": { + "smithy.api#documentation": "

Contains the blockchain address and network information about the contract.

", + "smithy.api#required": {} + } + }, + "tokenStandard": { + "target": "com.amazonaws.managedblockchainquery#QueryTokenStandard", + "traits": { + "smithy.api#documentation": "

The token standard of the contract requested.

", + "smithy.api#required": {} + } + }, + "deployerAddress": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

The address of the deployer of contract.

", + "smithy.api#required": {} + } + }, + "metadata": { + "target": "com.amazonaws.managedblockchainquery#ContractMetadata" + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.managedblockchainquery#GetTokenBalance": { + "type": "operation", + "input": { + "target": "com.amazonaws.managedblockchainquery#GetTokenBalanceInput" + }, + "output": { + "target": "com.amazonaws.managedblockchainquery#GetTokenBalanceOutput" + }, + "errors": [ + { + "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" + }, + { + "target": "com.amazonaws.managedblockchainquery#InternalServerException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ThrottlingException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to retrieve balance of a token for an address on the blockchain", + "smithy.api#documentation": "

Gets the balance of a specific token, including native tokens, for a given address (wallet or contract) on the blockchain.

\n \n

Only the native tokens BTC and ETH, and the ERC-20, \n ERC-721, and ERC 1155 token standards are supported.

\n
", + "smithy.api#http": { + "uri": "/get-token-balance", + "method": "POST" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.managedblockchainquery#GetTokenBalanceInput": { + "type": "structure", + "members": { + "tokenIdentifier": { + "target": "com.amazonaws.managedblockchainquery#TokenIdentifier", + "traits": { + "smithy.api#documentation": "

The container for the identifier for the token, including the unique \n token ID and its blockchain network.

", + "smithy.api#required": {} + } + }, + "ownerIdentifier": { + "target": "com.amazonaws.managedblockchainquery#OwnerIdentifier", + "traits": { + "smithy.api#documentation": "

The container for the identifier for the owner.

", + "smithy.api#required": {} + } + }, + "atBlockchainInstant": { + "target": "com.amazonaws.managedblockchainquery#BlockchainInstant", + "traits": { + "smithy.api#documentation": "

The time for when the TokenBalance is requested or \n the current time if a time is not provided in the request.

\n \n

This time will only be recorded up to the second.

\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.managedblockchainquery#GetTokenBalanceInputList": { + "type": "list", + "member": { + "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalanceInputItem" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.managedblockchainquery#GetTokenBalanceOutput": { + "type": "structure", + "members": { + "ownerIdentifier": { + "target": "com.amazonaws.managedblockchainquery#OwnerIdentifier" + }, + "tokenIdentifier": { + "target": "com.amazonaws.managedblockchainquery#TokenIdentifier" + }, + "balance": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The container for the token balance.

", + "smithy.api#required": {} + } + }, + "atBlockchainInstant": { + "target": "com.amazonaws.managedblockchainquery#BlockchainInstant", + "traits": { + "smithy.api#required": {} + } + }, + "lastUpdatedTime": { + "target": "com.amazonaws.managedblockchainquery#BlockchainInstant" + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.managedblockchainquery#GetTransaction": { + "type": "operation", + "input": { + "target": "com.amazonaws.managedblockchainquery#GetTransactionInput" + }, + "output": { + "target": "com.amazonaws.managedblockchainquery#GetTransactionOutput" + }, + "errors": [ + { + "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" + }, + { + "target": "com.amazonaws.managedblockchainquery#InternalServerException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ThrottlingException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to retrieve a transaction on the blockchain", + "smithy.api#documentation": "

Gets the details of a transaction.

\n \n

This action will return transaction details for all transactions \n that are confirmed on the blockchain, even if they have not reached \n finality.\n

\n
", + "smithy.api#http": { + "uri": "/get-transaction", + "method": "POST" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.managedblockchainquery#GetTransactionInput": { + "type": "structure", + "members": { + "transactionHash": { + "target": "com.amazonaws.managedblockchainquery#QueryTransactionHash", + "traits": { + "smithy.api#documentation": "

The hash of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

", + "smithy.api#required": {} + } + }, + "network": { + "target": "com.amazonaws.managedblockchainquery#QueryNetwork", + "traits": { + "smithy.api#documentation": "

The blockchain network where the transaction occurred.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.managedblockchainquery#GetTransactionOutput": { + "type": "structure", + "members": { + "transaction": { + "target": "com.amazonaws.managedblockchainquery#Transaction", + "traits": { + "smithy.api#documentation": "

Contains the details of the transaction.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.managedblockchainquery#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.managedblockchainquery#ExceptionMessage", + "traits": { + "smithy.api#documentation": "

The container for the exception message.

", + "smithy.api#required": {} + } + }, + "retryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The container of the retryAfterSeconds value.

", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

The request processing has failed because of an internal error in the service.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.managedblockchainquery#ListAssetContracts": { + "type": "operation", + "input": { + "target": "com.amazonaws.managedblockchainquery#ListAssetContractsInput" + }, + "output": { + "target": "com.amazonaws.managedblockchainquery#ListAssetContractsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" + }, + { + "target": "com.amazonaws.managedblockchainquery#InternalServerException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ThrottlingException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to fetch multiple contracts on the blockchain", + "smithy.api#documentation": "

Lists all the contracts for a given contract type deployed by an address \n (either a contract address or a wallet address).

\n

The Bitcoin blockchain networks do not support this \n operation.

", + "smithy.api#http": { + "uri": "/list-asset-contracts", + "method": "POST" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "contracts", + "pageSize": "maxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.managedblockchainquery#ListAssetContractsInput": { + "type": "structure", + "members": { + "contractFilter": { + "target": "com.amazonaws.managedblockchainquery#ContractFilter", + "traits": { + "smithy.api#documentation": "

Contains the filter parameter for the request.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.managedblockchainquery#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of contracts to list.

\n

Default:100\n

\n \n

Even if additional results can be retrieved, the request can return less \n results than maxResults or an empty array of results.

\n

To retrieve the next set of results, make another request with the \n returned nextToken value. The value of nextToken is \n null when there are no more results to return

\n
", + "smithy.api#range": { + "min": 1, + "max": 250 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.managedblockchainquery#ListAssetContractsOutput": { + "type": "structure", + "members": { + "contracts": { + "target": "com.amazonaws.managedblockchainquery#AssetContractList", + "traits": { + "smithy.api#documentation": "

An array of contract objects that contain the properties for each contract.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.managedblockchainquery#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.managedblockchainquery#ListTokenBalances": { + "type": "operation", + "input": { + "target": "com.amazonaws.managedblockchainquery#ListTokenBalancesInput" + }, + "output": { + "target": "com.amazonaws.managedblockchainquery#ListTokenBalancesOutput" + }, + "errors": [ + { + "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" + }, + { + "target": "com.amazonaws.managedblockchainquery#InternalServerException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ThrottlingException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to retrieve multiple balances on the blockchain", + "smithy.api#documentation": "

This action returns the following for a given blockchain network:

\n \n \n

You must always specify the network property of \n the tokenFilter when using this operation.

\n
", + "smithy.api#http": { + "uri": "/list-token-balances", + "method": "POST" + }, + "smithy.api#paginated": { + "items": "tokenBalances", + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.managedblockchainquery#ListTokenBalancesInput": { + "type": "structure", + "members": { + "ownerFilter": { + "target": "com.amazonaws.managedblockchainquery#OwnerFilter", + "traits": { + "smithy.api#documentation": "

The contract or wallet address on the blockchain network by which to filter the \n request. You must specify the address property of the ownerFilter \n when listing balances of tokens owned by the address.

" + } + }, + "tokenFilter": { + "target": "com.amazonaws.managedblockchainquery#TokenFilter", + "traits": { + "smithy.api#documentation": "

The contract address or a token identifier on the \n blockchain network by which to filter the request. You must specify the contractAddress \n property of this container when listing tokens minted by a contract.

\n \n

You must always specify the network property of this \n container when using this operation.

\n
", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.managedblockchainquery#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of token balances to return.

\n

Default:100\n

\n \n

Even if additional results can be retrieved, the request can return less \n results than maxResults or an empty array of results.

\n

To retrieve the next set of results, make another request with the \n returned nextToken value. The value of nextToken is \n null when there are no more results to return

\n
", + "smithy.api#range": { + "min": 1, + "max": 250 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.managedblockchainquery#ListTokenBalancesOutput": { + "type": "structure", + "members": { + "tokenBalances": { + "target": "com.amazonaws.managedblockchainquery#TokenBalanceList", + "traits": { + "smithy.api#documentation": "

An array of TokenBalance objects. Each object contains details about \n the token balance.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.managedblockchainquery#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.managedblockchainquery#ListTransactionEvents": { + "type": "operation", + "input": { + "target": "com.amazonaws.managedblockchainquery#ListTransactionEventsInput" + }, + "output": { + "target": "com.amazonaws.managedblockchainquery#ListTransactionEventsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" + }, + { + "target": "com.amazonaws.managedblockchainquery#InternalServerException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ThrottlingException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to retrieve events in a transaction on the blockchain", + "smithy.api#documentation": "

An array of TransactionEvent objects. Each object contains details \n about the transaction event.

\n \n

This action will return transaction details for all transactions \n that are confirmed on the blockchain, even if they have not reached \n finality.\n

\n
", + "smithy.api#http": { + "uri": "/list-transaction-events", + "method": "POST" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "events", + "pageSize": "maxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.managedblockchainquery#ListTransactionEventsInput": { + "type": "structure", + "members": { + "transactionHash": { + "target": "com.amazonaws.managedblockchainquery#QueryTransactionHash", + "traits": { + "smithy.api#documentation": "

The hash of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

", + "smithy.api#required": {} + } + }, + "network": { + "target": "com.amazonaws.managedblockchainquery#QueryNetwork", + "traits": { + "smithy.api#documentation": "

The blockchain network where the transaction events occurred.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.managedblockchainquery#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of transaction events to list.

\n

Default:100\n

\n \n

Even if additional results can be retrieved, the request can return less \n results than maxResults or an empty array of results.

\n

To retrieve the next set of results, make another request with the \n returned nextToken value. The value of nextToken is \n null when there are no more results to return

\n
", + "smithy.api#range": { + "min": 1, + "max": 250 + } + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.managedblockchainquery#ListTransactionEventsOutput": { + "type": "structure", + "members": { + "events": { + "target": "com.amazonaws.managedblockchainquery#TransactionEventList", + "traits": { + "smithy.api#documentation": "

An array of TransactionEvent objects. Each object contains details \n about the transaction events.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.managedblockchainquery#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.managedblockchainquery#ListTransactions": { + "type": "operation", + "input": { + "target": "com.amazonaws.managedblockchainquery#ListTransactionsInput" + }, + "output": { + "target": "com.amazonaws.managedblockchainquery#ListTransactionsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.managedblockchainquery#AccessDeniedException" + }, + { + "target": "com.amazonaws.managedblockchainquery#InternalServerException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ThrottlingException" + }, + { + "target": "com.amazonaws.managedblockchainquery#ValidationException" + } + ], + "traits": { + "aws.iam#actionPermissionDescription": "Grants permission to retrieve a multiple transactions on a blockchain", + "smithy.api#documentation": "

Lists all of the transactions on a given wallet address or to a specific contract.

", + "smithy.api#http": { + "uri": "/list-transactions", + "method": "POST" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "items": "transactions", + "pageSize": "maxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.managedblockchainquery#ListTransactionsInput": { + "type": "structure", + "members": { + "address": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

The address (either a contract or wallet), whose transactions are being requested.

", + "smithy.api#required": {} + } + }, + "network": { + "target": "com.amazonaws.managedblockchainquery#QueryNetwork", + "traits": { + "smithy.api#documentation": "

The blockchain network where the transactions occurred.

", + "smithy.api#required": {} + } + }, + "fromBlockchainInstant": { + "target": "com.amazonaws.managedblockchainquery#BlockchainInstant" + }, + "toBlockchainInstant": { + "target": "com.amazonaws.managedblockchainquery#BlockchainInstant" + }, + "sort": { + "target": "com.amazonaws.managedblockchainquery#ListTransactionsSort", + "traits": { + "smithy.api#documentation": "

The order by which the results will be sorted. If ASCENNDING is selected, the results \n will be ordered by fromTime.

" + } + }, + "nextToken": { + "target": "com.amazonaws.managedblockchainquery#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of transactions to list.

\n

Default:100\n

\n \n

Even if additional results can be retrieved, the request can return less \n results than maxResults or an empty array of results.

\n

To retrieve the next set of results, make another request with the \n returned nextToken value. The value of nextToken is \n null when there are no more results to return

\n
", + "smithy.api#range": { + "min": 1, + "max": 250 + } + } + }, + "confirmationStatusFilter": { + "target": "com.amazonaws.managedblockchainquery#ConfirmationStatusFilter", + "traits": { + "smithy.api#documentation": "

This filter is used to include transactions in the response that haven't reached \n finality\n . Transactions that have reached finiality are always \n part of the response.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.managedblockchainquery#ListTransactionsOutput": { + "type": "structure", + "members": { + "transactions": { + "target": "com.amazonaws.managedblockchainquery#TransactionOutputList", + "traits": { + "smithy.api#documentation": "

The array of transactions returned by the request.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.managedblockchainquery#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.managedblockchainquery#ListTransactionsSort": { + "type": "structure", + "members": { + "sortBy": { + "target": "com.amazonaws.managedblockchainquery#ListTransactionsSortBy", + "traits": { + "smithy.api#documentation": "

Defaults to the value TRANSACTION_TIMESTAMP.

" + } + }, + "sortOrder": { + "target": "com.amazonaws.managedblockchainquery#SortOrder", + "traits": { + "smithy.api#documentation": "

The container for the sort order for ListTransactions. \n The SortOrder field only accepts the values ASCENDING \n and DESCENDING. Not providing SortOrder will default \n to ASCENDING.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The container for determining how the list transaction result will \n be sorted.

" + } + }, + "com.amazonaws.managedblockchainquery#ListTransactionsSortBy": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TRANSACTION_TIMESTAMP", + "name": "TRANSACTION_TIMESTAMP", + "documentation": "Timestamp of a transaction" + } + ] + } + }, + "com.amazonaws.managedblockchainquery#NextToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 131070 + } + } + }, + "com.amazonaws.managedblockchainquery#OwnerFilter": { + "type": "structure", + "members": { + "address": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

The contract or wallet address.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The container for the owner information to filter by.

" + } + }, + "com.amazonaws.managedblockchainquery#OwnerIdentifier": { + "type": "structure", + "members": { + "address": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

The contract or wallet address for the owner.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The container for the identifier of the owner.

" + } + }, + "com.amazonaws.managedblockchainquery#QueryNetwork": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ETHEREUM_MAINNET", + "name": "ETHEREUM_MAINNET", + "documentation": "Ethereum main network" + }, + { + "value": "ETHEREUM_SEPOLIA_TESTNET", + "name": "ETHEREUM_SEPOLIA_TESTNET", + "documentation": "SEPOLIA network (ethereum testnet)" + }, + { + "value": "BITCOIN_MAINNET", + "name": "BITCOIN_MAINNET", + "documentation": "Bitcoin main network" + }, + { + "value": "BITCOIN_TESTNET", + "name": "BITCOIN_TESTNET", + "documentation": "Bitcoin test network" + } + ] + } + }, + "com.amazonaws.managedblockchainquery#QueryTokenId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-zA-Z0-9]{1,66}$" + } + }, + "com.amazonaws.managedblockchainquery#QueryTokenStandard": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ERC20", + "name": "ERC20" + }, + { + "value": "ERC721", + "name": "ERC721" + }, + { + "value": "ERC1155", + "name": "ERC1155" + } + ] + } + }, + "com.amazonaws.managedblockchainquery#QueryTransactionEventType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ERC20_TRANSFER", + "name": "ERC20_TRANSFER", + "documentation": "An ERC20 transfer type" + }, + { + "value": "ERC20_MINT", + "name": "ERC20_MINT", + "documentation": "An ERC20_MINT transfer type" + }, + { + "value": "ERC20_BURN", + "name": "ERC20_BURN", + "documentation": "An ERC20_BURN transfer type" + }, + { + "value": "ERC20_DEPOSIT", + "name": "ERC20_DEPOSIT", + "documentation": "An ERC20_DEPOSIT transfer type" + }, + { + "value": "ERC20_WITHDRAWAL", + "name": "ERC20_WITHDRAWAL", + "documentation": "An ERC20_WITHDRAWAL transfer type" + }, + { + "value": "ERC721_TRANSFER", + "name": "ERC721_TRANSFER", + "documentation": "An ERC721 transfer type" + }, + { + "value": "ERC1155_TRANSFER", + "name": "ERC1155_TRANSFER", + "documentation": "An ERC1155 transfer type" + }, + { + "value": "BITCOIN_VIN", + "name": "BITCOIN_VIN", + "documentation": "A Bitcoin Vin transfer type" + }, + { + "value": "BITCOIN_VOUT", + "name": "BITCOIN_VOUT", + "documentation": "A Bitcoin Vout transfer type" + }, + { + "value": "INTERNAL_ETH_TRANSFER", + "name": "INTERNAL_ETH_TRANSFER", + "documentation": "An internal ETH transfer type" + }, + { + "value": "ETH_TRANSFER", + "name": "ETH_TRANSFER", + "documentation": "An ETH transfer type" + } + ] + } + }, + "com.amazonaws.managedblockchainquery#QueryTransactionHash": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(0x[A-Fa-f0-9]{64}|[A-Fa-f0-9]{64})$" + } + }, + "com.amazonaws.managedblockchainquery#QuotaCode": { + "type": "string" + }, + "com.amazonaws.managedblockchainquery#ResourceId": { + "type": "string" + }, + "com.amazonaws.managedblockchainquery#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.managedblockchainquery#ExceptionMessage", + "traits": { + "smithy.api#documentation": "

The container for the exception message.

", + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "com.amazonaws.managedblockchainquery#ResourceId", + "traits": { + "smithy.api#documentation": "

The resourceId of the resource that caused the exception.

", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "com.amazonaws.managedblockchainquery#ResourceType", + "traits": { + "smithy.api#documentation": "

The resourceType of the resource that caused the exception.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The resource was not found.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.managedblockchainquery#ResourceType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "collection", + "name": "COLLECTION" + } + ] + } + }, + "com.amazonaws.managedblockchainquery#ServiceCode": { + "type": "string" + }, + "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.managedblockchainquery#ExceptionMessage", + "traits": { + "smithy.api#documentation": "

The container for the exception message.

", + "smithy.api#required": {} + } + }, + "resourceId": { + "target": "com.amazonaws.managedblockchainquery#ResourceId", + "traits": { + "smithy.api#documentation": "

The resourceId of the resource that caused the exception.

", + "smithy.api#required": {} + } + }, + "resourceType": { + "target": "com.amazonaws.managedblockchainquery#ResourceType", + "traits": { + "smithy.api#documentation": "

The resourceType of the resource that caused the exception.

", + "smithy.api#required": {} + } + }, + "serviceCode": { + "target": "com.amazonaws.managedblockchainquery#ServiceCode", + "traits": { + "smithy.api#documentation": "

The container for the serviceCode.

", + "smithy.api#required": {} + } + }, + "quotaCode": { + "target": "com.amazonaws.managedblockchainquery#QuotaCode", + "traits": { + "smithy.api#documentation": "

The container for the quotaCode.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The service quota has been exceeded for this resource.

", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.managedblockchainquery#SortOrder": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ASCENDING", + "name": "ASCENDING", + "documentation": "Result sorted in ascending order" + }, + { + "value": "DESCENDING", + "name": "DESCENDING", + "documentation": "Result sorted in descending order" + } + ] + } + }, + "com.amazonaws.managedblockchainquery#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.managedblockchainquery#ExceptionMessage", + "traits": { + "smithy.api#documentation": "

The container for the exception message.

", + "smithy.api#required": {} + } + }, + "serviceCode": { + "target": "com.amazonaws.managedblockchainquery#ServiceCode", + "traits": { + "smithy.api#documentation": "

The container for the serviceCode.

", + "smithy.api#required": {} + } + }, + "quotaCode": { + "target": "com.amazonaws.managedblockchainquery#QuotaCode", + "traits": { + "smithy.api#documentation": "

The container for the quotaCode.

", + "smithy.api#required": {} + } + }, + "retryAfterSeconds": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The container of the retryAfterSeconds value.

", + "smithy.api#httpHeader": "Retry-After" + } + } + }, + "traits": { + "smithy.api#documentation": "

The request or operation couldn't be performed because a service is throttling \n requests. The most common source of throttling errors is when you create resources \n that exceed your service limit for this resource type. Request a limit increase or \n delete unused resources, if possible.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429, + "smithy.api#retryable": { + "throttling": true + } + } + }, + "com.amazonaws.managedblockchainquery#TietonChainQueryService": { + "type": "service", + "version": "2023-05-04", + "operations": [ + { + "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalance" }, - "com.amazonaws.managedblockchainquery#ListTransactionsInput": { - "type": "structure", - "members": { - "address": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

The address (either a contract or wallet), whose transactions are being requested.

", - "smithy.api#required": {} - } - }, - "network": { - "target": "com.amazonaws.managedblockchainquery#QueryNetwork", - "traits": { - "smithy.api#documentation": "

The blockchain network where the transactions occurred.

", - "smithy.api#required": {} - } - }, - "fromBlockchainInstant": { - "target": "com.amazonaws.managedblockchainquery#BlockchainInstant" - }, - "toBlockchainInstant": { - "target": "com.amazonaws.managedblockchainquery#BlockchainInstant" - }, - "sort": { - "target": "com.amazonaws.managedblockchainquery#ListTransactionsSort", - "traits": { - "smithy.api#documentation": "

Sorts items in an ascending order if the first page starts at fromTime. \n Sorts items in a descending order if the first page starts at toTime.

" - } - }, - "nextToken": { - "target": "com.amazonaws.managedblockchainquery#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" - } - }, - "maxResults": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The maximum number of transactions to list.

\n \n

Even if additional results can be retrieved, the request can return less \n results than maxResults or an empty array of results.

\n

To retrieve the next set of results, make another request with the \n returned nextToken value. The value of nextToken is \n null when there are no more results to return

\n
", - "smithy.api#range": { - "min": 1, - "max": 250 - } - } - } - }, - "traits": { - "smithy.api#input": {} - } + { + "target": "com.amazonaws.managedblockchainquery#GetAssetContract" }, - "com.amazonaws.managedblockchainquery#ListTransactionsOutput": { - "type": "structure", - "members": { - "transactions": { - "target": "com.amazonaws.managedblockchainquery#TransactionOutputList", - "traits": { - "smithy.api#documentation": "

The array of transactions returned by the request.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.managedblockchainquery#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that indicates the next set of results to retrieve.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } + { + "target": "com.amazonaws.managedblockchainquery#GetTokenBalance" }, - "com.amazonaws.managedblockchainquery#ListTransactionsSort": { - "type": "structure", - "members": { - "sortBy": { - "target": "com.amazonaws.managedblockchainquery#ListTransactionsSortBy", - "traits": { - "smithy.api#documentation": "

Defaults to the value TRANSACTION_TIMESTAMP.

" - } - }, - "sortOrder": { - "target": "com.amazonaws.managedblockchainquery#SortOrder", - "traits": { - "smithy.api#documentation": "

The container for the sort order for ListTransactions. \n The SortOrder field only accepts the values ASCENDING \n and DESCENDING. Not providing SortOrder will default \n to ASCENDING.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The container for determining how the list transaction result will \n be sorted.

" - } + { + "target": "com.amazonaws.managedblockchainquery#GetTransaction" }, - "com.amazonaws.managedblockchainquery#ListTransactionsSortBy": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "TRANSACTION_TIMESTAMP", - "name": "TRANSACTION_TIMESTAMP", - "documentation": "Timestamp of a transaction" - } - ] - } + { + "target": "com.amazonaws.managedblockchainquery#ListAssetContracts" }, - "com.amazonaws.managedblockchainquery#NextToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 131070 - } - } + { + "target": "com.amazonaws.managedblockchainquery#ListTokenBalances" }, - "com.amazonaws.managedblockchainquery#OwnerFilter": { - "type": "structure", - "members": { - "address": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

The contract or wallet address.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

The container for the owner information to filter by.

" - } + { + "target": "com.amazonaws.managedblockchainquery#ListTransactionEvents" }, - "com.amazonaws.managedblockchainquery#OwnerIdentifier": { - "type": "structure", - "members": { - "address": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

The contract or wallet address for the owner.

", - "smithy.api#required": {} - } - } + { + "target": "com.amazonaws.managedblockchainquery#ListTransactions" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "ManagedBlockchain Query", + "arnNamespace": "managedblockchain-query" + }, + "aws.auth#sigv4": { + "name": "managedblockchain-query" + }, + "aws.protocols#restJson1": {}, + "smithy.api#cors": { + "additionalAllowedHeaders": [ + "*", + "Authorization", + "Date", + "X-Amz-Date", + "X-Amz-Security-Token", + "X-Amz-Target", + "content-type", + "x-amz-content-sha256", + "x-amz-user-agent", + "x-amzn-platform-id", + "x-amzn-trace-id" + ], + "additionalExposedHeaders": [ + "x-amzn-errortype", + "x-amzn-requestid", + "x-amzn-errormessage", + "x-amzn-trace-id", + "x-amz-apigw-id", + "date" + ], + "maxAge": 86400 + }, + "smithy.api#documentation": "

Amazon Managed Blockchain (AMB) Query provides you with convenient access to multi-blockchain network data, which makes \n it easier for you to extract contextual data related to blockchain activity. You can use AMB Query to \n read data from public blockchain networks, such as Bitcoin Mainnet and Ethereum Mainnet. You can \n also get information such as the current and historical balances of addresses, or you can get a \n list of blockchain transactions for a given time period. Additionally, you can get details of a \n given transaction, such as transaction events, which you can further analyze or use in business \n logic for your applications.

", + "smithy.api#title": "Amazon Managed Blockchain Query", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" }, - "traits": { - "smithy.api#documentation": "

The container for the identifier of the owner.

" - } - }, - "com.amazonaws.managedblockchainquery#QueryNetwork": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ETHEREUM_MAINNET", - "name": "ETHEREUM_MAINNET", - "documentation": "Ethereum main network" - }, - { - "value": "ETHEREUM_SEPOLIA_TESTNET", - "name": "ETHEREUM_SEPOLIA_TESTNET", - "documentation": "SEPOLIA network (ethereum testnet)" - }, - { - "value": "BITCOIN_MAINNET", - "name": "BITCOIN_MAINNET", - "documentation": "Bitcoin main network" - }, - { - "value": "BITCOIN_TESTNET", - "name": "BITCOIN_TESTNET", - "documentation": "Bitcoin test network" - } - ] - } - }, - "com.amazonaws.managedblockchainquery#QueryTokenId": { - "type": "string", - "traits": { - "smithy.api#pattern": "^[a-zA-Z0-9]{1,66}$" - } - }, - "com.amazonaws.managedblockchainquery#QueryTokenStandard": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ERC20", - "name": "ERC20" - }, - { - "value": "ERC721", - "name": "ERC721" - }, - { - "value": "ERC1155", - "name": "ERC1155" - } - ] - } - }, - "com.amazonaws.managedblockchainquery#QueryTransactionEventType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ERC20_TRANSFER", - "name": "ERC20_TRANSFER", - "documentation": "An ERC20 transfer type" - }, - { - "value": "ERC20_MINT", - "name": "ERC20_MINT", - "documentation": "An ERC20_MINT transfer type" - }, - { - "value": "ERC20_BURN", - "name": "ERC20_BURN", - "documentation": "An ERC20_BURN transfer type" - }, - { - "value": "ERC20_DEPOSIT", - "name": "ERC20_DEPOSIT", - "documentation": "An ERC20_DEPOSIT transfer type" - }, - { - "value": "ERC20_WITHDRAWAL", - "name": "ERC20_WITHDRAWAL", - "documentation": "An ERC20_WITHDRAWAL transfer type" - }, - { - "value": "ERC721_TRANSFER", - "name": "ERC721_TRANSFER", - "documentation": "An ERC721 transfer type" - }, - { - "value": "ERC1155_TRANSFER", - "name": "ERC1155_TRANSFER", - "documentation": "An ERC1155 transfer type" - }, - { - "value": "BITCOIN_VIN", - "name": "BITCOIN_VIN", - "documentation": "A Bitcoin Vin transfer type" - }, - { - "value": "BITCOIN_VOUT", - "name": "BITCOIN_VOUT", - "documentation": "A Bitcoin Vout transfer type" - }, - { - "value": "INTERNAL_ETH_TRANSFER", - "name": "INTERNAL_ETH_TRANSFER", - "documentation": "An internal ETH transfer type" - }, - { - "value": "ETH_TRANSFER", - "name": "ETH_TRANSFER", - "documentation": "An ETH transfer type" - } - ] - } - }, - "com.amazonaws.managedblockchainquery#QueryTransactionHash": { - "type": "string", - "traits": { - "smithy.api#pattern": "^(0x[A-Fa-f0-9]{64}|[A-Fa-f0-9]{64})$" - } - }, - "com.amazonaws.managedblockchainquery#QueryTransactionStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "FINAL", - "name": "FINAL", - "documentation": "The transaction has been confirmed and is final in the blockchain" - }, - { - "value": "FAILED", - "name": "FAILED", - "documentation": "The transaction completed on the blockchain, but failed" - } - ] - } - }, - "com.amazonaws.managedblockchainquery#QuotaCode": { - "type": "string" - }, - "com.amazonaws.managedblockchainquery#ResourceId": { - "type": "string" - }, - "com.amazonaws.managedblockchainquery#ResourceNotFoundException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.managedblockchainquery#ExceptionMessage", - "traits": { - "smithy.api#documentation": "

The container for the exception message.

", - "smithy.api#required": {} - } - }, - "resourceId": { - "target": "com.amazonaws.managedblockchainquery#ResourceId", - "traits": { - "smithy.api#documentation": "

The resourceId of the resource that caused the exception.

", - "smithy.api#required": {} - } - }, - "resourceType": { - "target": "com.amazonaws.managedblockchainquery#ResourceType", - "traits": { - "smithy.api#documentation": "

The resourceType of the resource that caused the exception.

", - "smithy.api#required": {} - } - } + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" }, - "traits": { - "smithy.api#documentation": "

The resource was not found.

", - "smithy.api#error": "client", - "smithy.api#httpError": 404 - } - }, - "com.amazonaws.managedblockchainquery#ResourceType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "collection", - "name": "COLLECTION" - } - ] - } - }, - "com.amazonaws.managedblockchainquery#ServiceCode": { - "type": "string" - }, - "com.amazonaws.managedblockchainquery#ServiceQuotaExceededException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.managedblockchainquery#ExceptionMessage", - "traits": { - "smithy.api#documentation": "

The container for the exception message.

", - "smithy.api#required": {} - } - }, - "resourceId": { - "target": "com.amazonaws.managedblockchainquery#ResourceId", - "traits": { - "smithy.api#documentation": "

The resourceId of the resource that caused the exception.

", - "smithy.api#required": {} - } - }, - "resourceType": { - "target": "com.amazonaws.managedblockchainquery#ResourceType", - "traits": { - "smithy.api#documentation": "

The resourceType of the resource that caused the exception.

", - "smithy.api#required": {} - } - }, - "serviceCode": { - "target": "com.amazonaws.managedblockchainquery#ServiceCode", - "traits": { - "smithy.api#documentation": "

The container for the serviceCode.

", - "smithy.api#required": {} - } - }, - "quotaCode": { - "target": "com.amazonaws.managedblockchainquery#QuotaCode", - "traits": { - "smithy.api#documentation": "

The container for the quotaCode.

", - "smithy.api#required": {} - } - } + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" }, - "traits": { - "smithy.api#documentation": "

The service quota has been exceeded for this resource.

", - "smithy.api#error": "client", - "smithy.api#httpError": 402 - } - }, - "com.amazonaws.managedblockchainquery#SortOrder": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ASCENDING", - "name": "ASCENDING", - "documentation": "Result sorted in ascending order" - }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "value": "DESCENDING", - "name": "DESCENDING", - "documentation": "Result sorted in descending order" - } - ] - } - }, - "com.amazonaws.managedblockchainquery#ThrottlingException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.managedblockchainquery#ExceptionMessage", - "traits": { - "smithy.api#documentation": "

The container for the exception message.

", - "smithy.api#required": {} - } - }, - "serviceCode": { - "target": "com.amazonaws.managedblockchainquery#ServiceCode", - "traits": { - "smithy.api#documentation": "

The container for the serviceCode.

", - "smithy.api#required": {} - } - }, - "quotaCode": { - "target": "com.amazonaws.managedblockchainquery#QuotaCode", - "traits": { - "smithy.api#documentation": "

The container for the quotaCode.

", - "smithy.api#required": {} - } - }, - "retryAfterSeconds": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The container of the retryAfterSeconds value.

", - "smithy.api#httpHeader": "Retry-After" + "ref": "Endpoint" } + ] } - }, - "traits": { - "smithy.api#documentation": "

The request or operation couldn't be performed because a service is throttling \n requests. The most common source of throttling errors is when you create resources \n that exceed your service limit for this resource type. Request a limit increase or \n delete unused resources, if possible.

", - "smithy.api#error": "client", - "smithy.api#httpError": 429, - "smithy.api#retryable": { - "throttling": true - } - } - }, - "com.amazonaws.managedblockchainquery#TietonChainQueryService": { - "type": "service", - "version": "2023-05-04", - "operations": [ - { - "target": "com.amazonaws.managedblockchainquery#BatchGetTokenBalance" - }, - { - "target": "com.amazonaws.managedblockchainquery#GetAssetContract" - }, - { - "target": "com.amazonaws.managedblockchainquery#GetTokenBalance" - }, - { - "target": "com.amazonaws.managedblockchainquery#GetTransaction" - }, - { - "target": "com.amazonaws.managedblockchainquery#ListAssetContracts" - }, - { - "target": "com.amazonaws.managedblockchainquery#ListTokenBalances" - }, - { - "target": "com.amazonaws.managedblockchainquery#ListTransactionEvents" - }, - { - "target": "com.amazonaws.managedblockchainquery#ListTransactions" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "ManagedBlockchain Query", - "arnNamespace": "managedblockchain-query" - }, - "aws.auth#sigv4": { - "name": "managedblockchain-query" - }, - "aws.protocols#restJson1": {}, - "smithy.api#cors": { - "additionalAllowedHeaders": [ - "*", - "Authorization", - "Date", - "X-Amz-Date", - "X-Amz-Security-Token", - "X-Amz-Target", - "content-type", - "x-amz-content-sha256", - "x-amz-user-agent", - "x-amzn-platform-id", - "x-amzn-trace-id" - ], - "additionalExposedHeaders": [ - "x-amzn-errortype", - "x-amzn-requestid", - "x-amzn-errormessage", - "x-amzn-trace-id", - "x-amz-apigw-id", - "date" - ], - "maxAge": 86400 - }, - "smithy.api#documentation": "

Amazon Managed Blockchain (AMB) Query provides you with convenient access to multi-blockchain network data, which makes \n it easier for you to extract contextual data related to blockchain activity. You can use AMB Query to \n read data from public blockchain networks, such as Bitcoin Mainnet and Ethereum Mainnet. You can \n also get information such as the current and historical balances of addresses, or you can get a \n list of blockchain transactions for a given time period. Additionally, you can get details of a \n given transaction, such as transaction events, which you can further analyze or use in business \n logic for your applications.

", - "smithy.api#title": "Amazon Managed Blockchain Query", - "smithy.rules#endpointRuleSet": { - "version": "1.0", - "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, - "UseDualStack": { - "builtIn": "AWS::UseDualStack", - "required": true, - "default": false, - "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" - }, - "UseFIPS": { - "builtIn": "AWS::UseFIPS", - "required": true, - "default": false, - "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" - }, - "Endpoint": { - "builtIn": "SDK::Endpoint", - "required": false, - "documentation": "Override the endpoint used to send this request", - "type": "String" - } - }, - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "PartitionResult" - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://managedblockchain-query-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - }, - true - ] - } - ], - "rules": [ - { - "conditions": [], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://managedblockchain-query-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://managedblockchain-query.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://managedblockchain-query.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" - } - ], - "type": "tree" - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": true - } + "ref": "UseFIPS" }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query.cn-north-1.amazonaws.com.cn" - } + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": false - } + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" } - }, + ], + "assign": "PartitionResult" + } + ], + "rules": [ { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query.us-gov-east-1.api.aws" - } + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": true + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query.us-gov-east-1.amazonaws.com" + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query-fips.us-iso-east-1.c2s.ic.gov" + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://managedblockchain-query-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" } + ], + "type": "tree" }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": true, - "UseDualStack": false + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } + ], + "type": "tree" }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": false, - "UseDualStack": true + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query.us-iso-east-1.c2s.ic.gov" + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query-fips.us-isob-east-1.sc2s.sgov.gov" + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://managedblockchain-query-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" } + ], + "type": "tree" }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": true + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } + ], + "type": "tree" }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://managedblockchain-query.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": false + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } - }, - { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://managedblockchain-query.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" } + ], + "type": "tree" }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", - "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", - "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } + ], + "type": "tree" }, { - "documentation": "Missing region", - "expect": { - "error": "Invalid Configuration: Missing Region" + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://managedblockchain-query.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } + ], + "type": "tree" } - ], - "version": "1.0" - } - } - }, - "com.amazonaws.managedblockchainquery#TokenBalance": { - "type": "structure", - "members": { - "ownerIdentifier": { - "target": "com.amazonaws.managedblockchainquery#OwnerIdentifier", - "traits": { - "smithy.api#documentation": "

The container for the identifier of the owner.

" - } - }, - "tokenIdentifier": { - "target": "com.amazonaws.managedblockchainquery#TokenIdentifier", - "traits": { - "smithy.api#documentation": "

The identifier for the token, including the unique token ID and its blockchain network.

" - } - }, - "balance": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The container of the token balance.

", - "smithy.api#required": {} - } - }, - "atBlockchainInstant": { - "target": "com.amazonaws.managedblockchainquery#BlockchainInstant", - "traits": { - "smithy.api#documentation": "

The time for when the TokenBalance is requested or \n the current time if a time is not provided in the request.

\n \n

This time will only be recorded up to the second.

\n
", - "smithy.api#required": {} + ], + "type": "tree" } + ], + "type": "tree" }, - "lastUpdatedTime": { - "target": "com.amazonaws.managedblockchainquery#BlockchainInstant", - "traits": { - "smithy.api#documentation": "

The Timestamp of the last transaction at which the balance for the token in the wallet was updated.

" - } + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query-fips.us-east-1.api.aws" } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } }, - "traits": { - "smithy.api#documentation": "

The balance of the token.

" - } - }, - "com.amazonaws.managedblockchainquery#TokenBalanceList": { - "type": "list", - "member": { - "target": "com.amazonaws.managedblockchainquery#TokenBalance" + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 250 + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query.us-east-1.api.aws" } - } - }, - "com.amazonaws.managedblockchainquery#TokenFilter": { - "type": "structure", - "members": { - "network": { - "target": "com.amazonaws.managedblockchainquery#QueryNetwork", - "traits": { - "smithy.api#documentation": "

The blockchain network of the token.

", - "smithy.api#required": {} - } - }, - "contractAddress": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

This is the address of the contract.

" - } - }, - "tokenId": { - "target": "com.amazonaws.managedblockchainquery#QueryTokenId", - "traits": { - "smithy.api#documentation": "

The unique identifier of the token.

" - } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query.us-east-1.amazonaws.com" } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } }, - "traits": { - "smithy.api#documentation": "

The container of the token filter like the contract address \n on a given blockchain network or a unique token identifier on a given \n blockchain network.

\n \n

You must always specify the network property of this \n container when using this operation.

\n
" - } - }, - "com.amazonaws.managedblockchainquery#TokenIdentifier": { - "type": "structure", - "members": { - "network": { - "target": "com.amazonaws.managedblockchainquery#QueryNetwork", - "traits": { - "smithy.api#documentation": "

The blockchain network of the token.

", - "smithy.api#required": {} - } - }, - "contractAddress": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

This is the token's contract address.

" - } - }, - "tokenId": { - "target": "com.amazonaws.managedblockchainquery#QueryTokenId", - "traits": { - "smithy.api#documentation": "

The unique identifier of the token.

\n \n

You must specify this container with btc for the native BTC token, and \n eth for the native ETH token. For all other token types you must \n specify the tokenId in the 64 character hexadecimal tokenid format.

\n
" - } + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query-fips.cn-north-1.api.amazonwebservices.com.cn" } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } }, - "traits": { - "smithy.api#documentation": "

The container for the identifier for the token including the unique token ID and its blockchain network.

\n \n

Only the native tokens BTC,ETH, and the ERC-20, \n ERC-721, and ERC 1155 token standards are supported.

\n
" - } - }, - "com.amazonaws.managedblockchainquery#Transaction": { - "type": "structure", - "members": { - "network": { - "target": "com.amazonaws.managedblockchainquery#QueryNetwork", - "traits": { - "smithy.api#documentation": "

The blockchain network where the transaction occurred.

", - "smithy.api#required": {} - } - }, - "blockHash": { - "target": "com.amazonaws.managedblockchainquery#BlockHash", - "traits": { - "smithy.api#documentation": "

The block hash is a unique identifier for a block. It is a fixed-size \n string that is calculated by using the information in the block. The block \n hash is used to verify the integrity of the data in the block.

" - } - }, - "transactionHash": { - "target": "com.amazonaws.managedblockchainquery#QueryTransactionHash", - "traits": { - "smithy.api#documentation": "

The hash of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

", - "smithy.api#required": {} - } - }, - "blockNumber": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The block number in which the transaction is recorded.

" - } - }, - "transactionTimestamp": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The Timestamp of the transaction.

", - "smithy.api#required": {} - } - }, - "transactionIndex": { - "target": "smithy.api#Long", - "traits": { - "smithy.api#documentation": "

The index of the transaction within a blockchain.

", - "smithy.api#required": {} - } - }, - "numberOfTransactions": { - "target": "smithy.api#Long", - "traits": { - "smithy.api#documentation": "

The number of transactions in the block.

", - "smithy.api#required": {} - } - }, - "status": { - "target": "com.amazonaws.managedblockchainquery#QueryTransactionStatus", - "traits": { - "smithy.api#deprecated": { - "message": "The status field in the GetTransaction response is deprecated and is replaced with the confirmationStatus and executionStatus fields." - }, - "smithy.api#documentation": "

The status of the transaction.

\n \n

This property is deprecated. You must use the confirmationStatus \n and the executionStatus properties to determine if the status \n of the transaction is FINAL or FAILED.

\n
    \n
  • \n

    Transactions with a status of FINAL will now have the confirmationStatus set \n to FINAL and the executionStatus set to SUCCEEDED.

    \n
  • \n
  • \n

    Transactions with a status of FAILED will now have the confirmationStatus set \n to FINAL and the executionStatus set to FAILED.

    \n
  • \n
\n
" - } - }, - "to": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

The identifier of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

", - "smithy.api#required": {} - } - }, - "from": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

The initiator of the transaction. It is either in the form a public key or a \n contract address.

" - } - }, - "contractAddress": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

The blockchain address for the contract.

" - } - }, - "gasUsed": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The amount of gas used for the transaction.

" - } - }, - "cumulativeGasUsed": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The amount of gas used up to the specified point in the block.

" - } - }, - "effectiveGasPrice": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The effective gas price.

" - } - }, - "signatureV": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The signature of the transaction. The Z coordinate of a point V.

" - } - }, - "signatureR": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The signature of the transaction. The X coordinate of a point R.

" - } - }, - "signatureS": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The signature of the transaction. The Y coordinate of a point S.

" - } - }, - "transactionFee": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The transaction fee.

" - } - }, - "transactionId": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The unique identifier of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

" - } - }, - "confirmationStatus": { - "target": "com.amazonaws.managedblockchainquery#ConfirmationStatus", - "traits": { - "smithy.api#documentation": "

Specifies whether the transaction has reached Finality.

" - } - }, - "executionStatus": { - "target": "com.amazonaws.managedblockchainquery#ExecutionStatus", - "traits": { - "smithy.api#documentation": "

Identifies whether the transaction has succeeded or failed.

" - } + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query-fips.cn-north-1.amazonaws.com.cn" } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } }, - "traits": { - "smithy.api#documentation": "

There are two possible types of transactions used for this data type:

\n " - } - }, - "com.amazonaws.managedblockchainquery#TransactionEvent": { - "type": "structure", - "members": { - "network": { - "target": "com.amazonaws.managedblockchainquery#QueryNetwork", - "traits": { - "smithy.api#documentation": "

The blockchain network where the transaction occurred.

", - "smithy.api#required": {} - } - }, - "transactionHash": { - "target": "com.amazonaws.managedblockchainquery#QueryTransactionHash", - "traits": { - "smithy.api#documentation": "

The hash of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

", - "smithy.api#required": {} - } - }, - "eventType": { - "target": "com.amazonaws.managedblockchainquery#QueryTransactionEventType", - "traits": { - "smithy.api#documentation": "

The type of transaction event.

", - "smithy.api#required": {} - } - }, - "from": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

The wallet address initiating the transaction. It can either be a public key or a contract.

" - } - }, - "to": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

The wallet address receiving the transaction. It can either be a public key or a contract.

" - } - }, - "value": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The value that was transacted.

" - } - }, - "contractAddress": { - "target": "com.amazonaws.managedblockchainquery#ChainAddress", - "traits": { - "smithy.api#documentation": "

The blockchain address. for the contract

" - } - }, - "tokenId": { - "target": "com.amazonaws.managedblockchainquery#QueryTokenId", - "traits": { - "smithy.api#documentation": "

The unique identifier for the token involved in the transaction.

" - } - }, - "transactionId": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The unique identifier of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

" - } - }, - "voutIndex": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The position of the vout in the transaction output list.

" - } + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query.cn-north-1.api.amazonwebservices.com.cn" } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } }, - "traits": { - "smithy.api#documentation": "

The container for the properties of a transaction event.

" - } - }, - "com.amazonaws.managedblockchainquery#TransactionEventList": { - "type": "list", - "member": { - "target": "com.amazonaws.managedblockchainquery#TransactionEvent" + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 250 + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query-fips.us-gov-east-1.api.aws" } - } - }, - "com.amazonaws.managedblockchainquery#TransactionOutputItem": { - "type": "structure", - "members": { - "transactionHash": { - "target": "com.amazonaws.managedblockchainquery#QueryTransactionHash", - "traits": { - "smithy.api#documentation": "

The hash of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

", - "smithy.api#required": {} - } - }, - "network": { - "target": "com.amazonaws.managedblockchainquery#QueryNetwork", - "traits": { - "smithy.api#documentation": "

The blockchain network where the transaction occurred.

", - "smithy.api#required": {} - } - }, - "transactionTimestamp": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The time when the transaction occurred.

", - "smithy.api#required": {} - } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query-fips.us-gov-east-1.amazonaws.com" } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } }, - "traits": { - "smithy.api#documentation": "

The container of the transaction output.

" - } - }, - "com.amazonaws.managedblockchainquery#TransactionOutputList": { - "type": "list", - "member": { - "target": "com.amazonaws.managedblockchainquery#TransactionOutputItem" + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 250 + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query.us-gov-east-1.amazonaws.com" } - } - }, - "com.amazonaws.managedblockchainquery#ValidationException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.managedblockchainquery#ExceptionMessage", - "traits": { - "smithy.api#documentation": "

The container for the exception message.

", - "smithy.api#required": {} - } - }, - "reason": { - "target": "com.amazonaws.managedblockchainquery#ValidationExceptionReason", - "traits": { - "smithy.api#documentation": "

The container for the reason for the exception

", - "smithy.api#required": {} - } - }, - "fieldList": { - "target": "com.amazonaws.managedblockchainquery#ValidationExceptionFieldList", - "traits": { - "smithy.api#documentation": "

The container for the fieldList of the exception.

" - } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query-fips.us-iso-east-1.c2s.ic.gov" } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } }, - "traits": { - "smithy.api#documentation": "

The resource passed is invalid.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.managedblockchainquery#ValidationExceptionField": { - "type": "structure", - "members": { - "name": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The name of the field that triggered the ValidationException.

", - "smithy.api#required": {} - } - }, - "message": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The ValidationException message.

", - "smithy.api#required": {} - } + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query.us-iso-east-1.c2s.ic.gov" } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } }, - "traits": { - "smithy.api#documentation": "

The resource passed is invalid.

" - } - }, - "com.amazonaws.managedblockchainquery#ValidationExceptionFieldList": { - "type": "list", - "member": { - "target": "com.amazonaws.managedblockchainquery#ValidationExceptionField" - } - }, - "com.amazonaws.managedblockchainquery#ValidationExceptionReason": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "unknownOperation", - "name": "UNKNOWN_OPERATION" - }, - { - "value": "cannotParse", - "name": "CANNOT_PARSE" - }, - { - "value": "fieldValidationFailed", - "name": "FIELD_VALIDATION_FAILED" - }, - { - "value": "other", - "name": "OTHER" - } - ] - } + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://managedblockchain-query.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.managedblockchainquery#TokenBalance": { + "type": "structure", + "members": { + "ownerIdentifier": { + "target": "com.amazonaws.managedblockchainquery#OwnerIdentifier", + "traits": { + "smithy.api#documentation": "

The container for the identifier of the owner.

" + } + }, + "tokenIdentifier": { + "target": "com.amazonaws.managedblockchainquery#TokenIdentifier", + "traits": { + "smithy.api#documentation": "

The identifier for the token, including the unique token ID and its blockchain network.

" + } + }, + "balance": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The container of the token balance.

", + "smithy.api#required": {} + } + }, + "atBlockchainInstant": { + "target": "com.amazonaws.managedblockchainquery#BlockchainInstant", + "traits": { + "smithy.api#documentation": "

The time for when the TokenBalance is requested or \n the current time if a time is not provided in the request.

\n \n

This time will only be recorded up to the second.

\n
", + "smithy.api#required": {} + } + }, + "lastUpdatedTime": { + "target": "com.amazonaws.managedblockchainquery#BlockchainInstant", + "traits": { + "smithy.api#documentation": "

The Timestamp of the last transaction at which the balance for the token in the wallet was updated.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The balance of the token.

" + } + }, + "com.amazonaws.managedblockchainquery#TokenBalanceList": { + "type": "list", + "member": { + "target": "com.amazonaws.managedblockchainquery#TokenBalance" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 250 + } + } + }, + "com.amazonaws.managedblockchainquery#TokenFilter": { + "type": "structure", + "members": { + "network": { + "target": "com.amazonaws.managedblockchainquery#QueryNetwork", + "traits": { + "smithy.api#documentation": "

The blockchain network of the token.

", + "smithy.api#required": {} + } + }, + "contractAddress": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

This is the address of the contract.

" + } + }, + "tokenId": { + "target": "com.amazonaws.managedblockchainquery#QueryTokenId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the token.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The container of the token filter like the contract address \n on a given blockchain network or a unique token identifier on a given \n blockchain network.

\n \n

You must always specify the network property of this \n container when using this operation.

\n
" + } + }, + "com.amazonaws.managedblockchainquery#TokenIdentifier": { + "type": "structure", + "members": { + "network": { + "target": "com.amazonaws.managedblockchainquery#QueryNetwork", + "traits": { + "smithy.api#documentation": "

The blockchain network of the token.

", + "smithy.api#required": {} + } + }, + "contractAddress": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

This is the token's contract address.

" + } + }, + "tokenId": { + "target": "com.amazonaws.managedblockchainquery#QueryTokenId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the token.

\n \n

For native tokens, use the 3 character abbreviation that best matches your token. \n For example, btc for Bitcoin, eth for Ether, etc. For all other token types you must \n specify the tokenId in the 64 character hexadecimal tokenid format.

\n
" + } + } + }, + "traits": { + "smithy.api#documentation": "

The container for the identifier for the token including the unique token ID and its blockchain network.

\n \n

Only the native tokens BTC and ETH, and the ERC-20, \n ERC-721, and ERC 1155 token standards are supported.

\n
" + } + }, + "com.amazonaws.managedblockchainquery#Transaction": { + "type": "structure", + "members": { + "network": { + "target": "com.amazonaws.managedblockchainquery#QueryNetwork", + "traits": { + "smithy.api#documentation": "

The blockchain network where the transaction occurred.

", + "smithy.api#required": {} + } + }, + "blockHash": { + "target": "com.amazonaws.managedblockchainquery#BlockHash", + "traits": { + "smithy.api#documentation": "

The block hash is a unique identifier for a block. It is a fixed-size \n string that is calculated by using the information in the block. The block \n hash is used to verify the integrity of the data in the block.

" + } + }, + "transactionHash": { + "target": "com.amazonaws.managedblockchainquery#QueryTransactionHash", + "traits": { + "smithy.api#documentation": "

The hash of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

", + "smithy.api#required": {} + } + }, + "blockNumber": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The block number in which the transaction is recorded.

" + } + }, + "transactionTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The Timestamp of the transaction.

", + "smithy.api#required": {} + } + }, + "transactionIndex": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

The index of the transaction within a blockchain.

", + "smithy.api#required": {} + } + }, + "numberOfTransactions": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

The number of transactions in the block.

", + "smithy.api#required": {} + } + }, + "to": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

The identifier of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

", + "smithy.api#required": {} + } + }, + "from": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

The initiator of the transaction. It is either in the form a public key or a \n contract address.

" + } + }, + "contractAddress": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

The blockchain address for the contract.

" + } + }, + "gasUsed": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The amount of gas used for the transaction.

" + } + }, + "cumulativeGasUsed": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The amount of gas used up to the specified point in the block.

" + } + }, + "effectiveGasPrice": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The effective gas price.

" + } + }, + "signatureV": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The signature of the transaction. The Z coordinate of a point V.

" + } + }, + "signatureR": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The signature of the transaction. The X coordinate of a point R.

" + } + }, + "signatureS": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The signature of the transaction. The Y coordinate of a point S.

" + } + }, + "transactionFee": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The transaction fee.

" + } + }, + "transactionId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique identifier of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

" + } + }, + "confirmationStatus": { + "target": "com.amazonaws.managedblockchainquery#ConfirmationStatus", + "traits": { + "smithy.api#documentation": "

Specifies whether the transaction has reached Finality.

" + } + }, + "executionStatus": { + "target": "com.amazonaws.managedblockchainquery#ExecutionStatus", + "traits": { + "smithy.api#documentation": "

Identifies whether the transaction has succeeded or failed.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

There are two possible types of transactions used for this data type:

\n " + } + }, + "com.amazonaws.managedblockchainquery#TransactionEvent": { + "type": "structure", + "members": { + "network": { + "target": "com.amazonaws.managedblockchainquery#QueryNetwork", + "traits": { + "smithy.api#documentation": "

The blockchain network where the transaction occurred.

", + "smithy.api#required": {} + } + }, + "transactionHash": { + "target": "com.amazonaws.managedblockchainquery#QueryTransactionHash", + "traits": { + "smithy.api#documentation": "

The hash of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

", + "smithy.api#required": {} + } + }, + "eventType": { + "target": "com.amazonaws.managedblockchainquery#QueryTransactionEventType", + "traits": { + "smithy.api#documentation": "

The type of transaction event.

", + "smithy.api#required": {} + } + }, + "from": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

The wallet address initiating the transaction. It can either be a public key or a contract.

" + } + }, + "to": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

The wallet address receiving the transaction. It can either be a public key or a contract.

" + } + }, + "value": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The value that was transacted.

" + } + }, + "contractAddress": { + "target": "com.amazonaws.managedblockchainquery#ChainAddress", + "traits": { + "smithy.api#documentation": "

The blockchain address. for the contract

" + } + }, + "tokenId": { + "target": "com.amazonaws.managedblockchainquery#QueryTokenId", + "traits": { + "smithy.api#documentation": "

The unique identifier for the token involved in the transaction.

" + } + }, + "transactionId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique identifier of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

" + } + }, + "voutIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The position of the vout in the transaction output list.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The container for the properties of a transaction event.

" + } + }, + "com.amazonaws.managedblockchainquery#TransactionEventList": { + "type": "list", + "member": { + "target": "com.amazonaws.managedblockchainquery#TransactionEvent" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 250 + } + } + }, + "com.amazonaws.managedblockchainquery#TransactionOutputItem": { + "type": "structure", + "members": { + "transactionHash": { + "target": "com.amazonaws.managedblockchainquery#QueryTransactionHash", + "traits": { + "smithy.api#documentation": "

The hash of the transaction. It is generated whenever a transaction is verified and added to the blockchain.

", + "smithy.api#required": {} + } + }, + "network": { + "target": "com.amazonaws.managedblockchainquery#QueryNetwork", + "traits": { + "smithy.api#documentation": "

The blockchain network where the transaction occurred.

", + "smithy.api#required": {} + } + }, + "transactionTimestamp": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The time when the transaction occurred.

", + "smithy.api#required": {} + } + }, + "confirmationStatus": { + "target": "com.amazonaws.managedblockchainquery#ConfirmationStatus", + "traits": { + "smithy.api#documentation": "

Specifies whether to list transactions that have not reached Finality.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The container of the transaction output.

" + } + }, + "com.amazonaws.managedblockchainquery#TransactionOutputList": { + "type": "list", + "member": { + "target": "com.amazonaws.managedblockchainquery#TransactionOutputItem" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 250 + } + } + }, + "com.amazonaws.managedblockchainquery#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.managedblockchainquery#ExceptionMessage", + "traits": { + "smithy.api#documentation": "

The container for the exception message.

", + "smithy.api#required": {} + } + }, + "reason": { + "target": "com.amazonaws.managedblockchainquery#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "

The container for the reason for the exception

", + "smithy.api#required": {} + } + }, + "fieldList": { + "target": "com.amazonaws.managedblockchainquery#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "

The container for the fieldList of the exception.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The resource passed is invalid.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.managedblockchainquery#ValidationExceptionField": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the field that triggered the ValidationException.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The ValidationException message.

", + "smithy.api#required": {} + } } + }, + "traits": { + "smithy.api#documentation": "

The resource passed is invalid.

" + } + }, + "com.amazonaws.managedblockchainquery#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.managedblockchainquery#ValidationExceptionField" + } + }, + "com.amazonaws.managedblockchainquery#ValidationExceptionReason": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "unknownOperation", + "name": "UNKNOWN_OPERATION" + }, + { + "value": "cannotParse", + "name": "CANNOT_PARSE" + }, + { + "value": "fieldValidationFailed", + "name": "FIELD_VALIDATION_FAILED" + }, + { + "value": "other", + "name": "OTHER" + } + ] + } } -} \ No newline at end of file + } +}