diff --git a/categories/smart_contracts/openapi.yml b/categories/smart_contracts/openapi.yml index 6eccb72..a2413f7 100644 --- a/categories/smart_contracts/openapi.yml +++ b/categories/smart_contracts/openapi.yml @@ -101,6 +101,12 @@ tags: servers: - url: https://api.tatum.io paths: + /v1/contract/deploy: + post: + $ref: categories/smart_contracts/paths/v1_contract_deploy_post.yml + /v1/contract/erc721/mint: + post: + $ref: categories/smart_contracts/paths/v1_contract_erc721_mint_post.yml /v3/gas-pump: post: $ref: categories/smart_contracts/paths/v3_gas-pump_post.yml diff --git a/categories/smart_contracts/paths/v1_contract_deploy_post.yml b/categories/smart_contracts/paths/v1_contract_deploy_post.yml new file mode 100644 index 0000000..864f835 --- /dev/null +++ b/categories/smart_contracts/paths/v1_contract_deploy_post.yml @@ -0,0 +1,67 @@ +description: "This operation is used to create a new smart contract on the blockchain.\ + \ The operation is asynchronous and returns a transaction hash. The transaction\ + \ hash can be used to query the status of the transaction.
\nYou can create\ + \ the following types of contracts:\n\nYou can find more information about the contracts on our\ + \ GitHub page with steps required for verification.
\nIf you deploy NFT collection\ + \ contract (ERC-721), it is automatically enabled for NFT Express functionality.
\n" +operationId: deployContract +requestBody: + content: + application/json: + schema: + oneOf: + - $ref: '../../../components/migrated_v1.yml#/components/schemas/DeployErc20Contract' + - $ref: '../../../components/migrated_v1.yml#/components/schemas/DeployErc721Contract' + - $ref: '../../../components/migrated_v1.yml#/components/schemas/DeployErc1155Contract' + required: true +responses: + '200': + content: + application/json: + schema: + $ref: '../../../components/migrated_v1.yml#/components/schemas/TransactionHash' + description: OK + '400': + content: + application/json: + schema: + $ref: '../../../components/migrated_v1.yml#/components/schemas/Error400' + description: Bad Request. Validation failed for the given object in the HTTP Body + or Request parameters. + '401': + content: + application/json: + schema: + oneOf: + - $ref: '../../../components/migrated_v1.yml#/components/schemas/Error401NotActive' + - $ref: '../../../components/migrated_v1.yml#/components/schemas/Error401Invalid' + description: Unauthorized. Not valid or inactive subscription key present in the + HTTP Header. + '403': + description: Forbidden. The request is authenticated, but it is not possible to + required perform operation due to logical error or invalid permissions. + content: + application/json: + schema: + oneOf: + - $ref: '../../../components/migrated_v1.yml#/components/schemas/Error403PlanNotSupported' + - $ref: '../../../components/migrated_v1.yml#/components/schemas/Error403ChainNotSupported' + - $ref: '../../../components/migrated_v1.yml#/components/schemas/Error403MainnetNotSupported' + - $ref: '../../../components/migrated_v1.yml#/components/schemas/Error403LimitExceeded' + '500': + content: + application/json: + schema: + $ref: '../../../components/migrated_v1.yml#/components/schemas/Error500' + description: Internal server error. There was an error on the server while processing + the request. +security: +- X-API-Key: [] +x-codeSamples: [] +summary: Deploy smart contract +tags: +- General diff --git a/categories/smart_contracts/paths/v1_contract_erc721_mint_post.yml b/categories/smart_contracts/paths/v1_contract_erc721_mint_post.yml new file mode 100644 index 0000000..8bd75d7 --- /dev/null +++ b/categories/smart_contracts/paths/v1_contract_erc721_mint_post.yml @@ -0,0 +1,63 @@ +description: 'This operation is used to mint NFT on existing NFT collection on the + blockchain. The operation is asynchronous and returns a transaction hash. The transaction + hash can be used to query the status of the transaction.
+ + NFT will be minted as NFT Express. See more: NFT Express functionality.
+ + ' +operationId: mintErc721 +requestBody: + content: + application/json: + schema: + oneOf: + - $ref: '../../../components/migrated_v1.yml#/components/schemas/EvmErc721Mint' + required: true +responses: + '200': + content: + application/json: + schema: + $ref: '../../../components/migrated_v1.yml#/components/schemas/TransactionHash' + description: OK + '400': + content: + application/json: + schema: + $ref: '../../../components/migrated_v1.yml#/components/schemas/Error400' + description: Bad Request. Validation failed for the given object in the HTTP Body + or Request parameters. + '401': + content: + application/json: + schema: + oneOf: + - $ref: '../../../components/migrated_v1.yml#/components/schemas/Error401NotActive' + - $ref: '../../../components/migrated_v1.yml#/components/schemas/Error401Invalid' + description: Unauthorized. Not valid or inactive subscription key present in the + HTTP Header. + '403': + description: Forbidden. The request is authenticated, but it is not possible to + required perform operation due to logical error or invalid permissions. + content: + application/json: + schema: + oneOf: + - $ref: '../../../components/migrated_v1.yml#/components/schemas/Error403PlanNotSupported' + - $ref: '../../../components/migrated_v1.yml#/components/schemas/Error403ChainNotSupported' + - $ref: '../../../components/migrated_v1.yml#/components/schemas/Error403MainnetNotSupported' + - $ref: '../../../components/migrated_v1.yml#/components/schemas/Error403LimitExceeded' + '500': + content: + application/json: + schema: + $ref: '../../../components/migrated_v1.yml#/components/schemas/Error500' + description: Internal server error. There was an error on the server while processing + the request. +security: +- X-API-Key: [] +x-codeSamples: [] +summary: Mint NFT +tags: +- General diff --git a/components/migrated_v1.yml b/components/migrated_v1.yml new file mode 100644 index 0000000..ae7e9f0 --- /dev/null +++ b/components/migrated_v1.yml @@ -0,0 +1,454 @@ +components: + schemas: + CreateSubscriptionTxInTheBlock: + $ref: ./schemas/CreateSubscriptionTxInTheBlock.yml + CreateSubscriptionNotification: + $ref: ./schemas/CreateSubscriptionNotification.yml + CreateContractAddressLogEventSubscription: + $ref: ./schemas/CreateContractAddressLogEventSubscription.yml + Id: + $ref: ./schemas/Id.yml + Subscription: + $ref: ./schemas/Subscription.yml + WebHook: + $ref: ./schemas/WebHook.yml + DeployAbstractContract: + $ref: ./schemas/DeployAbstractContract.yml + DeployErc20Contract: + $ref: ./schemas/DeployErc20Contract.yml + DeployErc721Contract: + $ref: ./schemas/DeployErc721Contract.yml + DeployErc1155Contract: + $ref: ./schemas/DeployErc1155Contract.yml + EvmErc721Mint: + $ref: ./schemas/EvmErc721Mint.yml + TransactionHash: + $ref: ./schemas/TransactionHash.yml + Error403PlanNotSupported: + $ref: ./schemas/Error403PlanNotSupported.yml + Error403ChainNotSupported: + $ref: ./schemas/Error403ChainNotSupported.yml + Error403MainnetNotSupported: + $ref: ./schemas/Error403MainnetNotSupported.yml + Error403LimitExceeded: + $ref: ./schemas/Error403LimitExceeded.yml + ExchangeRate: + $ref: ./schemas/ExchangeRate.yml + RateQuery: + $ref: ./schemas/RateQuery.yml + FiatCurrency: + $ref: ./schemas/FiatCurrency.yml + FiatOrCryptoCurrency: + $ref: ./schemas/FiatOrCryptoCurrency.yml + BalanceItem: + $ref: ./schemas/BalanceItem.yml + NativeTokenBalance: + $ref: ./schemas/NativeTokenBalance.yml + NftBalance: + $ref: ./schemas/NftBalance.yml + FungibleTokenBalance: + $ref: ./schemas/FungibleTokenBalance.yml + TokenType: + $ref: ./schemas/TokenType.yml + BlockItem: + $ref: ./schemas/BlockItem.yml + Event: + $ref: ./schemas/Event.yml + DecodedDataCommon: + $ref: ./schemas/DecodedDataCommon.yml + FungibleTransfer: + $ref: ./schemas/FungibleTransfer.yml + StablecoinTransfer: + $ref: ./schemas/StablecoinTransfer.yml + NftTransfer: + $ref: ./schemas/NftTransfer.yml + MultitokenTransfer: + $ref: ./schemas/MultitokenTransfer.yml + MultitokenTransferSingle: + $ref: ./schemas/MultitokenTransferSingle.yml + MultitokenTransferBatch: + $ref: ./schemas/MultitokenTransferBatch.yml + UniswapTrade: + $ref: ./schemas/UniswapTrade.yml + UniswapTradeV2: + $ref: ./schemas/UniswapTradeV2.yml + UniswapTradeV3: + $ref: ./schemas/UniswapTradeV3.yml + RawData: + $ref: ./schemas/RawData.yml + TxData: + $ref: ./schemas/TxData.yml + TxType: + $ref: ./schemas/TxType.yml + TxSubtype: + $ref: ./schemas/TxSubtype.yml + FungibleInfo: + $ref: ./schemas/FungibleInfo.yml + FungibleInfoTezos: + $ref: ./schemas/FungibleInfoTezos.yml + NftInfo: + $ref: ./schemas/NftInfo.yml + NftInfoTezos: + $ref: ./schemas/NftInfoTezos.yml + MultitokenInfo: + $ref: ./schemas/MultitokenInfo.yml + NftTokenInfo: + $ref: ./schemas/NftTokenInfo.yml + Token: + $ref: ./schemas/Token.yml + TokenTezos: + $ref: ./schemas/TokenTezos.yml + Chain: + $ref: ./schemas/Chain.yml + ChainEnum: + $ref: ./schemas/ChainEnum.yml + ChainEnumExtended: + $ref: ./schemas/ChainEnumExtended.yml + ChainUtxoEnum: + $ref: ./schemas/ChainUtxoEnum.yml + Utxo: + $ref: ./schemas/Utxo.yml + TokenId: + $ref: ./schemas/TokenId.yml + TokenIds: + $ref: ./schemas/TokenIds.yml + TokenAddress: + $ref: ./schemas/TokenAddress.yml + ExcludeMetadata: + $ref: ./schemas/ExcludeMetadata.yml + NftMetadataURI: + $ref: ./schemas/NftMetadataURI.yml + NftMetadata: + $ref: ./schemas/NftMetadata.yml + BlockNumber: + $ref: ./schemas/BlockNumber.yml + BlockNumberTo: + $ref: ./schemas/BlockNumberTo.yml + PageSize: + $ref: ./schemas/PageSize.yml + Cursor: + $ref: ./schemas/Cursor.yml + Offset: + $ref: ./schemas/Offset.yml + CreateSubscriptionKMSError: + $ref: ./schemas/CreateSubscriptionKMSError.yml + Error: + $ref: ./schemas/Error.yml + Error400: + $ref: ./schemas/Error400.yml + Error401Invalid: + $ref: ./schemas/Error401Invalid.yml + Error401NotActive: + $ref: ./schemas/Error401NotActive.yml + Error403ComplianceBtc: + $ref: ./schemas/Error403ComplianceBtc.yml + Error403Libra: + $ref: ./schemas/Error403Libra.yml + Error403EthBroadcast: + $ref: ./schemas/Error403EthBroadcast.yml + Error403EthErc20NotFound: + $ref: ./schemas/Error403EthErc20NotFound.yml + Error403TxNotFound: + $ref: ./schemas/Error403TxNotFound.yml + Error404TxNotFound: + $ref: ./schemas/Error404TxNotFound.yml + Error403EthErc20Set: + $ref: ./schemas/Error403EthErc20Set.yml + Error403EthMnemonicPrivateKey: + $ref: ./schemas/Error403EthMnemonicPrivateKey.yml + Error403EthErc20Unsupported: + $ref: ./schemas/Error403EthErc20Unsupported.yml + Error403EthTxHash: + $ref: ./schemas/Error403EthTxHash.yml + Error403EthTxSign: + $ref: ./schemas/Error403EthTxSign.yml + Error403EthErc20TxSign: + $ref: ./schemas/Error403EthErc20TxSign.yml + Error403EthErc721TxSign: + $ref: ./schemas/Error403EthErc721TxSign.yml + Error403EthErc721Call: + $ref: ./schemas/Error403EthErc721Call.yml + Error403EthGasCalculation: + $ref: ./schemas/Error403EthGasCalculation.yml + Error403EthTxBody: + $ref: ./schemas/Error403EthTxBody.yml + Error403EthScBody: + $ref: ./schemas/Error403EthScBody.yml + Error403EthGasPrice: + $ref: ./schemas/Error403EthGasPrice.yml + Error403ComplianceEth: + $ref: ./schemas/Error403ComplianceEth.yml + Error403AccountTestnet: + $ref: ./schemas/Error403AccountTestnet.yml + Error403AccountXpub: + $ref: ./schemas/Error403AccountXpub.yml + Error403AddressXpub: + $ref: ./schemas/Error403AddressXpub.yml + Error403AccountCurrency: + $ref: ./schemas/Error403AccountCurrency.yml + Error403AccountIncompatibleXpub: + $ref: ./schemas/Error403AccountIncompatibleXpub.yml + Error403AccountIncompatibleXpubBtc: + $ref: ./schemas/Error403AccountIncompatibleXpubBtc.yml + Error403AccountAddressGeneral: + $ref: ./schemas/Error403AccountAddressGeneral.yml + Error403BnbFailed: + $ref: ./schemas/Error403BnbFailed.yml + Error403BnbAddressFailed: + $ref: ./schemas/Error403BnbAddressFailed.yml + Error403BnbBroadcatSigFailed: + $ref: ./schemas/Error403BnbBroadcatSigFailed.yml + Error403BnbTxStateFailed: + $ref: ./schemas/Error403BnbTxStateFailed.yml + Error403BnbTxFailed: + $ref: ./schemas/Error403BnbTxFailed.yml + Error403BtcTxFailed: + $ref: ./schemas/Error403BtcTxFailed.yml + Error403BtcTx: + $ref: ./schemas/Error403BtcTx.yml + Error403AccountNotExists: + $ref: ./schemas/Error403AccountNotExists.yml + Error403BlockageNotExists: + $ref: ./schemas/Error403BlockageNotExists.yml + Error403BlockageAmount: + $ref: ./schemas/Error403BlockageAmount.yml + Error403SubscriptionNotExists: + $ref: ./schemas/Error403SubscriptionNotExists.yml + Error403SubscriptionType: + $ref: ./schemas/Error403SubscriptionType.yml + Error403SubscriptionCurrency: + $ref: ./schemas/Error403SubscriptionCurrency.yml + Error403SubscriptionInterval: + $ref: ./schemas/Error403SubscriptionInterval.yml + Error403SubscriptionBalance: + $ref: ./schemas/Error403SubscriptionBalance.yml + Error403SubscriptionId: + $ref: ./schemas/Error403SubscriptionId.yml + Error403SubscriptionPendingId: + $ref: ./schemas/Error403SubscriptionPendingId.yml + Error403ReportNotAvailable: + $ref: ./schemas/Error403ReportNotAvailable.yml + Error403AccountInactive: + $ref: ./schemas/Error403AccountInactive.yml + Error403AccountActive: + $ref: ./schemas/Error403AccountActive.yml + Error403AccountFrozen: + $ref: ./schemas/Error403AccountFrozen.yml + Error403AccountNotFrozen: + $ref: ./schemas/Error403AccountNotFrozen.yml + Error403CustomerInternalNotExists: + $ref: ./schemas/Error403CustomerInternalNotExists.yml + Error403CustomerActive: + $ref: ./schemas/Error403CustomerActive.yml + Error403CustomerInactive: + $ref: ./schemas/Error403CustomerInactive.yml + Error403CustomerDisabled: + $ref: ./schemas/Error403CustomerDisabled.yml + Error403CustomerEnabled: + $ref: ./schemas/Error403CustomerEnabled.yml + Error403CustomerDeactivateActiveAccounts: + $ref: ./schemas/Error403CustomerDeactivateActiveAccounts.yml + Error403CustomerNotExists: + $ref: ./schemas/Error403CustomerNotExists.yml + Error403BlockDelete: + $ref: ./schemas/Error403BlockDelete.yml + Error403CustomerNotActive: + $ref: ./schemas/Error403CustomerNotActive.yml + Error403VCNoAccount: + $ref: ./schemas/Error403VCNoAccount.yml + Error403VCTxFailed: + $ref: ./schemas/Error403VCTxFailed.yml + Error403VCRevokeBalance: + $ref: ./schemas/Error403VCRevokeBalance.yml + Error403VCCreateFailed: + $ref: ./schemas/Error403VCCreateFailed.yml + Error403VCPrefix: + $ref: ./schemas/Error403VCPrefix.yml + Error403VCDuplicate: + $ref: ./schemas/Error403VCDuplicate.yml + Error403AccountCustomerInactive: + $ref: ./schemas/Error403AccountCustomerInactive.yml + Error403AccountBalanceNonZero: + $ref: ./schemas/Error403AccountBalanceNonZero.yml + Error403TradeBalanceNonZero: + $ref: ./schemas/Error403TradeBalanceNonZero.yml + Error403AmountFormat: + $ref: ./schemas/Error403AmountFormat.yml + Error403RecipientFormat: + $ref: ./schemas/Error403RecipientFormat.yml + Error403AccountCurrencyVC: + $ref: ./schemas/Error403AccountCurrencyVC.yml + Error403VCNotFound: + $ref: ./schemas/Error403VCNotFound.yml + Error403AddressUsed: + $ref: ./schemas/Error403AddressUsed.yml + Error403AddressNotFound: + $ref: ./schemas/Error403AddressNotFound.yml + Error403AddressAccountXpubMissing: + $ref: ./schemas/Error403AddressAccountXpubMissing.yml + Error403AddressIndexUsed: + $ref: ./schemas/Error403AddressIndexUsed.yml + Error403BtcBlockchain: + $ref: ./schemas/Error403BtcBlockchain.yml + Error404BlockNotExists: + $ref: ./schemas/Error404BlockNotExists.yml + Error403Broadcast: + $ref: ./schemas/Error403Broadcast.yml + Error403BlockchainPrivateFailed: + $ref: ./schemas/Error403BlockchainPrivateFailed.yml + Error403BtcUTXO: + $ref: ./schemas/Error403BtcUTXO.yml + Error403BcashBroadcast: + $ref: ./schemas/Error403BcashBroadcast.yml + Error403WithdrawalNotFound: + $ref: ./schemas/Error403WithdrawalNotFound.yml + Error403KMSNotExists: + $ref: ./schemas/Error403KMSNotExists.yml + Error403OffchainNotCancelled: + $ref: ./schemas/Error403OffchainNotCancelled.yml + Error403XlmFailed: + $ref: ./schemas/Error403XlmFailed.yml + Error403XrpFailed: + $ref: ./schemas/Error403XrpFailed.yml + Error403XrpCode: + $ref: ./schemas/Error403XrpCode.yml + Error403XrpLedger: + $ref: ./schemas/Error403XrpLedger.yml + Error403XrpBroadcast: + $ref: ./schemas/Error403XrpBroadcast.yml + Error403XrpMultiple: + $ref: ./schemas/Error403XrpMultiple.yml + Error403XrpAttr: + $ref: ./schemas/Error403XrpAttr.yml + Error403XrpFee: + $ref: ./schemas/Error403XrpFee.yml + Error403XrpSign: + $ref: ./schemas/Error403XrpSign.yml + Error403XlmTxFailed: + $ref: ./schemas/Error403XlmTxFailed.yml + Error403VetFailed: + $ref: ./schemas/Error403VetFailed.yml + Error403VetGas: + $ref: ./schemas/Error403VetGas.yml + Error403VetTxHash: + $ref: ./schemas/Error403VetTxHash.yml + Error403EgldGasCalculation: + $ref: ./schemas/Error403EgldGasCalculation.yml + Error403OffchainBroadcastState: + $ref: ./schemas/Error403OffchainBroadcastState.yml + Error403OffchainCancelled: + $ref: ./schemas/Error403OffchainCancelled.yml + Error403OffchainNotSupported: + $ref: ./schemas/Error403OffchainNotSupported.yml + Error403AddressAccountXpubUsed: + $ref: ./schemas/Error403AddressAccountXpubUsed.yml + Error403RateNotFound: + $ref: ./schemas/Error403RateNotFound.yml + Error403OffchainBroadcast: + $ref: ./schemas/Error403OffchainBroadcast.yml + Error403OffchainCheck: + $ref: ./schemas/Error403OffchainCheck.yml + Error403BtcTxUtxoFailed: + $ref: ./schemas/Error403BtcTxUtxoFailed.yml + Error403BtcMnemonicTxFailed: + $ref: ./schemas/Error403BtcMnemonicTxFailed.yml + Error403WithdrawalFailed: + $ref: ./schemas/Error403WithdrawalFailed.yml + Error403WithdrawalCancelled: + $ref: ./schemas/Error403WithdrawalCancelled.yml + Error403FeeFormat: + $ref: ./schemas/Error403FeeFormat.yml + Error403TxSenderNotFound: + $ref: ./schemas/Error403TxSenderNotFound.yml + Error403TxSenderFrozen: + $ref: ./schemas/Error403TxSenderFrozen.yml + Error403TxSenderCustomerDisabled: + $ref: ./schemas/Error403TxSenderCustomerDisabled.yml + Error403TxRecipientNotFound: + $ref: ./schemas/Error403TxRecipientNotFound.yml + Error403TxCurrency: + $ref: ./schemas/Error403TxCurrency.yml + Error403TxBalance: + $ref: ./schemas/Error403TxBalance.yml + Error403TxAmountBtc: + $ref: ./schemas/Error403TxAmountBtc.yml + Error403TxAmountBtcOffchain: + $ref: ./schemas/Error403TxAmountBtcOffchain.yml + Error403TxAmountAda: + $ref: ./schemas/Error403TxAmountAda.yml + Error403TxAmountAdaOffchain: + $ref: ./schemas/Error403TxAmountAdaOffchain.yml + Error403WithdrawalPending: + $ref: ./schemas/Error403WithdrawalPending.yml + Error403TxAmountEth: + $ref: ./schemas/Error403TxAmountEth.yml + Error403TxAmountEthOffchain: + $ref: ./schemas/Error403TxAmountEthOffchain.yml + Error403TxNotCompliant: + $ref: ./schemas/Error403TxNotCompliant.yml + Error403WithdrawalVC: + $ref: ./schemas/Error403WithdrawalVC.yml + Error403Erc20Prefix: + $ref: ./schemas/Error403Erc20Prefix.yml + Error403Erc20XpubBoth: + $ref: ./schemas/Error403Erc20XpubBoth.yml + Error403Erc20XpubMissing: + $ref: ./schemas/Error403Erc20XpubMissing.yml + Error403Erc20NameDuplicate: + $ref: ./schemas/Error403Erc20NameDuplicate.yml + Error403OrderCurrency1NotFound: + $ref: ./schemas/Error403OrderCurrency1NotFound.yml + Error403OrderFeeNotFound: + $ref: ./schemas/Error403OrderFeeNotFound.yml + Error403OrderFeeIncompatible: + $ref: ./schemas/Error403OrderFeeIncompatible.yml + Error403OrderCurrency1Frozen: + $ref: ./schemas/Error403OrderCurrency1Frozen.yml + Error403OrderCurrency1CustomerDisabled: + $ref: ./schemas/Error403OrderCurrency1CustomerDisabled.yml + Error403OrderCurrency2NotFound: + $ref: ./schemas/Error403OrderCurrency2NotFound.yml + Error403OrderCurrency2Frozen: + $ref: ./schemas/Error403OrderCurrency2Frozen.yml + Error403OrderCurrency2CustomerDisabled: + $ref: ./schemas/Error403OrderCurrency2CustomerDisabled.yml + Error403OrderCurrency1Pair: + $ref: ./schemas/Error403OrderCurrency1Pair.yml + Error403OrderCurrency2Pair: + $ref: ./schemas/Error403OrderCurrency2Pair.yml + Error403OrderCurrency1Balance: + $ref: ./schemas/Error403OrderCurrency1Balance.yml + Error403OrderCurrency2Balance: + $ref: ./schemas/Error403OrderCurrency2Balance.yml + Error500: + $ref: ./schemas/Error500.yml + Error403: + $ref: ./schemas/Error403.yml + Error401: + $ref: ./schemas/Error401.yml + securitySchemes: + X-API-Key: + type: apiKey + name: x-api-key + in: header + description: "The **API key** represents your [pricing plan](https://tatum.com/pricing)\ + \ and defines how many API calls \nyou can make per second and what the total\ + \ number of API calls per month is available for you.\n\nOne API key must\ + \ be used by only one person.\n\nChoose one of the following authentication\ + \ methods:\n\n* **Provide the API key in each API call.**\n\n To obtain the\ + \ API key, [create a Tatum account](https://dashboard.tatum.com). Once you\ + \ are logged in,\n you are automatically assigned the Free plan.\n\n With\ + \ the Free plan:\n * You get two API keys, one tied to the testnet of a blockchain\ + \ and the other to the mainnet.\n * You can make up to five API calls per\ + \ second.\n\n When making an API call, provide the appropriate API key (testnet\ + \ or mainnet) as either an HTTP header.\n\n If you ever need your API keys,\ + \ you can find them in [your Tatum account](https://dashboard.tatum.com/).\n\ + \n* **Get an auto-generated API key attached to API calls.**\n\n Make an\ + \ API call without any API key provided. The API key will be generated and\ + \ tied to your IP address.\n This API key is stored within the Tatum platform\ + \ and is automatically attached to all your API calls.\n\n With the auto-generated\ + \ API key:\n * You can make up to five API calls per second.\n\n These limits\ + \ are applied to both the testnet and mainnet.\n\n By default, API calls\ + \ with the auto-generated API key are executed against the mainnet.\n To\ + \ make an API call to the testnet, add the `type` query parameter set to `testnet`\ + \ to the endpoint URL,\n for example:\n\n `https://api.tatum.com/v1/subscription?type=testnet`\n" \ No newline at end of file diff --git a/components/schemas/CreateContractAddressLogEventSubscription.yml b/components/schemas/CreateContractAddressLogEventSubscription.yml new file mode 100644 index 0000000..ba69f72 --- /dev/null +++ b/components/schemas/CreateContractAddressLogEventSubscription.yml @@ -0,0 +1,47 @@ +type: object +required: +- type +- attr +properties: + type: + type: string + description: Type of the subscription. + example: CONTRACT_ADDRESS_LOG_EVENT + attr: + type: object + description: Additional attributes based on the subscription type. + required: + - chain + - address + - url + properties: + address: + description: Blockchain address to watch. + example: FykfMwA9WNShzPJbbb9DNXsfgDgS3XZzWiFgrVXfWoPJ + maxLength: 128 + minLength: 13 + type: string + chain: + description: Blockchain of the address. + example: SOL + type: string + enum: + - ETH + - MATIC + - CELO + - KLAY + - BSC + - TEZOS + url: + type: string + description: URL of the endpoint, where HTTP POST request will be sent, when + transaction is detected on the address. + example: https://dashboard.tatum.io/webhook-handler + maxLength: 500 + event: + type: string + description: Event to watch. In case of EVM chains it is usually a hash of + the event signature. In case of Tezos it is a name of the event and max + length is not enforced. + example: 1.0038928713678618e+77 + maxLength: 66 diff --git a/components/schemas/DeployAbstractContract.yml b/components/schemas/DeployAbstractContract.yml new file mode 100644 index 0000000..adbdc8f --- /dev/null +++ b/components/schemas/DeployAbstractContract.yml @@ -0,0 +1,26 @@ +type: object +required: +- chain +- owner +properties: + chain: + type: string + enum: + - bsc-mainnet + - bsc-testnet + - ethereum-mainnet + - ethereum-sepolia + - polygon-mainnet + - polygon-mumbai + - celo-mainnet + - celo-alfajores + description: The blockchain network where the contract will be deployed. + owner: + type: string + pattern: ^0x[a-fA-F0-9]{40}$ + description: The address of the owner of the contract. + minter: + type: string + pattern: ^0x[a-fA-F0-9]{40}$ + description: The address of the minter of the contract. If not provided, the owner + will be the minter. diff --git a/components/schemas/DeployErc1155Contract.yml b/components/schemas/DeployErc1155Contract.yml new file mode 100644 index 0000000..c1983f2 --- /dev/null +++ b/components/schemas/DeployErc1155Contract.yml @@ -0,0 +1,16 @@ +allOf: +- $ref: '../migrated_v1.yml#/components/schemas/DeployAbstractContract' +- type: object + required: + - contractType + properties: + contractType: + type: string + enum: + - multitoken + description: The type of contract to deploy. + baseURI: + type: string + maxLength: 500 + description: The base URI for the ERC1155 token metadata. If not provided, the + token will not have any base URI prefixed. diff --git a/components/schemas/DeployErc20Contract.yml b/components/schemas/DeployErc20Contract.yml new file mode 100644 index 0000000..306f486 --- /dev/null +++ b/components/schemas/DeployErc20Contract.yml @@ -0,0 +1,41 @@ +allOf: +- $ref: '../migrated_v1.yml#/components/schemas/DeployAbstractContract' +- type: object + required: + - name + - symbol + - contractType + - initialSupply + - initialHolder + properties: + name: + type: string + maxLength: 255 + description: The name of the ERC20 token. + symbol: + type: string + maxLength: 255 + description: The symbol of the ERC20 token. + contractType: + type: string + enum: + - fungible + description: The type of contract to deploy. + initialSupply: + type: string + description: The initial supply of the ERC20 token. + initialHolder: + type: string + pattern: ^0x[a-fA-F0-9]{40}$ + description: The address that will hold the initial supply of the token. + decimals: + type: integer + minimum: 0 + maximum: 30 + description: The number of decimals the ERC20 token will have. If not provided, + the default value is 18. + pauser: + type: string + pattern: ^0x[a-fA-F0-9]{40}$ + description: The address that can pause the token contract. If not provided, + the pauser is the owner. diff --git a/components/schemas/DeployErc721Contract.yml b/components/schemas/DeployErc721Contract.yml new file mode 100644 index 0000000..0079e85 --- /dev/null +++ b/components/schemas/DeployErc721Contract.yml @@ -0,0 +1,26 @@ +allOf: +- $ref: '../migrated_v1.yml#/components/schemas/DeployAbstractContract' +- type: object + required: + - name + - symbol + - contractType + properties: + name: + type: string + maxLength: 255 + description: The name of the ERC721 token. + symbol: + type: string + maxLength: 255 + description: The symbol of the ERC721 token. + contractType: + type: string + enum: + - nft + description: The type of contract to deploy. + baseURI: + type: string + maxLength: 500 + description: The base URI for the ERC721 token metadata. If not provided, the + token will not have any base URI prefixed. diff --git a/components/schemas/Error403ChainNotSupported.yml b/components/schemas/Error403ChainNotSupported.yml new file mode 100644 index 0000000..0d80270 --- /dev/null +++ b/components/schemas/Error403ChainNotSupported.yml @@ -0,0 +1,17 @@ +properties: + errorCode: + description: chain.not.supported + example: chain.not.supported + type: string + message: + description: Chain ${chain} is not supported for this operation. + example: Chain ${chain} is not supported for this operation. + type: string + statusCode: + description: '403' + example: 403 + type: number +required: +- errorCode +- message +- statusCode diff --git a/components/schemas/Error403LimitExceeded.yml b/components/schemas/Error403LimitExceeded.yml new file mode 100644 index 0000000..5d5fe83 --- /dev/null +++ b/components/schemas/Error403LimitExceeded.yml @@ -0,0 +1,19 @@ +properties: + errorCode: + description: limit.exceeded + example: limit.exceeded + type: string + message: + description: Your plan limit is exceeded, you can't perform this operation more + then ${limit}x. You can upgrade at https://dashboard.tatum.com. + example: Your plan limit is exceeded, you can't perform this operation more then + ${limit}x. You can upgrade at https://dashboard.tatum.com. + type: string + statusCode: + description: '403' + example: 403 + type: number +required: +- errorCode +- message +- statusCode diff --git a/components/schemas/Error403MainnetNotSupported.yml b/components/schemas/Error403MainnetNotSupported.yml new file mode 100644 index 0000000..97fc021 --- /dev/null +++ b/components/schemas/Error403MainnetNotSupported.yml @@ -0,0 +1,19 @@ +properties: + errorCode: + description: mainnet.not.supported + example: mainnet.not.supported + type: string + message: + description: Mainnet is not supported for this operation for your plan. You can + upgrade at https://dashboard.tatum.com. + example: Mainnet is not supported for this operation for your plan. You can upgrade + at https://dashboard.tatum.com. + type: string + statusCode: + description: '403' + example: 403 + type: number +required: +- errorCode +- message +- statusCode diff --git a/components/schemas/Error403PlanNotSupported.yml b/components/schemas/Error403PlanNotSupported.yml new file mode 100644 index 0000000..4e95452 --- /dev/null +++ b/components/schemas/Error403PlanNotSupported.yml @@ -0,0 +1,19 @@ +properties: + errorCode: + description: product.not.supported + example: product.not.supported + type: string + message: + description: Your plan is not supported to perform this operation. You can subscribe + at https://dashboard.tatum.com. + example: Your plan is not supported to perform this operation. You can subscribe + at https://dashboard.tatum.com. + type: string + statusCode: + description: '403' + example: 403 + type: number +required: +- errorCode +- message +- statusCode diff --git a/components/schemas/EvmErc721Mint.yml b/components/schemas/EvmErc721Mint.yml new file mode 100644 index 0000000..9473490 --- /dev/null +++ b/components/schemas/EvmErc721Mint.yml @@ -0,0 +1,45 @@ +type: object +properties: + chain: + type: string + enum: + - bsc-mainnet + - bsc-testnet + - ethereum-mainnet + - ethereum-sepolia + - polygon-mainnet + - polygon-mumbai + - celo-mainnet + - celo-alfajores + - one-mainnet-s0 + - one-testnet-s0 + - kcs-mainnet + - kcs-testnet + description: The blockchain network where to mint NFT. + to: + type: string + pattern: ^0x[a-fA-F0-9]{40}$ + description: The address of the NFT receiver. + url: + type: string + pattern: ipfs://[a-f0-9]{60} + description: The URL pointing to the NFT metadata; for more information, see EIP-721 + tokenId: + type: string + pattern: ^[0-9]+$ + description: Token Id of NFT to be minted + contractAddress: + type: string + pattern: ^0x[a-fA-F0-9]{40}$ + description: Smart contract address of the NFT collection + minter: + type: string + pattern: ^0x[a-fA-F0-9]{40}$ + description: The address of the minter of the contract. If not provided, the owner + will be the minter. +required: +- chain +- to +- url +- tokenId +- contractAddress diff --git a/components/schemas/Utxo.yml b/components/schemas/Utxo.yml new file mode 100644 index 0000000..09ece85 --- /dev/null +++ b/components/schemas/Utxo.yml @@ -0,0 +1,31 @@ +type: object +required: +- chain +- address +- txHash +- index +- value +- valueAsString +properties: + chain: + $ref: '../migrated_v1.yml#/components/schemas/ChainUtxoEnum' + address: + type: string + description: Address of the UTXO + example: bc1qmfp2r68cde646jv5ns7x2qvah8v5qtfw8gznj2 + txHash: + type: string + description: Hash of the transaction this UTXO is present in + example: '0x1b5b3e8a671434bf5d0d38e3e52dcafac484441a48bfae4a3f71e5b0b3093d8e' + index: + type: number + description: Index of the UTXO in the transaction + example: 0 + value: + type: number + description: Value of the UTXO, in BTC, LTC or DOGE. + example: 0.0001 + valueAsString: + type: string + description: String representation of the value of the UTXO, in BTC, LTC or DOGE. + example: '0.0001'