/* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ import type { AddMultiTokenMinter } from '../models/AddMultiTokenMinter'; import type { AddMultiTokenMinterKMS } from '../models/AddMultiTokenMinterKMS'; import type { BurnMultiToken } from '../models/BurnMultiToken'; import type { BurnMultiTokenBatch } from '../models/BurnMultiTokenBatch'; import type { BurnMultiTokenBatchCelo } from '../models/BurnMultiTokenBatchCelo'; import type { BurnMultiTokenBatchKMS } from '../models/BurnMultiTokenBatchKMS'; import type { BurnMultiTokenBatchKMSCelo } from '../models/BurnMultiTokenBatchKMSCelo'; import type { BurnMultiTokenCelo } from '../models/BurnMultiTokenCelo'; import type { BurnMultiTokenKMS } from '../models/BurnMultiTokenKMS'; import type { BurnMultiTokenKMSCelo } from '../models/BurnMultiTokenKMSCelo'; import type { CeloTx } from '../models/CeloTx'; import type { DeployMultiToken } from '../models/DeployMultiToken'; import type { DeployMultiTokenCelo } from '../models/DeployMultiTokenCelo'; import type { DeployMultiTokenCeloKMS } from '../models/DeployMultiTokenCeloKMS'; import type { DeployMultiTokenKMS } from '../models/DeployMultiTokenKMS'; import type { EthTx } from '../models/EthTx'; import type { MintMultiToken } from '../models/MintMultiToken'; import type { MintMultiTokenBatch } from '../models/MintMultiTokenBatch'; import type { MintMultiTokenBatchCelo } from '../models/MintMultiTokenBatchCelo'; import type { MintMultiTokenBatchKMS } from '../models/MintMultiTokenBatchKMS'; import type { MintMultiTokenBatchKMSCelo } from '../models/MintMultiTokenBatchKMSCelo'; import type { MintMultiTokenCelo } from '../models/MintMultiTokenCelo'; import type { MintMultiTokenKMS } from '../models/MintMultiTokenKMS'; import type { MintMultiTokenKMSCelo } from '../models/MintMultiTokenKMSCelo'; import type { MultiTx } from '../models/MultiTx'; import type { SignatureId } from '../models/SignatureId'; import type { TransactionHash } from '../models/TransactionHash'; import type { TransferMultiToken } from '../models/TransferMultiToken'; import type { TransferMultiTokenBatch } from '../models/TransferMultiTokenBatch'; import type { TransferMultiTokenBatchCelo } from '../models/TransferMultiTokenBatchCelo'; import type { TransferMultiTokenBatchKMS } from '../models/TransferMultiTokenBatchKMS'; import type { TransferMultiTokenBatchKMSCelo } from '../models/TransferMultiTokenBatchKMSCelo'; import type { TransferMultiTokenCelo } from '../models/TransferMultiTokenCelo'; import type { TransferMultiTokenKMS } from '../models/TransferMultiTokenKMS'; import type { TransferMultiTokenKMSCelo } from '../models/TransferMultiTokenKMSCelo'; import type { CancelablePromise } from '../core/CancelablePromise'; import { request as __request } from '../core/request'; export class MultiTokensErc1155OrCompatibleService { /** * Deploy a Multi Token smart contract *
2 credits per API call
*Deploy Multi Token Smart Contract. This method creates new ERC1155 Smart Contract (Multi Tokens) on the blockchain. Smart contract is standardized and audited. * It is possible to mint, burn and transfer tokens. It is also possible to mint multiple tokens at once.
*This API is supported for the following blockchains:
*Signing a transaction
*When deploying a Multi Token smart contract, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
*Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
*For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
* * @param requestBody * @param xTestnetType Type of testnet. Defaults to Sepolia. Valid only for ETH invocations. * @returns any OK * @throws ApiError */ public static deployMultiToken( requestBody: (DeployMultiToken | DeployMultiTokenKMS | DeployMultiTokenCelo | DeployMultiTokenCeloKMS), xTestnetType: 'ethereum-sepolia' = 'ethereum-sepolia', ): CancelablePromise<(TransactionHash | SignatureId)> { return __request({ method: 'POST', path: `/v3/multitoken/deploy`, headers: { 'x-testnet-type': xTestnetType, }, body: requestBody, mediaType: 'application/json', errors: { 400: `Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.`, 401: `Unauthorized. Not valid or inactive subscription key present in the HTTP Header.`, 403: `Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.`, 500: `Internal server error. There was an error on the server during the processing of the request.`, }, }); } /** * Mint a Multi Token *2 credits per API call
*Mint a fixed amount of Multi Token and transfer it to destination account. Create and transfer any Multi Token token from smart contract defined in contractAddress. It is possible to add Metadata to the created token with a more detailed information about instead.
*This API is supported for the following blockchains:
*Signing a transaction
*When minting a Multi Token, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
*Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
*For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
* * @param requestBody * @param xTestnetType Type of testnet. Defaults to Sepolia. Valid only for ETH invocations. * @returns any OK * @throws ApiError */ public static mintMultiToken( requestBody: (MintMultiToken | MintMultiTokenKMS | MintMultiTokenCelo | MintMultiTokenKMSCelo), xTestnetType: 'ethereum-sepolia' = 'ethereum-sepolia', ): CancelablePromise<(TransactionHash | SignatureId)> { return __request({ method: 'POST', path: `/v3/multitoken/mint`, headers: { 'x-testnet-type': xTestnetType, }, body: requestBody, mediaType: 'application/json', errors: { 400: `Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.`, 401: `Unauthorized. Not valid or inactive subscription key present in the HTTP Header.`, 403: `Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.`, 500: `Internal server error. There was an error on the server during the processing of the request.`, }, }); } /** * Mint multiple Multi Tokens *2 credits per API call
*Create a fixed amount of multiple Multi Tokens Tokens and transfer them to destination account in one transaction. Create and transfer Multi Tokens tokens from smart contract defined in contractAddress.
*This API is supported for the following blockchains:
*Signing a transaction
*When minting multiple Multi Tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
*Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
*For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
* * @param requestBody * @param xTestnetType Type of testnet. Defaults to Sepolia. Valid only for ETH invocations. * @returns any OK * @throws ApiError */ public static mintMultiTokenBatch( requestBody: (MintMultiTokenBatch | MintMultiTokenBatchKMS | MintMultiTokenBatchCelo | MintMultiTokenBatchKMSCelo), xTestnetType: 'ethereum-sepolia' = 'ethereum-sepolia', ): CancelablePromise<(TransactionHash | SignatureId)> { return __request({ method: 'POST', path: `/v3/multitoken/mint/batch`, headers: { 'x-testnet-type': xTestnetType, }, body: requestBody, mediaType: 'application/json', errors: { 400: `Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.`, 401: `Unauthorized. Not valid or inactive subscription key present in the HTTP Header.`, 403: `Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.`, 500: `Internal server error. There was an error on the server during the processing of the request.`, }, }); } /** * Burn a Multi Token *2 credits per API call
*Burn a fixed amount of Multi Tokens by id. This method destroys Multi Tokens from smart contract defined in contractAddress.
*This API is supported for the following blockchains:
*Signing a transaction
*When burning a Multi Token, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
*Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
*For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
* * @param requestBody * @param xTestnetType Type of testnet. Defaults to Sepolia. Valid only for ETH invocations. * @returns any OK * @throws ApiError */ public static burnMultiToken( requestBody: (BurnMultiToken | BurnMultiTokenKMS | BurnMultiTokenCelo | BurnMultiTokenKMSCelo), xTestnetType: 'ethereum-sepolia' = 'ethereum-sepolia', ): CancelablePromise<(TransactionHash | SignatureId)> { return __request({ method: 'POST', path: `/v3/multitoken/burn`, headers: { 'x-testnet-type': xTestnetType, }, body: requestBody, mediaType: 'application/json', errors: { 400: `Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.`, 401: `Unauthorized. Not valid or inactive subscription key present in the HTTP Header.`, 403: `Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.`, 500: `Internal server error. There was an error on the server during the processing of the request.`, }, }); } /** * Burn multiple Multi Tokens *2 credits per API call
*Burn multiple Multi Token Tokens by id assigned to same address in one transaction. This method destroys any Multi Tokens token from smart contract defined in contractAddress.
*This API is supported for the following blockchains:
*Signing a transaction
*When burning multiple Multi Tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
*Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
*For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
* * @param requestBody * @param xTestnetType Type of testnet. Defaults to Sepolia. Valid only for ETH invocations. * @returns any OK * @throws ApiError */ public static burnMultiTokenBatch( requestBody: (BurnMultiTokenBatch | BurnMultiTokenBatchKMS | BurnMultiTokenBatchCelo | BurnMultiTokenBatchKMSCelo), xTestnetType: 'ethereum-sepolia' = 'ethereum-sepolia', ): CancelablePromise<(TransactionHash | SignatureId)> { return __request({ method: 'POST', path: `/v3/multitoken/burn/batch`, headers: { 'x-testnet-type': xTestnetType, }, body: requestBody, mediaType: 'application/json', errors: { 400: `Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.`, 401: `Unauthorized. Not valid or inactive subscription key present in the HTTP Header.`, 403: `Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.`, 500: `Internal server error. There was an error on the server during the processing of the request.`, }, }); } /** * Transfer a Multi Token *2 credits per API call
*Transfer a certain amount of Multi Token from account to another account. Transfer Multi Tokens token from smart contract defined in contractAddress.
*Only 1 specific token with specified tokenId and value can be transferred. This method invokes ERC1155 method safeTransfer() to transfer the token in case of ETH, Celo and blockchains.
*This API is supported for the following blockchains:
*Signing a transaction
*When transferring a Multi Token, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
*Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
*For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
* * @param requestBody * @param xTestnetType Type of testnet. Defaults to Sepolia. Valid only for ETH invocations. * @returns any OK * @throws ApiError */ public static transferMultiToken( requestBody: (TransferMultiToken | TransferMultiTokenCelo | TransferMultiTokenKMS | TransferMultiTokenKMSCelo), xTestnetType: 'ethereum-sepolia' = 'ethereum-sepolia', ): CancelablePromise<(TransactionHash | SignatureId)> { return __request({ method: 'POST', path: `/v3/multitoken/transaction`, headers: { 'x-testnet-type': xTestnetType, }, body: requestBody, mediaType: 'application/json', errors: { 400: `Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.`, 401: `Unauthorized. Not valid or inactive subscription key present in the HTTP Header.`, 403: `Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.`, 500: `Internal server error. There was an error on the server during the processing of the request.`, }, }); } /** * Transfer multiple Multi Tokens *2 credits per API call
*Transfer Multi Token Batch from account to various other accounts in one transaction. Transfer multiple Multi Tokens token from smart contract defined in contractAddress.
*Multiple token with specified tokenIds and values can be transferred. This method invokes ERC1155 method safeTransfer() to transfer the token in case of ETH, Celo and BSC. *
This API is supported for the following blockchains:
*Signing a transaction
*When transferring multiple Multi Tokens, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
*Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
*For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
* * @param requestBody * @param xTestnetType Type of testnet. Defaults to Sepolia. Valid only for ETH invocations. * @returns any OK * @throws ApiError */ public static transferMultiTokenBatch( requestBody: (TransferMultiTokenBatch | TransferMultiTokenBatchKMS | TransferMultiTokenBatchCelo | TransferMultiTokenBatchKMSCelo), xTestnetType: 'ethereum-sepolia' = 'ethereum-sepolia', ): CancelablePromise<(TransactionHash | SignatureId)> { return __request({ method: 'POST', path: `/v3/multitoken/transaction/batch`, headers: { 'x-testnet-type': xTestnetType, }, body: requestBody, mediaType: 'application/json', errors: { 400: `Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.`, 401: `Unauthorized. Not valid or inactive subscription key present in the HTTP Header.`, 403: `Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.`, 500: `Internal server error. There was an error on the server during the processing of the request.`, }, }); } /** * Add a Multi Token minter *2 credits per API call
*Add Multi Token minter.
*This API is supported for the following blockchains:
*Signing a transaction
*When adding a Multi Token minter, you are charged a fee for the transaction, and you must sign the transaction with the private key of the blockchain address from which the fee will be deducted.
*Providing the private key in the API is not a secure way of signing transactions, because the private key can be stolen or exposed. Your private keys should never leave your security perimeter. You should use the private keys only for testing a solution you are building on the testnet of a blockchain.
*For signing transactions on the mainnet, we strongly recommend that you use the Tatum Key Management System (KMS) and provide the signature ID instead of the private key in the API. Alternatively, you can use the Tatum JavaScript client.
* * @param requestBody * @param xTestnetType Type of testnet. Defaults to Sepolia. Valid only for ETH invocations. * @returns any OK * @throws ApiError */ public static addMultiTokenMinter( requestBody: (AddMultiTokenMinter | AddMultiTokenMinterKMS), xTestnetType: 'ethereum-sepolia' = 'ethereum-sepolia', ): CancelablePromise<(TransactionHash | SignatureId)> { return __request({ method: 'POST', path: `/v3/multitoken/mint/add`, headers: { 'x-testnet-type': xTestnetType, }, body: requestBody, mediaType: 'application/json', errors: { 400: `Bad Request. Validation failed for the given object in the HTTP Body or Request parameters.`, 401: `Unauthorized. Not valid or inactive subscription key present in the HTTP Header.`, 403: `Forbidden. The request is authenticated, but it is not possible to required perform operation due to logical error or invalid permissions.`, 500: `Internal server error. There was an error on the server during the processing of the request.`, }, }); } /** * Get Multi Token transactions on a blockchain address *1 credit per API call
*Get incoming and outgoing Multi Token transactions on a blockchain address.
*This API is supported for the following blockchains:
*1 credit per API call
*Get Multi Token transaction by transaction hash.
*This API is supported for the following blockchains:
*1 credit per API call
*Get all Multi Tokens that a blockchain address holds. The Multi Tokens are returned grouped by the smart contracts they were minted on.
*This API is supported for the following blockchains:
*1 credit per API call
*Get the amount of a specific Multi Token (minted on the smart contract specified by the contractAddress path parameter in the request endpoint URL) that a blockchain address holds.
This API is supported for the following blockchains:
*1 credit per API call
*For multiple blockchain addresses, get the amount of one or multiple Multi Tokens (minted on the smart contract specified by the contractAddress path parameter in the request endpoint URL) that those addresses hold.
This API is supported for the following blockchains:
*1 credit per API call
*Get Multi Token metadata.
*This API is supported for the following blockchains:
*This endpoint is deprecated. Do not use it.
* Instead, use this API.
1 credit per API call
*Get Multi Token contract address from deploy transaction.
*This API is supported for the following blockchains:
*