diff --git a/examples/emulate.ts b/examples/emulate.ts index ed4d5de..93528b6 100644 --- a/examples/emulate.ts +++ b/examples/emulate.ts @@ -11,19 +11,38 @@ import { import { mnemonicNew, mnemonicToPrivateKey } from '@ton/crypto'; import { TonApiClient } from '@ton-api/client'; +// Create TonApiClient instance // if you need to send lots of requests in parallel, make sure you use a tonapi token. -const ta = new TonApiClient({ +const tonApiClient = new TonApiClient({ baseUrl: 'https://tonapi.io', - apiKey: 'YOUR_API_KEY' + // apiKey: 'YOUR_API_KEY' }); // Sender's wallet address const senderAddress = Address.parse('UQAQxxpzxmEVU0Lu8U0zNTxBzXIWPvo263TIN1OQM9YvxsnV'); const recipientAddress = Address.parse('UQDNzlh0XSZdb5_Qrlx5QjyZHVAO74v5oMeVVrtF_5Vt1rIt'); -// Get wallet's seqno and public key -const { seqno } = await ta.wallet.getAccountSeqno(senderAddress); -const { publicKey: publicKeyHex } = await ta.accounts.getAccountPublicKey(senderAddress); +const seqno = await tonApiClient + .getAccountSeqno(senderAddress) + .then(seqnoData => seqnoData.seqno) + .catch((error: unknown) => { + console.error( + 'Error getting account seqno:', + error instanceof Error ? error.message : String(error) + ); + process.exit(1); + }); + +const publicKeyHex = await tonApiClient + .getAccountPublicKey(senderAddress) + .then(publicKeyData => publicKeyData.publicKey) + .catch((error: unknown) => { + console.error( + 'Error getting account public key:', + error instanceof Error ? error.message : String(error) + ); + process.exit(1); + }); // Emulate transaction from wallet_v4 address const wallet = WalletContractV4.create({ @@ -73,7 +92,7 @@ const bocExternalMessage = beginCell() .endCell(); // Emulate transaction -const emulateTrace = await ta.emulation.emulateMessageToTrace( +const emulateTrace = await tonApiClient.emulateMessageToTrace( { boc: bocExternalMessage }, { ignore_signature_check: true } // Ignore signature for execute message from other account ); diff --git a/examples/gasless.ts b/examples/gasless.ts index a6c347d..b74fc9b 100644 --- a/examples/gasless.ts +++ b/examples/gasless.ts @@ -11,16 +11,17 @@ import { storeMessageRelaxed } from '@ton/ton'; -import { TonApiClient } from '@ton-api/client'; +import { TonApiClient, TonApiHttpError } from '@ton-api/client'; import { ContractAdapter } from '@ton-api/ton-adapter'; +// Create TonApiClient instance // if you need to send lots of requests in parallel, make sure you use a tonapi token. -const ta = new TonApiClient({ +const tonApiClient = new TonApiClient({ baseUrl: 'https://tonapi.io', - apiKey: 'YOUR_API_KEY' + // apiKey: 'YOUR_API_KEY' }); -const provider = new ContractAdapter(ta); +const provider = new ContractAdapter(tonApiClient); const OP_CODES = { TK_RELAYER_FEE: 0x878da6e3, @@ -47,13 +48,15 @@ const contract = provider.open(wallet); console.log('Wallet address:', wallet.address.toString()); -const jettonWalletAddressResult = await ta.blockchain.execGetMethodForBlockchainAccount( - usdtMaster, - 'get_wallet_address', - { +const jettonWalletAddressResult = await tonApiClient + .execGetMethodForBlockchainAccount(usdtMaster, 'get_wallet_address', { args: [wallet.address.toRawString()] - } -); + }) + .catch((getWalletError: unknown) => { + console.error('Error getting jetton wallet:', + getWalletError instanceof Error ? getWalletError.message : String(getWalletError)); + process.exit(1); + }); const jettonWallet = Address.parse(jettonWalletAddressResult.decoded.jetton_wallet_address); @@ -90,11 +93,17 @@ const messageToEstimate = beginCell() // we send a single message containing a transfer from our wallet to a desired destination. // as a result of estimation, TonAPI returns a list of messages that we need to sign. // the first message is a fee transfer to the relay address, the second message is our original transfer. -const params = await ta.gasless.gaslessEstimate(usdtMaster, { - walletAddress: wallet.address, - walletPublicKey: keyPair.publicKey.toString('hex'), - messages: [{ boc: messageToEstimate }] -}); //.catch(error => console.error(error)); +const params = await tonApiClient + .gaslessEstimate(usdtMaster, { + walletAddress: wallet.address, + walletPublicKey: keyPair.publicKey.toString('hex'), + messages: [{ boc: messageToEstimate }] + }) + .catch((estimateError: unknown) => { + console.error('Error estimating gasless transfer:', + estimateError instanceof Error ? estimateError.message : String(estimateError)); + process.exit(1); + }); console.log('Estimated transfer:', params); @@ -129,19 +138,33 @@ const extMessage = beginCell() .endCell(); // Send a gasless transfer -ta.gasless +const sendResult = await tonApiClient .gaslessSend({ walletPublicKey: keyPair.publicKey.toString('hex'), boc: extMessage }) - .then(() => console.log('A gasless transfer sent!')) - .catch(error => console.error(error.message)); + .catch((sendError: unknown) => { + if (sendError instanceof TonApiHttpError) { + console.error('Error sending gasless transfer:', sendError.message, 'Status:', sendError.status); + } else { + console.error('Error sending gasless transfer:', sendError instanceof Error ? sendError.message : String(sendError)); + } + return null; + }); + +if (sendResult) { + console.log('A gasless transfer sent!'); +} async function printConfigAndReturnRelayAddress(): Promise
{ - const cfg = await ta.gasless.gaslessConfig(); + const cfg = await tonApiClient.gaslessConfig().catch((error: unknown) => { + console.error('Error getting gasless config:', + error instanceof Error ? error.message : String(error)); + process.exit(1); + }); console.log('Available jettons for gasless transfer'); - console.log(cfg.gasJettons.map(gasJetton => gasJetton.masterId)); + console.log(cfg.gasJettons.map((gasJetton: any) => gasJetton.masterId)); console.log(`Relay address to send fees to: ${cfg.relayAddress}`); return cfg.relayAddress; diff --git a/examples/send-jetton.ts b/examples/send-jetton.ts index 96e9e60..8265fb6 100644 --- a/examples/send-jetton.ts +++ b/examples/send-jetton.ts @@ -4,14 +4,14 @@ import { mnemonicToPrivateKey } from '@ton/crypto'; import { TonApiClient } from '@ton-api/client'; import { ContractAdapter } from '@ton-api/ton-adapter'; -// Initialize TonApi client -const ta = new TonApiClient({ +// Create TonApiClient instance +const tonApiClient = new TonApiClient({ baseUrl: 'https://tonapi.io', - apiKey: 'YOUR_API_KEY', // Optional, improves request limits and access + // apiKey: 'YOUR_API_KEY', // Optional, improves request limits and access }); // Create an adapter for interacting with contracts -const adapter = new ContractAdapter(ta); +const adapter = new ContractAdapter(tonApiClient); // Base gas fee required for the jetton transfer const BASE_JETTON_SEND_AMOUNT = toNano(0.05); @@ -32,11 +32,14 @@ const wallet = WalletContractV5R1.create({ workchain: 0, publicKey: keyPair.publ const contract = adapter.open(wallet); // Open the wallet contract using the adapter // Get the sender's jetton wallet address from the jetton master contract -const jettonWalletAddressResult = await ta.blockchain.execGetMethodForBlockchainAccount( +const jettonWalletAddressResult = await tonApiClient.execGetMethodForBlockchainAccount( jettonMaster, 'get_wallet_address', { args: [wallet.address.toRawString()] } -); +).catch((error) => { + console.error('Error getting jetton wallet address:', error.message); + process.exit(1); +}); const jettonWallet = Address.parse(jettonWalletAddressResult.decoded.jetton_wallet_address); // Extract the jetton wallet address diff --git a/examples/send-ton.ts b/examples/send-ton.ts index 8602fa9..295f749 100644 --- a/examples/send-ton.ts +++ b/examples/send-ton.ts @@ -3,14 +3,14 @@ import { mnemonicToPrivateKey } from '@ton/crypto'; import { TonApiClient } from '@ton-api/client'; import { ContractAdapter } from '@ton-api/ton-adapter'; -// Initialize TonApi client -const ta = new TonApiClient({ +// Create TonApiClient instance +const tonApiClient = new TonApiClient({ baseUrl: 'https://tonapi.io', - apiKey: 'YOUR_API_KEY', // Optional, improves limits and access + // apiKey: 'YOUR_API_KEY', // Optional, improves limits and access }); // Create an adapter for interacting with contracts -const adapter = new ContractAdapter(ta); +const adapter = new ContractAdapter(tonApiClient); // Convert mnemonic phrase to a private key const mnemonics = 'word1 word2 ...'.split(' '); // Replace with your mnemonic phrase diff --git a/examples/track-transaction.ts b/examples/track-transaction.ts index 085bf74..e5b8ea8 100644 --- a/examples/track-transaction.ts +++ b/examples/track-transaction.ts @@ -35,12 +35,12 @@ function normalizeHash(message: Message, normalizeExternal: boolean): Buffer { // 1) Using normalizeHash with a manually-created external message // ---------------------------------------------------------- -// Step 1: Initialize the TonAPI client -const ta = new TonApiClient({ +// Step 1: Create TonApiClient instance +const tonApiClient = new TonApiClient({ baseUrl: 'https://tonapi.io' // apiKey: 'YOUR_API_KEY', // Optional, improves request limits and access }); -const adapter = new ContractAdapter(ta); +const adapter = new ContractAdapter(tonApiClient); // Step 2: Define the wallet and recipient addresses const destination = Address.parse('EQCKWpx7cNMpvmcN5ObM5lLUZHZRFKqYA4xmw9jOry0ZsF9M'); @@ -83,9 +83,13 @@ console.log('Manual Message Hash:', manualExtMessageHash.toString('hex')); await delay(10000); // Step 8: Retrieve the resulting transaction using the normalized external hash -const manualTransaction = await ta.blockchain.getBlockchainTransactionByMessageHash( - manualExtMessageHash.toString('hex') -); +// You can retry this step if the transaction is not found, until +const manualTransaction = await tonApiClient + .getBlockchainTransactionByMessageHash(manualExtMessageHash.toString('hex')) + .catch((error) => { + console.error('Error fetching transaction:', error.message); + return null; + }); console.log('Manual Transaction Details:', manualTransaction); // ---------------------------------------------------------- @@ -106,7 +110,10 @@ const bocExtMessageHash = normalizeHash(bocMessage, true); console.log('BOC Message Hash:', bocExtMessageHash.toString('hex')); // Step 3: Retrieve the transaction using that hash -const bocTransaction = await ta.blockchain.getBlockchainTransactionByMessageHash( - bocExtMessageHash.toString('hex') -); +const bocTransaction = await tonApiClient + .getBlockchainTransactionByMessageHash(bocExtMessageHash.toString('hex')) + .catch((error) => { + console.error('Error fetching transaction:', error.message); + return null; + }); console.log('BOC Transaction Details:', bocTransaction); diff --git a/package-lock.json b/package-lock.json index 81724a9..288fe04 100644 --- a/package-lock.json +++ b/package-lock.json @@ -86,6 +86,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", "dev": true, + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.23.5", @@ -522,14 +523,11 @@ } }, "node_modules/@babel/runtime": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", - "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", "dev": true, "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, "engines": { "node": ">=6.9.0" } @@ -600,16 +598,17 @@ "dev": true }, "node_modules/@changesets/apply-release-plan": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.6.tgz", - "integrity": "sha512-TKhVLtiwtQOgMAC0fCJfmv93faiViKSDqr8oMEqrnNs99gtSC1sZh/aEMS9a+dseU1ESZRCK+ofLgGY7o0fw/Q==", + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.13.tgz", + "integrity": "sha512-BIW7bofD2yAWoE8H4V40FikC+1nNFEKBisMECccS16W1rt6qqhNTBDmIw5HaqmMgtLNz9e7oiALiEUuKrQ4oHg==", "dev": true, + "license": "MIT", "dependencies": { - "@changesets/config": "^3.0.4", + "@changesets/config": "^3.1.1", "@changesets/get-version-range-type": "^0.4.0", - "@changesets/git": "^3.0.2", - "@changesets/should-skip-package": "^0.1.1", - "@changesets/types": "^6.0.0", + "@changesets/git": "^3.0.4", + "@changesets/should-skip-package": "^0.1.2", + "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "detect-indent": "^6.0.0", "fs-extra": "^7.0.1", @@ -625,6 +624,7 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -639,6 +639,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -648,6 +649,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -663,6 +665,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -672,58 +675,62 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/@changesets/assemble-release-plan": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.5.tgz", - "integrity": "sha512-IgvBWLNKZd6k4t72MBTBK3nkygi0j3t3zdC1zrfusYo0KpdsvnDjrMM9vPnTCLCMlfNs55jRL4gIMybxa64FCQ==", + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.9.tgz", + "integrity": "sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==", "dev": true, + "license": "MIT", "dependencies": { "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.2", - "@changesets/should-skip-package": "^0.1.1", - "@changesets/types": "^6.0.0", + "@changesets/get-dependents-graph": "^2.1.3", + "@changesets/should-skip-package": "^0.1.2", + "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "semver": "^7.5.3" } }, "node_modules/@changesets/changelog-git": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.2.0.tgz", - "integrity": "sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.2.1.tgz", + "integrity": "sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==", "dev": true, + "license": "MIT", "dependencies": { - "@changesets/types": "^6.0.0" + "@changesets/types": "^6.1.0" } }, "node_modules/@changesets/cli": { - "version": "2.27.10", - "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.27.10.tgz", - "integrity": "sha512-PfeXjvs9OfQJV8QSFFHjwHX3QnUL9elPEQ47SgkiwzLgtKGyuikWjrdM+lO9MXzOE22FO9jEGkcs4b+B6D6X0Q==", + "version": "2.29.7", + "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.29.7.tgz", + "integrity": "sha512-R7RqWoaksyyKXbKXBTbT4REdy22yH81mcFK6sWtqSanxUCbUi9Uf+6aqxZtDQouIqPdem2W56CdxXgsxdq7FLQ==", "dev": true, + "license": "MIT", "dependencies": { - "@changesets/apply-release-plan": "^7.0.6", - "@changesets/assemble-release-plan": "^6.0.5", - "@changesets/changelog-git": "^0.2.0", - "@changesets/config": "^3.0.4", + "@changesets/apply-release-plan": "^7.0.13", + "@changesets/assemble-release-plan": "^6.0.9", + "@changesets/changelog-git": "^0.2.1", + "@changesets/config": "^3.1.1", "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.2", - "@changesets/get-release-plan": "^4.0.5", - "@changesets/git": "^3.0.2", + "@changesets/get-dependents-graph": "^2.1.3", + "@changesets/get-release-plan": "^4.0.13", + "@changesets/git": "^3.0.4", "@changesets/logger": "^0.1.1", - "@changesets/pre": "^2.0.1", - "@changesets/read": "^0.6.2", - "@changesets/should-skip-package": "^0.1.1", - "@changesets/types": "^6.0.0", - "@changesets/write": "^0.3.2", + "@changesets/pre": "^2.0.2", + "@changesets/read": "^0.6.5", + "@changesets/should-skip-package": "^0.1.2", + "@changesets/types": "^6.1.0", + "@changesets/write": "^0.4.0", + "@inquirer/external-editor": "^1.0.0", "@manypkg/get-packages": "^1.1.3", "ansi-colors": "^4.1.3", "ci-info": "^3.7.0", - "enquirer": "^2.3.0", - "external-editor": "^3.1.0", + "enquirer": "^2.4.1", "fs-extra": "^7.0.1", "mri": "^1.2.0", "p-limit": "^2.2.0", @@ -738,6 +745,20 @@ "changeset": "bin.js" } }, + "node_modules/@changesets/cli/node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/@changesets/cli/node_modules/fs-extra": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", @@ -795,15 +816,16 @@ } }, "node_modules/@changesets/config": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.4.tgz", - "integrity": "sha512-+DiIwtEBpvvv1z30f8bbOsUQGuccnZl9KRKMM/LxUHuDu5oEjmN+bJQ1RIBKNJjfYMQn8RZzoPiX0UgPaLQyXw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.1.1.tgz", + "integrity": "sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==", "dev": true, + "license": "MIT", "dependencies": { "@changesets/errors": "^0.2.0", - "@changesets/get-dependents-graph": "^2.1.2", + "@changesets/get-dependents-graph": "^2.1.3", "@changesets/logger": "^0.1.1", - "@changesets/types": "^6.0.0", + "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "fs-extra": "^7.0.1", "micromatch": "^4.0.8" @@ -814,6 +836,7 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -828,6 +851,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -837,6 +861,7 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0" } @@ -846,33 +871,36 @@ "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.2.0.tgz", "integrity": "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==", "dev": true, + "license": "MIT", "dependencies": { "extendable-error": "^0.1.5" } }, "node_modules/@changesets/get-dependents-graph": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.2.tgz", - "integrity": "sha512-sgcHRkiBY9i4zWYBwlVyAjEM9sAzs4wYVwJUdnbDLnVG3QwAaia1Mk5P8M7kraTOZN+vBET7n8KyB0YXCbFRLQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.1.3.tgz", + "integrity": "sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==", "dev": true, + "license": "MIT", "dependencies": { - "@changesets/types": "^6.0.0", + "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "picocolors": "^1.1.0", "semver": "^7.5.3" } }, "node_modules/@changesets/get-release-plan": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.5.tgz", - "integrity": "sha512-E6wW7JoSMcctdVakut0UB76FrrN3KIeJSXvB+DHMFo99CnC3ZVnNYDCVNClMlqAhYGmLmAj77QfApaI3ca4Fkw==", + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.13.tgz", + "integrity": "sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==", "dev": true, + "license": "MIT", "dependencies": { - "@changesets/assemble-release-plan": "^6.0.5", - "@changesets/config": "^3.0.4", - "@changesets/pre": "^2.0.1", - "@changesets/read": "^0.6.2", - "@changesets/types": "^6.0.0", + "@changesets/assemble-release-plan": "^6.0.9", + "@changesets/config": "^3.1.1", + "@changesets/pre": "^2.0.2", + "@changesets/read": "^0.6.5", + "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3" } }, @@ -880,13 +908,15 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz", "integrity": "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@changesets/git": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@changesets/git/-/git-3.0.2.tgz", - "integrity": "sha512-r1/Kju9Y8OxRRdvna+nxpQIsMsRQn9dhhAZt94FLDeu0Hij2hnOozW8iqnHBgvu+KdnJppCveQwK4odwfw/aWQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@changesets/git/-/git-3.0.4.tgz", + "integrity": "sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==", "dev": true, + "license": "MIT", "dependencies": { "@changesets/errors": "^0.2.0", "@manypkg/get-packages": "^1.1.3", @@ -900,17 +930,19 @@ "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.1.1.tgz", "integrity": "sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==", "dev": true, + "license": "MIT", "dependencies": { "picocolors": "^1.1.0" } }, "node_modules/@changesets/parse": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.4.0.tgz", - "integrity": "sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.4.1.tgz", + "integrity": "sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==", "dev": true, + "license": "MIT", "dependencies": { - "@changesets/types": "^6.0.0", + "@changesets/types": "^6.1.0", "js-yaml": "^3.13.1" } }, @@ -919,6 +951,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -928,6 +961,7 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -937,13 +971,14 @@ } }, "node_modules/@changesets/pre": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-2.0.1.tgz", - "integrity": "sha512-vvBJ/If4jKM4tPz9JdY2kGOgWmCowUYOi5Ycv8dyLnEE8FgpYYUo1mgJZxcdtGGP3aG8rAQulGLyyXGSLkIMTQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-2.0.2.tgz", + "integrity": "sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==", "dev": true, + "license": "MIT", "dependencies": { "@changesets/errors": "^0.2.0", - "@changesets/types": "^6.0.0", + "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3", "fs-extra": "^7.0.1" } @@ -953,6 +988,7 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -967,6 +1003,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -976,20 +1013,22 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/@changesets/read": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.6.2.tgz", - "integrity": "sha512-wjfQpJvryY3zD61p8jR87mJdyx2FIhEcdXhKUqkja87toMrP/3jtg/Yg29upN+N4Ckf525/uvV7a4tzBlpk6gg==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.6.5.tgz", + "integrity": "sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==", "dev": true, + "license": "MIT", "dependencies": { - "@changesets/git": "^3.0.2", + "@changesets/git": "^3.0.4", "@changesets/logger": "^0.1.1", - "@changesets/parse": "^0.4.0", - "@changesets/types": "^6.0.0", + "@changesets/parse": "^0.4.1", + "@changesets/types": "^6.1.0", "fs-extra": "^7.0.1", "p-filter": "^2.1.0", "picocolors": "^1.1.0" @@ -1000,6 +1039,7 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -1014,6 +1054,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -1023,35 +1064,39 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/@changesets/should-skip-package": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@changesets/should-skip-package/-/should-skip-package-0.1.1.tgz", - "integrity": "sha512-H9LjLbF6mMHLtJIc/eHR9Na+MifJ3VxtgP/Y+XLn4BF7tDTEN1HNYtH6QMcjP1uxp9sjaFYmW8xqloaCi/ckTg==", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@changesets/should-skip-package/-/should-skip-package-0.1.2.tgz", + "integrity": "sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==", "dev": true, + "license": "MIT", "dependencies": { - "@changesets/types": "^6.0.0", + "@changesets/types": "^6.1.0", "@manypkg/get-packages": "^1.1.3" } }, "node_modules/@changesets/types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.0.0.tgz", - "integrity": "sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==", - "dev": true + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.1.0.tgz", + "integrity": "sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==", + "dev": true, + "license": "MIT" }, "node_modules/@changesets/write": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.3.2.tgz", - "integrity": "sha512-kDxDrPNpUgsjDbWBvUo27PzKX4gqeKOlhibaOXDJA6kuBisGqNHv/HwGJrAu8U/dSf8ZEFIeHIPtvSlZI1kULw==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.4.0.tgz", + "integrity": "sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==", "dev": true, + "license": "MIT", "dependencies": { - "@changesets/types": "^6.0.0", + "@changesets/types": "^6.1.0", "fs-extra": "^7.0.1", - "human-id": "^1.0.2", + "human-id": "^4.1.1", "prettier": "^2.7.1" } }, @@ -1060,6 +1105,7 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -1074,6 +1120,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -1083,6 +1130,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -1098,36 +1146,11 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.1", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", @@ -1601,10 +1624,11 @@ } }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1651,10 +1675,11 @@ } }, "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1700,6 +1725,52 @@ "node": ">=10.13.0" } }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", + "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.1", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor/node_modules/chardet": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", + "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@inquirer/external-editor/node_modules/iconv-lite": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", + "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -2239,10 +2310,11 @@ } }, "node_modules/@jest/reporters/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2726,6 +2798,7 @@ "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz", "integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.5.5", "@types/node": "^12.7.1", @@ -2737,13 +2810,15 @@ "version": "12.20.55", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@manypkg/find-root/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -2757,6 +2832,7 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -2771,6 +2847,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -2780,6 +2857,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -2792,6 +2870,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -2807,6 +2886,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -2819,6 +2899,7 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0" } @@ -2828,6 +2909,7 @@ "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz", "integrity": "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/runtime": "^7.5.5", "@changesets/types": "^4.0.1", @@ -2841,13 +2923,15 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.1.0.tgz", "integrity": "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@manypkg/get-packages/node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -2862,6 +2946,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, + "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -2871,6 +2956,7 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4.0.0" } @@ -2915,7 +3001,6 @@ "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-17.3.1.tgz", "integrity": "sha512-MtHlsdErSz0Z1j8j+qAKUafWzMs3XcHgXmJomjUzect1jS/HtmbcDvdMv9GwVtk+67JD+7ca2CWjk2atv6dZdw==", "dev": true, - "peer": true, "dependencies": { "@nx/devkit": "17.3.1" } @@ -2925,7 +3010,6 @@ "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-17.3.1.tgz", "integrity": "sha512-bohZt2rzqCz2ITOpQ6H7sYlHhxn3NftHDz0a0QVVDJojjpak73r8XV0zCk2yUN2T8HdRJVyYLyAqDENl9X48pA==", "dev": true, - "peer": true, "dependencies": { "nx": "17.3.1", "tslib": "^2.3.0" @@ -2939,7 +3023,6 @@ "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-17.3.1.tgz", "integrity": "sha512-E44feT7x/pGTzMWSndjTAoBXvZYEdy2SU99O14LdW7atUK4gv0glKUfyq6nNFULrs6r173WKfJgfmJDL3l78lg==", "dev": true, - "peer": true, "dependencies": { "@nrwl/devkit": "17.3.1", "ejs": "^3.1.7", @@ -2959,7 +3042,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, - "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -2982,7 +3064,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">= 10" } @@ -2999,7 +3080,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">= 10" } @@ -3016,7 +3096,6 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">= 10" } @@ -3033,7 +3112,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10" } @@ -3050,7 +3128,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10" } @@ -3067,7 +3144,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10" } @@ -3084,7 +3160,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10" } @@ -3101,7 +3176,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10" } @@ -3118,7 +3192,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">= 10" } @@ -3135,7 +3208,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">= 10" } @@ -3503,6 +3575,7 @@ "resolved": "https://registry.npmjs.org/@ton/core/-/core-0.60.1.tgz", "integrity": "sha512-8FwybYbfkk57C3l9gvnlRhRBHbLYmeu0LbB1z9N+dhDz0Z+FJW8w0TJlks8CgHrAFxsT3FlR2LsqFnsauMp38w==", "license": "MIT", + "peer": true, "dependencies": { "symbol.inspect": "1.0.1" }, @@ -3514,6 +3587,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/@ton/crypto/-/crypto-3.3.0.tgz", "integrity": "sha512-/A6CYGgA/H36OZ9BbTaGerKtzWp50rg67ZCH2oIjV1NcrBaCK9Z343M+CxedvM7Haf3f/Ee9EhxyeTp0GKMUpA==", + "peer": true, "dependencies": { "@ton/crypto-primitives": "2.1.0", "jssha": "3.2.0", @@ -3546,38 +3620,6 @@ "@ton/crypto": ">=3.2.0" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -3668,6 +3710,13 @@ "pretty-format": "^29.0.0" } }, + "node_modules/@types/js-yaml": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", @@ -3742,6 +3791,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz", "integrity": "sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==", "dev": true, + "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", "@typescript-eslint/scope-manager": "6.20.0", @@ -3777,6 +3827,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.20.0.tgz", "integrity": "sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "6.20.0", "@typescript-eslint/types": "6.20.0", @@ -4030,7 +4081,6 @@ "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", "dev": true, - "peer": true, "dependencies": { "js-yaml": "^3.10.0", "tslib": "^2.4.0" @@ -4044,7 +4094,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "peer": true, "dependencies": { "sprintf-js": "~1.0.2" } @@ -4054,7 +4103,6 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "peer": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -4068,7 +4116,6 @@ "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz", "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==", "dev": true, - "peer": true, "dependencies": { "argparse": "^2.0.1" }, @@ -4081,6 +4128,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -4097,20 +4145,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", - "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/add-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", @@ -4196,14 +4230,6 @@ "node": ">= 8" } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/argparse": { "version": "2.0.1", "dev": true, @@ -4346,23 +4372,14 @@ "version": "3.2.5", "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", - "dev": true, - "peer": true + "dev": true }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true, - "engines": { - "node": ">= 4.0.0" - } + "license": "MIT" }, "node_modules/available-typed-arrays": { "version": "1.0.6", @@ -4377,14 +4394,14 @@ } }, "node_modules/axios": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", - "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", + "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", "dev": true, "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", + "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, @@ -4605,6 +4622,7 @@ "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz", "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==", "dev": true, + "license": "MIT", "dependencies": { "is-windows": "^1.0.0" }, @@ -4624,10 +4642,11 @@ } }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -4663,6 +4682,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001580", "electron-to-chromium": "^1.4.648", @@ -4766,6 +4786,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/call-me-maybe": { "version": "1.0.2", "dev": true, @@ -4962,6 +4996,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -5352,14 +5387,6 @@ "node": ">=8" } }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -5480,7 +5507,6 @@ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, - "peer": true, "engines": { "node": ">=8" } @@ -5507,6 +5533,7 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -5534,17 +5561,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/diff-sequences": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", @@ -5595,7 +5611,6 @@ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.2.tgz", "integrity": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==", "dev": true, - "peer": true, "engines": { "node": ">=12" }, @@ -5608,17 +5623,30 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", "dev": true, - "peer": true, "engines": { "node": ">=12" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true, - "peer": true + "dev": true }, "node_modules/eastasianwidth": { "version": "0.2.0", @@ -5631,7 +5659,6 @@ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, - "peer": true, "dependencies": { "jake": "^10.8.5" }, @@ -5676,7 +5703,6 @@ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, - "peer": true, "dependencies": { "once": "^1.4.0" } @@ -5763,22 +5789,57 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-module-lexer": { - "version": "1.6.0", + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.6.0", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", "dev": true, "license": "MIT" }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -5822,6 +5883,7 @@ "dev": true, "hasInstallScript": true, "license": "MIT", + "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -5877,6 +5939,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", "dev": true, + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -5975,6 +6038,7 @@ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, + "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -6033,6 +6097,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, + "peer": true, "dependencies": { "array-includes": "^3.1.7", "array.prototype.findlastindex": "^1.2.3", @@ -6060,10 +6125,11 @@ } }, "node_modules/eslint-plugin-import/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6215,10 +6281,11 @@ } }, "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6458,7 +6525,8 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz", "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/external-editor": { "version": "3.1.0", @@ -6593,7 +6661,6 @@ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dev": true, - "peer": true, "dependencies": { "minimatch": "^5.0.1" } @@ -6603,7 +6670,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "peer": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -6653,7 +6719,6 @@ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "peer": true, "bin": { "flat": "cli.js" } @@ -6673,10 +6738,11 @@ } }, "node_modules/flat-cache/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6793,13 +6859,16 @@ } }, "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", "dev": true, + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", "mime-types": "^2.1.12" }, "engines": { @@ -6810,15 +6879,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true, - "peer": true + "dev": true }, "node_modules/fs-extra": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, - "peer": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -6902,15 +6969,25 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, + "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6925,6 +7002,20 @@ "node": ">=8.0.0" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -7083,12 +7174,13 @@ } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" + "license": "MIT", + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -7161,10 +7253,11 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -7173,10 +7266,14 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.1.tgz", - "integrity": "sha512-6J4rC9ROz0UkOpjn0BRtSSqlewDTDYJNQvy8N8RSrPCduUWId1o9BQPEVII/KKBqRk/ZIQff1YbRkUDCH2N5Sg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, "engines": { "node": ">= 0.4" }, @@ -7185,10 +7282,11 @@ } }, "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -7229,10 +7327,14 @@ "license": "MIT" }, "node_modules/human-id": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz", - "integrity": "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==", - "dev": true + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/human-id/-/human-id-4.1.2.tgz", + "integrity": "sha512-v/J+4Z/1eIJovEBdlV5TYj1IR+ZiohcYGRY+qN/oC9dAfKzVT023N/Bgw37hrKCoVRBvk3bqyzpr2PP5YeTMSg==", + "dev": true, + "license": "MIT", + "bin": { + "human-id": "dist/cli.js" + } }, "node_modules/human-signals": { "version": "2.1.0", @@ -7729,6 +7831,7 @@ "resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz", "integrity": "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==", "dev": true, + "license": "MIT", "dependencies": { "better-path-resolve": "1.0.0" }, @@ -7807,6 +7910,7 @@ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7945,7 +8049,6 @@ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "dev": true, - "peer": true, "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", @@ -7964,7 +8067,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -7976,11 +8078,11 @@ } }, "node_modules/jake/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7991,7 +8093,6 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8008,7 +8109,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -8020,15 +8120,13 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true + "dev": true }, "node_modules/jake/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "peer": true, "engines": { "node": ">=8" } @@ -8038,7 +8136,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "peer": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -8051,7 +8148,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -8064,6 +8160,7 @@ "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, + "peer": true, "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -8364,10 +8461,11 @@ } }, "node_modules/jest-config/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -9176,10 +9274,11 @@ } }, "node_modules/jest-runtime/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -9714,6 +9813,8 @@ }, "node_modules/js-yaml": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "license": "MIT", "dependencies": { @@ -9798,8 +9899,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true, - "peer": true + "dev": true }, "node_modules/jsonfile": { "version": "6.1.0", @@ -9964,7 +10064,8 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/log-symbols": { "version": "4.1.0", @@ -10109,6 +10210,16 @@ "tmpl": "1.0.5" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/meow": { "version": "12.1.1", "resolved": "https://registry.npmjs.org/meow/-/meow-12.1.1.tgz", @@ -10154,6 +10265,7 @@ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -10163,6 +10275,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -10332,8 +10445,7 @@ "version": "1.1.12", "resolved": "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz", "integrity": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==", - "dev": true, - "peer": true + "dev": true }, "node_modules/node-readfiles": { "version": "0.2.0", @@ -10391,7 +10503,6 @@ "integrity": "sha512-D7moIq+0D9WSjQmkVsce7GxKF603XASGBTApX6+fAdl2KN3aGG8zPlOEE55sVT0/OsdHeoHXPmydL/egTpG2WQ==", "dev": true, "hasInstallScript": true, - "peer": true, "dependencies": { "@nrwl/tao": "17.3.1", "@yarnpkg/lockfile": "^1.1.0", @@ -10462,7 +10573,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -10478,7 +10588,6 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10495,7 +10604,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -10507,15 +10615,13 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true + "dev": true }, "node_modules/nx/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "peer": true, "engines": { "node": ">=8" } @@ -10525,7 +10631,6 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "peer": true, "bin": { "json5": "lib/cli.js" }, @@ -10538,7 +10643,6 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", "dev": true, - "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } @@ -10548,7 +10652,6 @@ "resolved": "https://registry.npmjs.org/ora/-/ora-5.3.0.tgz", "integrity": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==", "dev": true, - "peer": true, "dependencies": { "bl": "^4.0.3", "chalk": "^4.1.0", @@ -10571,7 +10674,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, - "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -10587,7 +10689,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -10600,7 +10701,6 @@ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, - "peer": true, "dependencies": { "json5": "^2.2.2", "minimist": "^1.2.6", @@ -10809,7 +10909,6 @@ "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, - "peer": true, "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -10945,13 +11044,15 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz", "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/p-filter": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", "dev": true, + "license": "MIT", "dependencies": { "p-map": "^2.0.0" }, @@ -10994,6 +11095,7 @@ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -11042,25 +11144,25 @@ } }, "node_modules/patch-package": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz", - "integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz", + "integrity": "sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==", "dev": true, + "license": "MIT", "dependencies": { "@yarnpkg/lockfile": "^1.1.0", "chalk": "^4.1.2", "ci-info": "^3.7.0", "cross-spawn": "^7.0.3", "find-yarn-workspace-root": "^2.0.0", - "fs-extra": "^9.0.0", + "fs-extra": "^10.0.0", "json-stable-stringify": "^1.0.2", "klaw-sync": "^6.0.0", "minimist": "^1.2.6", "open": "^7.4.2", - "rimraf": "^2.6.3", "semver": "^7.5.3", "slash": "^2.0.0", - "tmp": "^0.0.33", + "tmp": "^0.2.4", "yaml": "^2.2.2" }, "bin": { @@ -11086,16 +11188,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/patch-package/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/patch-package/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -11131,39 +11223,18 @@ "dev": true }, "node_modules/patch-package/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, + "license": "MIT", "dependencies": { - "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/patch-package/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=12" } }, "node_modules/patch-package/node_modules/has-flag": { @@ -11175,18 +11246,6 @@ "node": ">=8" } }, - "node_modules/patch-package/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/patch-package/node_modules/open": { "version": "7.4.2", "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", @@ -11203,19 +11262,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/patch-package/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/patch-package/node_modules/slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", @@ -11237,18 +11283,6 @@ "node": ">=8" } }, - "node_modules/patch-package/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/patch-package/node_modules/yaml": { "version": "2.4.5", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", @@ -11367,6 +11401,7 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -11464,6 +11499,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", @@ -11487,6 +11523,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", "dev": true, + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -11809,6 +11846,7 @@ "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz", "integrity": "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==", "dev": true, + "license": "MIT", "dependencies": { "graceful-fs": "^4.1.5", "js-yaml": "^3.6.1", @@ -11824,6 +11862,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -11833,6 +11872,7 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -11877,12 +11917,6 @@ "url": "https://github.com/Mermade/oas-kit?sponsor=1" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true - }, "node_modules/regexp.prototype.flags": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", @@ -12356,6 +12390,7 @@ "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-3.0.1.tgz", "integrity": "sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==", "dev": true, + "license": "SEE LICENSE IN LICENSE", "dependencies": { "cross-spawn": "^7.0.5", "signal-exit": "^4.0.1" @@ -12366,6 +12401,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -12609,7 +12645,6 @@ "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", "dev": true, - "peer": true, "dependencies": { "duplexer": "^0.1.1", "minimist": "^1.2.0", @@ -12753,7 +12788,6 @@ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dev": true, - "peer": true, "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -12798,10 +12832,11 @@ } }, "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -12899,14 +12934,14 @@ "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz", - "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==", + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "license": "MIT", "dependencies": { - "fdir": "^6.4.3", - "picomatch": "^4.0.2" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { "node": ">=12.0.0" @@ -12916,11 +12951,14 @@ } }, "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", - "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, "peerDependencies": { "picomatch": "^3 || ^4" }, @@ -12931,11 +12969,12 @@ } }, "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -12974,77 +13013,13 @@ } }, "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "peer": true, - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/tmp/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/tmp/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "peer": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/tmp/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", "dev": true, - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "license": "MIT", "engines": { - "node": "*" - } - }, - "node_modules/tmp/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "peer": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=14.14" } }, "node_modules/tmpl": { @@ -13156,51 +13131,6 @@ "node": ">=6" } }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, "node_modules/tsconfig-paths": { "version": "3.15.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", @@ -13360,20 +13290,6 @@ "webidl-conversions": "^4.0.2" } }, - "node_modules/tsup/node_modules/yaml": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", - "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/tsx": { "version": "4.19.3", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz", @@ -13604,6 +13520,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true, + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -13709,14 +13626,6 @@ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/v8-to-istanbul": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", @@ -13764,16 +13673,51 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/vite-node/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite-node/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/vite-node/node_modules/vite": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.3.tgz", - "integrity": "sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", + "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", "postcss": "^8.5.3", - "rollup": "^4.30.1" + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" }, "bin": { "vite": "bin/vite.js" @@ -13836,21 +13780,6 @@ } } }, - "node_modules/vite-node/node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/vitest": { "version": "3.0.9", "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.0.9.tgz", @@ -13948,16 +13877,52 @@ } } }, + "node_modules/vitest/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/vitest/node_modules/vite": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.3.tgz", - "integrity": "sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", + "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", "postcss": "^8.5.3", - "rollup": "^4.30.1" + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" }, "bin": { "vite": "bin/vite.js" @@ -14020,21 +13985,6 @@ } } }, - "node_modules/vitest/node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", @@ -14322,17 +14272,6 @@ "node": ">=12" } }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -14362,7 +14301,9 @@ "core-js-pure": "^3.38.0" }, "devDependencies": { + "@types/js-yaml": "^4.0.9", "@types/node": "^20.14.2", + "js-yaml": "^4.1.0", "lodash": "^4.17.21", "patch-package": "^8.0.0", "rimraf": "^5.0.7", @@ -14454,7 +14395,7 @@ }, "packages/ton-adapter": { "name": "@ton-api/ton-adapter", - "version": "0.4.0", + "version": "0.4.1", "license": "MIT", "devDependencies": { "@ton-api/client": "^0.4.0", diff --git a/package.json b/package.json index 9e8d939..37f9dff 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,22 @@ { "name": "ton-api", "private": true, - "version": "0.4.0", + "version": "0.5.0-alpha.6", "type": "module", "scripts": { "postinstall": "patch-package", "test": "vitest run tests/", "test:client": "vitest run tests/client", "test:adapters": "vitest run tests/adapters", + "test:integration": "INTEGRATION=true vitest run tests/client/integration.test.ts", "test:watch": "vitest", "build": "turbo run build", "build:client": "turbo run build --filter=@ton-api/client", "build:adapters": "turbo run build --filter=@ton-api/ton-adapter", "build:watch": "turbo run build:watch", + "typecheck": "npm run typecheck:tests && turbo run typecheck", + "typecheck:tests": "tsc --noEmit", + "typecheck:client": "turbo run typecheck --filter=@ton-api/client", "lint": "turbo run lint", "lint:fix": "turbo run lint:fix", "clean": "turbo run clean && rimraf node_modules" diff --git a/packages/client/README.md b/packages/client/README.md index 9d23e92..04d6b56 100644 --- a/packages/client/README.md +++ b/packages/client/README.md @@ -2,121 +2,576 @@ ## Overview -`@ton-api/client` is an automatically generated SDK that provides seamless access to the endpoints offered by [tonapi.io](https://tonapi.io). This client is specifically designed to integrate with the TON blockchain, offering type-safe interactions and full compatibility with @ton/core library. +`@ton-api/client` is an automatically generated SDK that provides seamless access to the endpoints +offered by [tonapi.io](https://tonapi.io). This client is specifically designed to integrate with +the TON blockchain, offering type-safe interactions and full compatibility with @ton/core library. ## Documentation -For a detailed view of all methods and endpoints in a Swagger format, refer to the [Swagger documentation](https://tonapi.io/api-v2) -For detailed API information and endpoint descriptions, please refer to the [official documentation](https://docs.tonconsole.com/tonapi/rest-api) or check the [Swagger UI](https://tonapi.io/api-v2) for an interactive method list. +For detailed API information and endpoint descriptions, please refer to: -For usage examples, check the [TonAPI Cookbook](https://docs.tonconsole.com/tonapi/cookbook). +- [Official TonAPI Documentation](https://docs.tonconsole.com/tonapi/rest-api) +- [Swagger UI](https://tonapi.io/api-v2) - Interactive API explorer +- [TonAPI Cookbook](https://docs.tonconsole.com/tonapi/cookbook) - Usage examples and recipes ## Features -- Full coverage of tonapi.io endpoints -- Type-safe interactions with the API -- Seamless integration with `@ton/core` - +- Full coverage of tonapi.io endpoints +- Type-safe interactions with the API +- Seamless integration with `@ton/core` +- Tree-shakeable imports for optimal bundle size +- Structured error handling with `{ data, error }` pattern +- Support for multiple client instances -Additionally, [`@ton-api/ton-adapter`](https://www.npmjs.com/package/@ton-api/ton-adapter) enables users to work with contracts written for `@ton/ton` through `@ton-api/client`, ensuring seamless integration while maintaining their existing code structure. +Additionally, [`@ton-api/ton-adapter`](https://www.npmjs.com/package/@ton-api/ton-adapter) enables +users to work with contracts written for `@ton/ton` through `@ton-api/client`, ensuring seamless +integration while maintaining their existing code structure. ## Prerequisites To use this SDK, you need to: 1. Set up an account at [tonconsole.com](https://tonconsole.com/) -2. Obtain an API key for authentication +2. Obtain an API key for authentication (optional for public endpoints, required for higher rate + limits) ## Installation Install the package and its peer dependencies using npm, yarn, or pnpm: ```sh -npm install @ton-api/client @ton/core -# or -yarn add @ton-api/client @ton/core -# or -pnpm add @ton-api/client @ton/core +npm install @ton-api/client @ton/core buffer ``` +> Note: `@ton/core` is a peer dependency and needs to be installed separately. + +**Browser polyfill** + +```js +// Add before using library +require('buffer'); +``` + +> **Buffer** polyfill is also required for work `@ton/core` on frontend projects. + ## Quick Start -Here's a basic example to get you started: +Initialize the client and start making requests: -```javascript -import { TonApiClient } from '@ton-api/client'; +```typescript +import { initClient, getAccount } from '@ton-api/client'; import { Address } from '@ton/core'; -// Initialize the TonApi -const ta = new TonApiClient({ +// Initialize the default client +initClient({ baseUrl: 'https://tonapi.io', - apiKey: 'YOUR_API_KEY' + apiKey: 'YOUR_API_KEY' // Optional, but recommended for production +}); + +// Make requests using { data, error } pattern +const address = Address.parse('EQApwowlR6X54bXoso6orKCzCNm9ily8pAFy5vTwmsQ2Wqin'); +const { data, error } = await getAccount({ + path: { accountId: address } }); -// Use the API -async function fetchAccountEvents() { - const address = Address.parse('YOUR_ADDRESS_HERE'); - const events = await ta.accounts.getAccountEvents(address, { limit: 50 }) - - console.log('Account events:', events) +if (error) { + console.error('Error:', error.message); + return; } -fetchAccountEvents(); +console.log('Account balance:', data.balance); ``` -## Documentation +## Usage Examples -For detailed API information and endpoint descriptions, please refer to the [official documentation](https://docs.tonconsole.com/tonapi). +### Fetching Account Information -## Usage Examples +```typescript +import { initClient, getAccount } from '@ton-api/client'; +import { Address } from '@ton/core'; + +initClient({ baseUrl: 'https://tonapi.io' }); + +const address = Address.parse('EQApwowlR6X54bXoso6orKCzCNm9ily8pAFy5vTwmsQ2Wqin'); +const { data, error } = await getAccount({ + path: { accountId: address } +}); + +if (error) { + console.error('Failed to fetch account:', error.message); + return; +} + +console.log('Address:', data.address); +console.log('Balance:', data.balance); +console.log('Is active:', data.status === 'active'); +``` + +### Working with Multiple Accounts + +```typescript +import { getAccounts } from '@ton-api/client'; +import { Address } from '@ton/core'; + +const addresses = [ + Address.parse('EQApwowlR6X54bXoso6orKCzCNm9ily8pAFy5vTwmsQ2Wqin'), + Address.parse('EQCA14o1-VWhS2efqoh_9M1b_A9DtKTuoqfmkn83AbJzwnPi') +]; + +// Pass addresses in body +const { data, error } = await getAccounts({ + body: { accountIds: addresses } +}); + +if (error) { + console.error('Error:', error.message); + return; +} + +console.log('Accounts:', data.accounts); +``` + +### Using Query Parameters + +```typescript +import { getAccounts } from '@ton-api/client'; + +const addresses = [Address.parse('EQApwowlR6X54bXoso6orKCzCNm9ily8pAFy5vTwmsQ2Wqin')]; + +// Pass both body and query parameters +const { data, error } = await getAccounts({ + body: { accountIds: addresses }, + query: { currency: 'usd' } +}); + +if (error) { + console.error('Error:', error.message); + return; +} + +console.log('Accounts with USD prices:', data.accounts); +``` ### Fetching NFT Collection -```javascript -const collectionAddress = Address.parse('COLLECTION_ADDRESS_HERE'); +```typescript +import { getNftCollection } from '@ton-api/client'; +import { Address } from '@ton/core'; + +const collectionAddress = Address.parse('EQCA14o1-VWhS2efqoh_9M1b_A9DtKTuoqfmkn83AbJzwnPi'); +const { data, error } = await getNftCollection({ + path: { accountId: collectionAddress } +}); + +if (error) { + console.error('Error:', error.message); + return; +} -ta.nft.getNftCollection(collectionAddress) - .then(collection => console.log('NFT Collection:', collection)) - .catch(error => console.error('Error fetching NFT collection:', error)); +console.log('Collection name:', data.metadata?.name); +console.log('Total items:', data.nextItemIndex); ``` ### Getting Jetton Information -```javascript -const jettonAddress = Address.parse('JETTON_ADDRESS_HERE'); +```typescript +import { getJettonInfo } from '@ton-api/client'; +import { Address } from '@ton/core'; + +const jettonAddress = Address.parse('EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs'); +const { data, error } = await getJettonInfo({ + path: { accountId: jettonAddress } +}); -ta.jettons.getJettonInfo(jettonAddress) - .then(jetton => console.log('Jetton Info:', jetton)) - .catch(error => console.error('Error fetching jetton info:', error)); +if (error) { + console.error('Error:', error.message); + return; +} + +console.log('Jetton name:', data.metadata?.name); +console.log('Symbol:', data.metadata?.symbol); +console.log('Total supply:', data.totalSupply); ``` -### Send message to blockchain +### Using Address as String + +You can pass addresses as `Address` objects or as strings: + +```typescript +import { getAccount } from '@ton-api/client'; +import { Address } from '@ton/core'; + +// Using Address object +const addressObject = Address.parse('EQApwowlR6X54bXoso6orKCzCNm9ily8pAFy5vTwmsQ2Wqin'); +const { data } = await getAccount({ + path: { accountId: addressObject } +}); + +// Using string directly +const { data: data2 } = await getAccount({ + path: { accountId: 'EQApwowlR6X54bXoso6orKCzCNm9ily8pAFy5vTwmsQ2Wqin' } +}); +``` + +> **Note:** When passing address/cell strings, invalid format will result in +> `TonApiValidationError`. When passing `Address` objects, this validation error won't occur. + +## Error Handling + +By default, all methods return `{ data, error }` structure. This is the recommended way to handle +errors: + +```typescript +import { getAccount } from '@ton-api/client'; +import { Address } from '@ton/core'; -```javascript +const address = Address.parse('EQApwowlR6X54bXoso6orKCzCNm9ily8pAFy5vTwmsQ2Wqin'); +const { data, error } = await getAccount({ + path: { accountId: address } +}); + +if (error) { + // Handle error + console.error('Error:', error.message); + return; +} + +// TypeScript knows data is defined here +console.log('Balance:', data.balance); +``` + +### Error Types + +The SDK provides specific error types for different scenarios: + +```typescript +import { + getAccount, + TonApiHttpError, + TonApiNetworkError, + TonApiValidationError, + TonApiParsingError +} from '@ton-api/client'; + +const { data, error } = await getAccount({ + path: { accountId: address } +}); + +if (error) { + // Check specific error type + if (error instanceof TonApiValidationError) { + // Client-side validation error (invalid address/cell string) + console.error('Validation error:', error.validationType); // 'Address' or 'Cell' + console.error('Invalid input:', error.invalidInput); + } else if (error instanceof TonApiHttpError) { + // HTTP error from TonAPI (4xx, 5xx) + console.error('HTTP', error.status, error.code); + console.error('URL:', error.url); + } else if (error instanceof TonApiNetworkError) { + // Network error (connection failed, timeout) + console.error('Network error:', error.message); + console.error('Cause:', error.originalCause); + } else if (error instanceof TonApiParsingError) { + // SDK parsing error (unexpected API response format) + console.error('Parsing error:', error.parsingType); + console.error('Response:', error.response); + } + + // Or use discriminated union + switch (error.type) { + case 'validation_error': + console.log('Invalid', error.validationType, 'input:', error.invalidInput); + break; + case 'http_error': + console.log('HTTP', error.status, error.code); + break; + case 'network_error': + console.log('Network issue:', error.message); + break; + case 'parsing_error': + console.log('Parsing failed for', error.parsingType); + break; + } +} +``` + +### Using `throwOnError` Option + +If you prefer exceptions instead of `{ data, error }`, use `throwOnError: true`: + +```typescript +import { getAccount } from '@ton-api/client'; + +// This will throw an exception on error instead of returning { data, error } +const data = await getAccount({ + path: { accountId: address }, + throwOnError: true +}).catch(error => { + console.error('Error:', error.message); + return null; +}); + +console.log('Balance:', data?.balance); +``` + +## Sending Transactions + +```typescript +import { sendBlockchainMessage } from '@ton-api/client'; import { beginCell, external, storeMessage, Address } from '@ton/core'; -const accountAddress = Address.parse('JETTON_ADDRESS_HERE'); -const exampleMessage = beginCell() - .storeUint(0, 64) - .endCell(); - +const accountAddress = Address.parse('EQApwowlR6X54bXoso6orKCzCNm9ily8pAFy5vTwmsQ2Wqin'); + +// Create your message (example) +const messageBody = beginCell().storeUint(0, 64).endCell(); const messageBoc = beginCell() .store( storeMessage( external({ - to: address, - body: exampleMessage + to: accountAddress, + body: messageBody }) ) ) .endCell(); -ta.blockchain.sendBlockchainMessage({ - boc: messageBoc +// Send the message +const { data, error } = await sendBlockchainMessage({ + body: { boc: messageBoc } }); + +if (error) { + console.error('Failed to send message:', error.message); + return; +} + +console.log('Message sent successfully'); ``` +## Using Multiple Clients + +You can use methods with different client instances by passing the `client` option: + +```typescript +import { initClient, getAccount, TonApiClient } from '@ton-api/client'; +import { Address } from '@ton/core'; + +// Initialize default client for mainnet +initClient({ + baseUrl: 'https://tonapi.io', + apiKey: 'YOUR_API_KEY' +}); + +// Create a separate client for testnet +const testnetClient = new TonApiClient({ + baseUrl: 'https://testnet.tonapi.io', + apiKey: 'YOUR_API_KEY' +}); + +const address = Address.parse('EQApwowlR6X54bXoso6orKCzCNm9ily8pAFy5vTwmsQ2Wqin'); + +// Use default client (mainnet) +const { data: mainnetData } = await getAccount({ + path: { accountId: address } +}); + +// Use testnet client for specific call +const { data: testnetData } = await getAccount({ + client: testnetClient, + path: { accountId: address } +}); +``` + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +## Alternative: Instance API + +If you prefer object-oriented approach or need complete isolation between client instances, you can +use the Instance API. Instance API uses positional parameters instead of options objects. + +```typescript +import { TonApiClient } from '@ton-api/client'; +import { Address } from '@ton/core'; + +// Create a client instance +const tonapi = new TonApiClient({ + baseUrl: 'https://tonapi.io', + apiKey: 'YOUR_API_KEY' +}); + +// Use instance methods with positional parameters +const address = Address.parse('EQApwowlR6X54bXoso6orKCzCNm9ily8pAFy5vTwmsQ2Wqin'); +const account = await tonapi.getAccount(address); + +console.log('Account balance:', account.balance); +``` + +### When to Use Instance API + +Use the Instance API when you need: + +- **Multiple clients with different configurations** + + ```typescript + const mainnet = new TonApiClient({ + baseUrl: 'https://tonapi.io', + apiKey: 'KEY1' + }); + const testnet = new TonApiClient({ + baseUrl: 'https://testnet.tonapi.io', + apiKey: 'KEY2' + }); + + const mainnetAccount = await mainnet.getAccount(address); + const testnetAccount = await testnet.getAccount(address); + ``` + +- **Dependency injection in large applications** + + ```typescript + class AccountService { + constructor(private tonapi: TonApiClient) {} + + async getBalance(address: Address) { + const account = await this.tonapi.getAccount(address); + return account.balance; + } + } + + const service = new AccountService(tonapi); + ``` + +- **Complete state isolation** + ```typescript + // Each instance is completely independent + const client1 = new TonApiClient({ baseUrl: 'https://tonapi.io' }); + const client2 = new TonApiClient({ baseUrl: 'https://tonapi.io' }); + ``` + +### Instance API Examples + +#### Fetching Accounts with Query Parameters + +```typescript +const tonapi = new TonApiClient({ baseUrl: 'https://tonapi.io' }); + +const addresses = [ + Address.parse('EQApwowlR6X54bXoso6orKCzCNm9ily8pAFy5vTwmsQ2Wqin'), + Address.parse('EQCA14o1-VWhS2efqoh_9M1b_A9DtKTuoqfmkn83AbJzwnPi') +]; + +// Parameters: data, query, params +const accounts = await tonapi.getAccounts( + { accountIds: addresses }, // data (body) + { currency: 'usd' } // query parameters +); + +console.log('Accounts:', accounts.accounts); +``` + +#### Executing Contract Methods + +```typescript +import { execGetMethodForBlockchainAccount } from '@ton-api/client'; + +const tonapi = new TonApiClient({ baseUrl: 'https://tonapi.io' }); + +const jettonMaster = Address.parse('EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs'); +const walletAddress = Address.parse('EQApwowlR6X54bXoso6orKCzCNm9ily8pAFy5vTwmsQ2Wqin'); + +const result = await tonapi.execGetMethodForBlockchainAccount(jettonMaster, 'get_wallet_address', { + args: [walletAddress.toRawString()] +}); + +console.log('Jetton wallet:', result.decoded.jetton_wallet_address); +``` + +### Error Handling with Instance API + +Instance API throws exceptions on errors, so use `.catch()` for error handling. + +**Advantage**: The Instance API provides **typed `.catch()`** - TypeScript knows the error type is +`TonApiError`, not `unknown`! Error typing is preserved even through `.then()` and `.finally()` +chains. + +```typescript +const tonapi = new TonApiClient({ baseUrl: 'https://tonapi.io' }); + +// Error typing is preserved through Promise chains +const account = await tonapi + .getAccount(address) + .then(acc => { + console.log('Fetched account'); + return acc; + }) + .catch(error => { + // ✨ TypeScript knows error is TonApiError (not unknown)! + // You get autocomplete for error.message, error.type, etc. + + if (error instanceof TonApiValidationError) { + console.error('Invalid address:', error.invalidInput); + } else if (error instanceof TonApiHttpError) { + console.error('HTTP Error:', error.status, error.code); + } else if (error instanceof TonApiNetworkError) { + console.error('Network Error:', error.message); + } + return null; + }); + +if (account) { + console.log('Balance:', account.balance); +} +``` + +> **Note**: With the Advanced API using `throwOnError: true`, the `.catch()` error is `unknown` +> (standard Promise behavior). For typed error handling in `.catch()`, use the Instance API instead. + +## Advanced Features + +For more advanced use cases, check out the examples in our repository: + +- **[Transaction Emulation](https://github.com/tonkeeper/tonapi-js/blob/main/examples/emulate.ts)** - + Emulate transactions before sending +- **[Gasless Transfers](https://github.com/tonkeeper/tonapi-js/blob/main/examples/gasless.ts)** - + Send jettons without TON for gas +- **[Transaction Tracking](https://github.com/tonkeeper/tonapi-js/blob/main/examples/track-transaction.ts)** - + Track transaction status by hash +- **[Sending TON](https://github.com/tonkeeper/tonapi-js/blob/main/examples/send-ton.ts)** - + Complete example with wallet integration +- **[Sending Jettons](https://github.com/tonkeeper/tonapi-js/blob/main/examples/send-jetton.ts)** - + Transfer jetton tokens + +## Working with Contracts + +For advanced contract interactions, use +[`@ton-api/ton-adapter`](https://www.npmjs.com/package/@ton-api/ton-adapter): + +```typescript +import { TonApiClient } from '@ton-api/client'; +import { ContractAdapter } from '@ton-api/ton-adapter'; +import { WalletContractV5R1 } from '@ton/ton'; + +const tonapi = new TonApiClient({ baseUrl: 'https://tonapi.io' }); +const adapter = new ContractAdapter(tonapi); + +const wallet = WalletContractV5R1.create({ + workchain: 0, + publicKey: keyPair.publicKey +}); +const contract = adapter.open(wallet); + +const seqno = await contract.getSeqno(); +``` + +## API Reference + +For a complete list of available methods and their parameters, refer to: + +- [Swagger UI](https://tonapi.io/api-v2) - Interactive API documentation +- [TonAPI Documentation](https://docs.tonconsole.com/tonapi) - Detailed guides and examples +- [GitHub Repository](https://github.com/tonkeeper/tonapi-js) - Source code and examples + ## License MIT diff --git a/packages/client/package.json b/packages/client/package.json index adf950e..75291e4 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@ton-api/client", - "version": "0.4.0", + "version": "0.5.0-alpha.6", "description": "Autogenerated SDK for tonapi.io", "keywords": [ "TON", @@ -32,12 +32,15 @@ }, "scripts": { "build": "npm run clean && npx tsx ./src/generate.ts && npx tsc", + "typecheck": "npx tsc --noEmit", "patch": "npm run build && git diff --quiet || (npm version patch && npm run build)", "prepublishOnly": "npm run build && git diff --quiet || (echo 'Error: Uncommitted changes detected.' && exit 1)", "clean": "rimraf ./dist" }, "devDependencies": { + "@types/js-yaml": "^4.0.9", "@types/node": "^20.14.2", + "js-yaml": "^4.1.0", "lodash": "^4.17.21", "patch-package": "^8.0.0", "rimraf": "^5.0.7", diff --git a/packages/client/src/api.yml b/packages/client/src/api.yml index be0f01c..2e8fdf8 100644 --- a/packages/client/src/api.yml +++ b/packages/client/src/api.yml @@ -1,4 +1,4 @@ -openapi: 3.1.0 +openapi: 3.0.0 info: title: REST api to TON blockchain explorer version: 2.0.0 @@ -7,10 +7,9 @@ info: name: Support email: support@tonkeeper.com servers: - - url: "https://tonapi.io" - - url: "https://testnet.tonapi.io" - - url: "http://localhost:8081" - + - url: https://tonapi.io + - url: https://testnet.tonapi.io + - url: http://localhost:8081 tags: - name: Accounts externalDocs: @@ -71,15 +70,11 @@ tags: - name: Lite Server externalDocs: description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/liteserver + url: https://docs.tonconsole.com/tonapi/rest-api/lite-server - name: Emulation externalDocs: description: Additional documentation url: https://docs.tonconsole.com/tonapi/rest-api/emulation - - name: Inscriptions - externalDocs: - description: Additional documentation - url: https://docs.tonconsole.com/tonapi/rest-api/inscriptions - name: Utilities externalDocs: description: Additional documentation @@ -88,7 +83,7 @@ tags: externalDocs: description: Additional documentation url: https://docs.tonconsole.com/tonapi/rest-api/extra-currency - + - name: Purchases paths: /v2/openapi.json: get: @@ -101,8 +96,8 @@ paths: description: openapi.json content: application/json: - schema: { } # Free-form JSON value - 'default': + schema: {} + default: $ref: '#/components/responses/Error' /v2/openapi.yml: get: @@ -118,7 +113,7 @@ paths: schema: type: string format: binary - 'default': + default: $ref: '#/components/responses/Error' /v2/status: get: @@ -133,7 +128,7 @@ paths: application/json: schema: $ref: '#/components/schemas/ServiceStatus' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/reduced/blocks: get: @@ -151,7 +146,7 @@ paths: application/json: schema: $ref: '#/components/schemas/ReducedBlocks' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/blocks/{block_id}: get: @@ -168,7 +163,30 @@ paths: application/json: schema: $ref: '#/components/schemas/BlockchainBlock' - 'default': + default: + $ref: '#/components/responses/Error' + /v2/blockchain/blocks/{block_id}/boc: + get: + description: Download blockchain block BOC + operationId: downloadBlockchainBlockBoc + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/blockchainBlockIDParameter' + responses: + '200': + description: Block BOC file + content: + application/octet-stream: + schema: + type: string + format: binary + headers: + Content-Disposition: + schema: + type: string + example: attachment; filename="block.boc" + default: $ref: '#/components/responses/Error' /v2/blockchain/masterchain/{masterchain_seqno}/shards: get: @@ -185,7 +203,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BlockchainBlockShards' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/masterchain/{masterchain_seqno}/blocks: get: @@ -202,7 +220,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BlockchainBlocks' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/masterchain/{masterchain_seqno}/transactions: get: @@ -219,7 +237,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Transactions' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/masterchain/{masterchain_seqno}/config: get: @@ -236,7 +254,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BlockchainConfig' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/masterchain/{masterchain_seqno}/config/raw: get: @@ -253,7 +271,7 @@ paths: application/json: schema: $ref: '#/components/schemas/RawBlockchainConfig' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/blocks/{block_id}/transactions: get: @@ -270,7 +288,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Transactions' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/transactions/{transaction_id}: get: @@ -287,7 +305,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Transaction' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/messages/{msg_id}/transaction: get: @@ -304,7 +322,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Transaction' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/validators: get: @@ -319,7 +337,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Validators' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/masterchain-head: get: @@ -334,7 +352,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BlockchainBlock' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/accounts/{account_id}: get: @@ -351,7 +369,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BlockchainRawAccount' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/accounts/{account_id}/transactions: get: @@ -363,7 +381,7 @@ paths: - $ref: '#/components/parameters/accountIDParameter' - name: after_lt in: query - description: "omit this parameter to get last transactions" + description: omit this parameter to get last transactions schema: type: integer format: int64 @@ -371,7 +389,7 @@ paths: x-js-format: bigint - name: before_lt in: query - description: "omit this parameter to get last transactions" + description: omit this parameter to get last transactions schema: type: integer format: int64 @@ -390,8 +408,8 @@ paths: in: query schema: type: string - description: "used to sort the result-set in ascending or descending order by lt." - default: "desc" + description: used to sort the result-set in ascending or descending order by lt. + default: desc enum: - desc - asc @@ -402,7 +420,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Transactions' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/accounts/{account_id}/methods/{method_name}: get: @@ -419,28 +437,18 @@ paths: schema: type: array description: |- - Supported values: - "NaN" for NaN type, - "Null" for Null type, - 10-base digits for tiny int type (Example: 100500), - 0x-prefixed hex digits for int257 (Example: 0xfa01d78381ae32), - all forms of addresses for slice type (Example: 0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e), - single-root base64-encoded BOC for cell (Example: "te6ccgEBAQEAAgAAAA=="), - single-root hex-encoded BOC for slice (Example: b5ee9c72010101010002000000) + Array of method arguments in string format. Supported value formats: + - "NaN" for Not-a-Number type + - "Null" for Null type + - Decimal integers for tinyint type (e.g., "100500") + - 0x-prefixed hex strings for int257 type (e.g., "0xfa01d78381ae32") + - TON blockchain addresses for slice type (e.g., "0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e") + - Base64-encoded BOC for cell type (e.g., "te6ccgEBAQEAAgAAAA==") + - Hex-encoded BOC for slice type (e.g., "b5ee9c72010101010002000000") items: type: string - example: [ "0:9a33970f617bcd71acf2cd28357c067aa31859c02820d8f01d74c88063a8f4d8" ] - - name: fix_order - in: query - required: false - schema: - type: boolean - description: |- - A temporary fix to switch to a scheme with direct ordering of arguments. - If equal to false, then the method takes arguments in direct order, - e.g. for get_nft_content(int index, cell individual_content) we pass a list of arguments [index, individual_content]. - If equal to true, then the method takes arguments in reverse order, e.g. [individual_content, index]. - default: true + example: + - 0:9a33970f617bcd71acf2cd28357c067aa31859c02820d8f01d74c88063a8f4d8 responses: '200': description: method execution result @@ -448,7 +456,26 @@ paths: application/json: schema: $ref: '#/components/schemas/MethodExecutionResult' - 'default': + default: + $ref: '#/components/responses/Error' + post: + description: Execute get method for account + operationId: execGetMethodWithBodyForBlockchainAccount + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/methodNameParameter' + requestBody: + $ref: '#/components/requestBodies/ExecGetMethodArgs' + responses: + '200': + description: method execution result + content: + application/json: + schema: + $ref: '#/components/schemas/MethodExecutionResult' + default: $ref: '#/components/responses/Error' /v2/blockchain/message: post: @@ -457,11 +484,11 @@ paths: tags: - Blockchain requestBody: - $ref: "#/components/requestBodies/BatchBoc" + $ref: '#/components/requestBodies/BatchBoc' responses: '200': description: the message has been sent - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/config: get: @@ -476,7 +503,7 @@ paths: application/json: schema: $ref: '#/components/schemas/BlockchainConfig' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/config/raw: get: @@ -491,7 +518,7 @@ paths: application/json: schema: $ref: '#/components/schemas/RawBlockchainConfig' - 'default': + default: $ref: '#/components/responses/Error' /v2/blockchain/accounts/{account_id}/inspect: get: @@ -508,7 +535,24 @@ paths: application/json: schema: $ref: '#/components/schemas/BlockchainAccountInspect' - 'default': + default: + $ref: '#/components/responses/Error' + /v2/blockchain/libraries/{hash}: + get: + description: Get library cell + operationId: getLibraryByHash + tags: + - Blockchain + parameters: + - $ref: '#/components/parameters/hashParameter' + responses: + '200': + description: library cell + content: + application/json: + schema: + $ref: '#/components/schemas/BlockchainLibrary' + default: $ref: '#/components/responses/Error' /v2/address/{account_id}/parse: get: @@ -535,7 +579,7 @@ paths: raw_form: type: string format: address - example: "0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e" + example: 0:6e731f2e28b73539a7f85ac47ca104d5840b229351189977bb6151d36b5e3f5e bounceable: required: - b64 @@ -569,9 +613,9 @@ paths: tags: - Accounts parameters: - - $ref: "#/components/parameters/currencyQuery" + - $ref: '#/components/parameters/currencyQuery' requestBody: - $ref: "#/components/requestBodies/AccountIDs" + $ref: '#/components/requestBodies/AccountIDs' responses: '200': description: a list of accounts @@ -579,7 +623,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Accounts' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}: get: @@ -596,7 +640,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Account' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/dns/backresolve: get: @@ -613,7 +657,7 @@ paths: application/json: schema: $ref: '#/components/schemas/DomainNames' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/jettons: get: @@ -632,7 +676,7 @@ paths: application/json: schema: $ref: '#/components/schemas/JettonsBalances' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/jettons/{jetton_id}: get: @@ -652,7 +696,7 @@ paths: application/json: schema: $ref: '#/components/schemas/JettonBalance' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/jettons/history: get: @@ -662,10 +706,9 @@ paths: - Accounts parameters: - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/i18n' - name: before_lt in: query - description: "omit this parameter to get last events" + description: omit this parameter to get last events required: false schema: type: integer @@ -680,34 +723,19 @@ paths: example: 100 maximum: 1000 minimum: 1 - - name: start_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - - name: end_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 responses: '200': description: account jettons history content: application/json: schema: - $ref: '#/components/schemas/AccountEvents' - 'default': + $ref: '#/components/schemas/JettonOperations' + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/jettons/{jetton_id}/history: get: - description: Get the transfer jetton history for account and jetton + deprecated: true + description: Please use `getJettonAccountHistoryByID`` instead operationId: getAccountJettonHistoryByID tags: - Accounts @@ -717,7 +745,7 @@ paths: - $ref: '#/components/parameters/i18n' - name: before_lt in: query - description: "omit this parameter to get last events" + description: omit this parameter to get last events required: false schema: type: integer @@ -755,7 +783,7 @@ paths: application/json: schema: $ref: '#/components/schemas/AccountEvents' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/nfts: get: @@ -771,7 +799,7 @@ paths: - in: query name: indirect_ownership required: false - description: "Selling nft items in ton implemented usually via transfer items to special selling account. This option enables including items which owned not directly." + description: Selling nft items in ton implemented usually via transfer items to special selling account. This option enables including items which owned not directly. schema: type: boolean default: false @@ -782,11 +810,10 @@ paths: application/json: schema: $ref: '#/components/schemas/NftItems' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/nfts/history: get: - x-question: duplicate of getNftHistoryByID ? description: Get the transfer nft history operationId: getAccountNftHistory tags: @@ -796,7 +823,7 @@ paths: - $ref: '#/components/parameters/i18n' - name: before_lt in: query - description: "omit this parameter to get last events" + description: omit this parameter to get last events required: false schema: type: integer @@ -811,30 +838,14 @@ paths: example: 100 maximum: 1000 minimum: 1 - - name: start_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 - - name: end_date - in: query - required: false - schema: - type: integer - format: int64 - maximum: 2114380800 - example: 1668436763 responses: '200': description: nft history content: application/json: schema: - $ref: '#/components/schemas/AccountEvents' - 'default': + $ref: '#/components/schemas/NftOperations' + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/events: get: @@ -848,14 +859,14 @@ paths: - $ref: '#/components/parameters/initiatorQuery' - name: subject_only in: query - description: "filter actions where requested account is not real subject (for example sender or receiver jettons)" + description: filter actions where requested account is not real subject (for example sender or receiver jettons) schema: type: boolean default: false required: false - name: before_lt in: query - description: "omit this parameter to get last events" + description: omit this parameter to get last events required: false schema: type: integer @@ -893,7 +904,7 @@ paths: application/json: schema: $ref: '#/components/schemas/AccountEvents' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/events/{event_id}: get: @@ -907,7 +918,7 @@ paths: - $ref: '#/components/parameters/i18n' - name: subject_only in: query - description: "filter actions where requested account is not real subject (for example sender or receiver jettons)" + description: filter actions where requested account is not real subject (for example sender or receiver jettons) schema: type: boolean default: false @@ -919,7 +930,7 @@ paths: application/json: schema: $ref: '#/components/schemas/AccountEvent' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/traces: get: @@ -931,7 +942,7 @@ paths: - $ref: '#/components/parameters/accountIDParameter' - name: before_lt in: query - description: "omit this parameter to get last events" + description: omit this parameter to get last events required: false schema: type: integer @@ -953,7 +964,7 @@ paths: application/json: schema: $ref: '#/components/schemas/TraceIDs' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/subscriptions: get: @@ -970,7 +981,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Subscriptions' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/reindex: post: @@ -983,7 +994,7 @@ paths: responses: '200': description: success - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/search: get: @@ -1006,7 +1017,7 @@ paths: application/json: schema: $ref: '#/components/schemas/FoundAccounts' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/dns/expiring: get: @@ -1024,7 +1035,7 @@ paths: application/json: schema: $ref: '#/components/schemas/DnsExpiring' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/publickey: get: @@ -1046,8 +1057,8 @@ paths: properties: public_key: type: string - example: "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3..." - 'default': + example: NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3... + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/multisigs: get: @@ -1064,9 +1075,8 @@ paths: application/json: schema: $ref: '#/components/schemas/Multisigs' - 'default': + default: $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/diff: get: description: Get account's balance change @@ -1105,9 +1115,8 @@ paths: type: integer format: int64 example: 1000000000 - 'default': + default: $ref: '#/components/responses/Error' - /v2/accounts/{account_id}/extra-currency/{id}/history: get: description: Get the transfer history of extra currencies for an account. @@ -1120,7 +1129,7 @@ paths: - $ref: '#/components/parameters/i18n' - name: before_lt in: query - description: "omit this parameter to get last events" + description: omit this parameter to get last events required: false schema: type: integer @@ -1158,9 +1167,8 @@ paths: application/json: schema: $ref: '#/components/schemas/AccountEvents' - 'default': + default: $ref: '#/components/responses/Error' - /v2/dns/{domain_name}: get: description: Get full information about domain name @@ -1176,7 +1184,7 @@ paths: application/json: schema: $ref: '#/components/schemas/DomainInfo' - 'default': + default: $ref: '#/components/responses/Error' /v2/dns/{domain_name}/resolve: get: @@ -1186,6 +1194,12 @@ paths: - DNS parameters: - $ref: '#/components/parameters/domainNameParameter' + - name: filter + in: query + schema: + type: boolean + default: false + required: false responses: '200': description: dns record @@ -1193,7 +1207,7 @@ paths: application/json: schema: $ref: '#/components/schemas/DnsRecord' - 'default': + default: $ref: '#/components/responses/Error' /v2/dns/{domain_name}/bids: get: @@ -1210,7 +1224,7 @@ paths: application/json: schema: $ref: '#/components/schemas/DomainBids' - 'default': + default: $ref: '#/components/responses/Error' /v2/dns/auctions: get: @@ -1227,9 +1241,8 @@ paths: application/json: schema: $ref: '#/components/schemas/Auctions' - 'default': + default: $ref: '#/components/responses/Error' - /v2/nfts/collections: get: description: Get NFT collections @@ -1261,7 +1274,7 @@ paths: application/json: schema: $ref: '#/components/schemas/NftCollections' - 'default': + default: $ref: '#/components/responses/Error' /v2/nfts/collections/{account_id}: get: @@ -1278,7 +1291,7 @@ paths: application/json: schema: $ref: '#/components/schemas/NftCollection' - 'default': + default: $ref: '#/components/responses/Error' /v2/nfts/collections/_bulk: post: @@ -1287,7 +1300,7 @@ paths: tags: - NFT requestBody: - $ref: "#/components/requestBodies/AccountIDs" + $ref: '#/components/requestBodies/AccountIDs' responses: '200': description: nft collections @@ -1295,7 +1308,7 @@ paths: application/json: schema: $ref: '#/components/schemas/NftCollections' - 'default': + default: $ref: '#/components/responses/Error' /v2/nfts/collections/{account_id}/items: get: @@ -1314,7 +1327,7 @@ paths: application/json: schema: $ref: '#/components/schemas/NftItems' - 'default': + default: $ref: '#/components/responses/Error' /v2/nfts/_bulk: post: @@ -1323,7 +1336,7 @@ paths: tags: - NFT requestBody: - $ref: "#/components/requestBodies/AccountIDs" + $ref: '#/components/requestBodies/AccountIDs' responses: '200': description: nft items @@ -1331,7 +1344,7 @@ paths: application/json: schema: $ref: '#/components/schemas/NftItems' - 'default': + default: $ref: '#/components/responses/Error' /v2/nfts/{account_id}: get: @@ -1348,11 +1361,12 @@ paths: application/json: schema: $ref: '#/components/schemas/NftItem' - 'default': + default: $ref: '#/components/responses/Error' /v2/nfts/{account_id}/history: get: - description: Get the transfer nfts history for account + deprecated: true + description: Please use `getAccountNftHistory`` instead operationId: getNftHistoryByID tags: - NFT @@ -1361,7 +1375,7 @@ paths: - $ref: '#/components/parameters/i18n' - name: before_lt in: query - description: "omit this parameter to get last events" + description: omit this parameter to get last events required: false schema: type: integer @@ -1399,7 +1413,7 @@ paths: application/json: schema: $ref: '#/components/schemas/AccountEvents' - 'default': + default: $ref: '#/components/responses/Error' /v2/traces/{trace_id}: get: @@ -1416,9 +1430,8 @@ paths: application/json: schema: $ref: '#/components/schemas/Trace' - 'default': + default: $ref: '#/components/responses/Error' - /v2/events/{event_id}: get: description: Get an event either by event ID or a hash of any transaction in a trace. An event is built on top of a trace which is a series of transactions caused by one inbound message. TonAPI looks for known patterns inside the trace and splits the trace into actions, where a single action represents a meaningful high-level operation like a Jetton Transfer or an NFT Purchase. Actions are expected to be shown to users. It is advised not to build any logic on top of actions because actions can be changed at any time. @@ -1435,174 +1448,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Event' - 'default': - $ref: '#/components/responses/Error' - - /v2/experimental/accounts/{account_id}/inscriptions: - get: - description: Get all inscriptions by owner address. It's experimental API and can be dropped in the future. - operationId: getAccountInscriptions - tags: - - Inscriptions - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/limitQuery' - - $ref: '#/components/parameters/offsetQuery' - responses: - '200': - description: account inscriptions - content: - application/json: - schema: - $ref: '#/components/schemas/InscriptionBalances' - 'default': - $ref: '#/components/responses/Error' - /v2/experimental/accounts/{account_id}/inscriptions/history: - get: - description: Get the transfer inscriptions history for account. It's experimental API and can be dropped in the future. - operationId: getAccountInscriptionsHistory - tags: - - Inscriptions - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/i18n' - - name: before_lt - in: query - description: "omit this parameter to get last events" - required: false - schema: - type: integer - format: int64 - example: 25758317000002 - x-js-format: bigint - - name: limit - in: query - required: false - schema: - type: integer - example: 100 - default: 100 - maximum: 1000 - minimum: 1 - responses: - '200': - description: account inscriptions history - content: - application/json: - schema: - $ref: '#/components/schemas/AccountEvents' - 'default': - $ref: '#/components/responses/Error' - /v2/experimental/accounts/{account_id}/inscriptions/{ticker}/history: - get: - description: Get the transfer inscriptions history for account. It's experimental API and can be dropped in the future. - operationId: getAccountInscriptionsHistoryByTicker - tags: - - Inscriptions - parameters: - - $ref: '#/components/parameters/accountIDParameter' - - $ref: '#/components/parameters/i18n' - - name: ticker - in: path - required: true - schema: - type: string - example: "nano" - - name: before_lt - in: query - description: "omit this parameter to get last events" - required: false - schema: - type: integer - format: int64 - example: 25758317000002 - x-js-format: bigint - - name: limit - in: query - required: false - schema: - type: integer - example: 100 - default: 100 - maximum: 1000 - minimum: 1 - responses: - '200': - description: account inscriptions history - content: - application/json: - schema: - $ref: '#/components/schemas/AccountEvents' - 'default': - $ref: '#/components/responses/Error' - /v2/experimental/inscriptions/op-template: - get: - description: return comment for making operation with inscription. please don't use it if you don't know what you are doing - operationId: getInscriptionOpTemplate - tags: - - Inscriptions - parameters: - - in: query - name: type - required: true - schema: - type: string - enum: [ "ton20", "gram20" ] - example: "ton20" - - in: query - name: destination - required: false - schema: - type: string - - in: query - name: comment - required: false - schema: - type: string - - in: query - name: operation - required: true - schema: - type: string - enum: [ "transfer" ] - example: "transfer" - - in: query - name: amount - required: true - schema: - type: string - x-js-format: bigint - example: "1000000000" - - in: query - name: ticker - required: true - schema: - type: string - example: "nano" - - in: query - name: who - required: true - schema: - type: string - example: UQAs87W4yJHlF8mt29ocA4agnMrLsOP69jC1HPyBUjJay7Mg - responses: - '200': - description: inscription op template - content: - application/json: - schema: - type: object - required: - - comment - - destination - properties: - comment: - type: string - example: "comment" - destination: - type: string - example: "0:0000000000000" - 'default': + default: $ref: '#/components/responses/Error' /v2/jettons: get: @@ -1635,7 +1481,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Jettons' - 'default': + default: $ref: '#/components/responses/Error' /v2/jettons/{account_id}: get: @@ -1652,7 +1498,7 @@ paths: application/json: schema: $ref: '#/components/schemas/JettonInfo' - 'default': + default: $ref: '#/components/responses/Error' /v2/jettons/_bulk: post: @@ -1661,7 +1507,7 @@ paths: tags: - Jettons requestBody: - $ref: "#/components/requestBodies/AccountIDs" + $ref: '#/components/requestBodies/AccountIDs' responses: '200': description: a list of jettons @@ -1669,7 +1515,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Jettons' - 'default': + default: $ref: '#/components/responses/Error' /v2/jettons/{account_id}/holders: get: @@ -1680,7 +1526,14 @@ paths: parameters: - $ref: '#/components/parameters/accountIDParameter' - $ref: '#/components/parameters/limitQuery' - - $ref: '#/components/parameters/offsetQuery' + - in: query + name: offset + required: false + schema: + type: integer + default: 0 + minimum: 0 + maximum: 9000 responses: '200': description: jetton's holders @@ -1688,7 +1541,7 @@ paths: application/json: schema: $ref: '#/components/schemas/JettonHolders' - 'default': + default: $ref: '#/components/responses/Error' /v2/jettons/{jetton_id}/transfer/{account_id}/payload: get: @@ -1706,11 +1559,11 @@ paths: application/json: schema: $ref: '#/components/schemas/JettonTransferPayload' - 'default': + default: $ref: '#/components/responses/Error' /v2/events/{event_id}/jettons: get: - description: "Get only jetton transfers in the event" + description: Get only jetton transfers in the event operationId: getJettonsEvents tags: - Jettons @@ -1724,9 +1577,59 @@ paths: application/json: schema: $ref: '#/components/schemas/Event' - 'default': + default: + $ref: '#/components/responses/Error' + /v2/jettons/{jetton_id}/accounts/{account_id}/history: + get: + description: Get the transfer jetton history for account and jetton + operationId: getJettonAccountHistoryByID + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - $ref: '#/components/parameters/jettonIDParameter' + - name: before_lt + in: query + description: omit this parameter to get last events + required: false + schema: + type: integer + format: int64 + example: 25758317000002 + x-js-format: bigint + - name: limit + in: query + required: true + schema: + type: integer + example: 100 + maximum: 1000 + minimum: 1 + - name: start_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + - name: end_date + in: query + required: false + schema: + type: integer + format: int64 + maximum: 2114380800 + example: 1668436763 + responses: + '200': + description: account jetton history + content: + application/json: + schema: + $ref: '#/components/schemas/JettonOperations' + default: $ref: '#/components/responses/Error' - /v2/extra-currency/{id}: get: description: Get extra currency info by id @@ -1742,9 +1645,8 @@ paths: application/json: schema: $ref: '#/components/schemas/EcPreview' - 'default': + default: $ref: '#/components/responses/Error' - /v2/staking/nominator/{account_id}/pools: get: description: All pools where account participates @@ -1760,7 +1662,7 @@ paths: application/json: schema: $ref: '#/components/schemas/AccountStaking' - 'default': + default: $ref: '#/components/responses/Error' /v2/staking/pool/{account_id}: get: @@ -1786,7 +1688,7 @@ paths: $ref: '#/components/schemas/PoolImplementation' pool: $ref: '#/components/schemas/PoolInfo' - 'default': + default: $ref: '#/components/responses/Error' /v2/staking/pool/{account_id}/history: get: @@ -1810,7 +1712,7 @@ paths: type: array items: $ref: '#/components/schemas/ApyHistory' - 'default': + default: $ref: '#/components/responses/Error' /v2/staking/pools: get: @@ -1830,7 +1732,7 @@ paths: - in: query name: include_unverified required: false - description: "return also pools not from white list - just compatible by interfaces (maybe dangerous!)" + description: return also pools not from white list - just compatible by interfaces (maybe dangerous!) schema: type: boolean example: false @@ -1854,9 +1756,8 @@ paths: type: object additionalProperties: $ref: '#/components/schemas/PoolImplementation' - 'default': + default: $ref: '#/components/responses/Error' - /v2/storage/providers: get: description: Get TON storage providers deployed to the blockchain. @@ -1877,9 +1778,8 @@ paths: type: array items: $ref: '#/components/schemas/StorageProvider' - 'default': + default: $ref: '#/components/responses/Error' - /v2/rates: get: description: Get the token price in the chosen currency for display only. Don’t use this for financial transactions. @@ -1889,7 +1789,7 @@ paths: parameters: - in: query name: tokens - description: accept ton and jetton master addresses, separated by commas + description: accept cryptocurrencies and jetton master addresses, separated by commas required: true explode: false schema: @@ -1897,10 +1797,14 @@ paths: maxItems: 100 items: type: string - example: [ "ton" ] + x-js-format: token-or-address + example: + - ton + - btc + - EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs - in: query name: currencies - description: accept ton and all possible fiat currencies, separated by commas + description: accept cryptocurrencies and all possible fiat currencies required: true explode: false schema: @@ -1908,7 +1812,11 @@ paths: maxItems: 50 items: type: string - example: [ "ton","usd","rub" ] + example: + - ton + - btc + - usd + - rub responses: '200': description: tokens rates @@ -1923,7 +1831,7 @@ paths: type: object additionalProperties: $ref: '#/components/schemas/TokenRates' - 'default': + default: $ref: '#/components/responses/Error' /v2/rates/chart: get: @@ -1934,11 +1842,16 @@ paths: parameters: - in: query name: token - description: accept jetton master address + description: accept cryptocurrency or jetton master address required: true schema: type: string - format: address + x-js-format: token-or-address + example: + - value: ton + description: cryptocurrency code (ton, btc, etc.) + - value: EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs + description: jetton master address usdt for example - in: query name: currency required: false @@ -1984,7 +1897,7 @@ paths: type: array items: $ref: '#/components/schemas/ChartPoints' - 'default': + default: $ref: '#/components/responses/Error' /v2/rates/markets: get: @@ -2006,9 +1919,8 @@ paths: type: array items: $ref: '#/components/schemas/MarketTonRates' - 'default': + default: $ref: '#/components/responses/Error' - /v2/tonconnect/payload: get: description: Get a payload for further token receipt @@ -2027,8 +1939,8 @@ paths: properties: payload: type: string - example: "84jHVNLQmZsAAAAAZB0Zryi2wqVJI-KaKNXOvCijEi46YyYzkaSHyJrMPBMOkVZa" - 'default': + example: 84jHVNLQmZsAAAAAZB0Zryi2wqVJI-KaKNXOvCijEi46YyYzkaSHyJrMPBMOkVZa + default: $ref: '#/components/responses/Error' /v2/tonconnect/stateinit: post: @@ -2037,7 +1949,7 @@ paths: tags: - Connect requestBody: - $ref: "#/components/requestBodies/TonConnectStateInit" + $ref: '#/components/requestBodies/TonConnectStateInit' responses: '200': description: account info @@ -2045,7 +1957,7 @@ paths: application/json: schema: $ref: '#/components/schemas/AccountInfoByStateInit' - 'default': + default: $ref: '#/components/responses/Error' /v2/wallet/auth/proof: post: @@ -2054,7 +1966,7 @@ paths: tags: - Wallet requestBody: - $ref: "#/components/requestBodies/TonConnectProof" + $ref: '#/components/requestBodies/TonConnectProof' responses: '200': description: auth token @@ -2067,8 +1979,8 @@ paths: properties: token: type: string - example: "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3..." - 'default': + example: NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3... + default: $ref: '#/components/responses/Error' /v2/wallet/{account_id}/seqno: get: @@ -2085,7 +1997,24 @@ paths: application/json: schema: $ref: '#/components/schemas/Seqno' - 'default': + default: + $ref: '#/components/responses/Error' + /v2/wallet/{account_id}: + get: + description: Get human-friendly information about a wallet without low-level details. + operationId: getWalletInfo + tags: + - Wallet + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: wallet + content: + application/json: + schema: + $ref: '#/components/schemas/Wallet' + default: $ref: '#/components/responses/Error' /v2/gasless/config: get: @@ -2095,18 +2024,19 @@ paths: - Gasless responses: '200': - description: "gasless config" + description: gasless config content: application/json: schema: $ref: '#/components/schemas/GaslessConfig' - 'default': + default: $ref: '#/components/responses/Error' /v2/gasless/estimate/{master_id}: post: description: Estimates the cost of the given messages and returns a payload to sign operationId: gaslessEstimate parameters: + - $ref: '#/components/parameters/i18n' - name: master_id in: path required: true @@ -2118,15 +2048,15 @@ paths: tags: - Gasless requestBody: - $ref: "#/components/requestBodies/InternalMessages" + $ref: '#/components/requestBodies/InternalMessages' responses: '200': - description: "payload to sign" + description: payload to sign content: application/json: schema: $ref: '#/components/schemas/SignRawParams' - 'default': + default: $ref: '#/components/responses/Error' /v2/gasless/send: post: @@ -2135,11 +2065,15 @@ paths: tags: - Gasless requestBody: - $ref: "#/components/requestBodies/GaslessSend" + $ref: '#/components/requestBodies/GaslessSend' responses: '200': description: the message has been sent - 'default': + content: + application/json: + schema: + $ref: '#/components/schemas/GaslessTx' + default: $ref: '#/components/responses/Error' /v2/pubkeys/{public_key}/wallets: get: @@ -2155,10 +2089,9 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Accounts' - 'default': + $ref: '#/components/schemas/Wallets' + default: $ref: '#/components/responses/Error' - /v2/liteserver/get_masterchain_info: get: description: Get raw masterchain info @@ -2184,7 +2117,7 @@ paths: example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 init: $ref: '#/components/schemas/InitStateRaw' - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_masterchain_info_ext: get: @@ -2238,7 +2171,7 @@ paths: example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 init: $ref: '#/components/schemas/InitStateRaw' - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_time: get: @@ -2260,7 +2193,7 @@ paths: type: integer format: int32 example: 1687146728 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_block/{block_id}: get: @@ -2286,7 +2219,7 @@ paths: data: type: string example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_state/{block_id}: get: @@ -2320,7 +2253,7 @@ paths: data: type: string example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_block_header/{block_id}: get: @@ -2352,7 +2285,7 @@ paths: header_proof: type: string example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/send_message: post: @@ -2361,7 +2294,7 @@ paths: tags: - Lite Server requestBody: - $ref: "#/components/requestBodies/LiteServerSendMessageRequest" + $ref: '#/components/requestBodies/LiteServerSendMessageRequest' responses: '200': description: code @@ -2376,7 +2309,7 @@ paths: type: integer format: int32 example: 200 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_account_state/{account_id}: get: @@ -2414,7 +2347,7 @@ paths: state: type: string example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_shard_info/{block_id}: get: @@ -2450,7 +2383,7 @@ paths: shard_descr: type: string example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_all_shards_info/{block_id}: get: @@ -2480,7 +2413,7 @@ paths: data: type: string example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_transactions/{account_id}: get: @@ -2511,7 +2444,7 @@ paths: transactions: type: string example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/list_block_transactions/{block_id}: get: @@ -2572,7 +2505,7 @@ paths: proof: type: string example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_block_proof: get: @@ -2688,7 +2621,7 @@ paths: signature: type: string example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_config_all/{block_id}: get: @@ -2724,7 +2657,7 @@ paths: config_proof: type: string example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_shard_block_proof/{block_id}: get: @@ -2760,7 +2693,7 @@ paths: proof: type: string example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 - 'default': + default: $ref: '#/components/responses/Error' /v2/liteserver/get_out_msg_queue_sizes: get: @@ -2795,9 +2728,8 @@ paths: size: type: integer format: uint32 - 'default': + default: $ref: '#/components/responses/Error' - /v2/multisig/{account_id}: get: description: Get multisig account info @@ -2813,7 +2745,24 @@ paths: application/json: schema: $ref: '#/components/schemas/Multisig' - 'default': + default: + $ref: '#/components/responses/Error' + /v2/multisig/order/{account_id}: + get: + description: Get multisig order + operationId: getMultisigOrder + tags: + - Multisig + parameters: + - $ref: '#/components/parameters/accountIDParameter' + responses: + '200': + description: multisig order + content: + application/json: + schema: + $ref: '#/components/schemas/MultisigOrder' + default: $ref: '#/components/responses/Error' /v2/message/decode: post: @@ -2822,7 +2771,7 @@ paths: tags: - Emulation requestBody: - $ref: "#/components/requestBodies/Boc" + $ref: '#/components/requestBodies/Boc' responses: '200': description: decoded message @@ -2830,11 +2779,11 @@ paths: application/json: schema: $ref: '#/components/schemas/DecodedMessage' - 'default': + default: $ref: '#/components/responses/Error' /v2/events/emulate: post: - description: Emulate sending message to blockchain + description: Emulate sending message to retrieve general blockchain events operationId: emulateMessageToEvent tags: - Emulation @@ -2847,7 +2796,7 @@ paths: schema: type: boolean requestBody: - $ref: "#/components/requestBodies/Boc" + $ref: '#/components/requestBodies/Boc' responses: '200': description: emulated event @@ -2855,11 +2804,11 @@ paths: application/json: schema: $ref: '#/components/schemas/Event' - 'default': + default: $ref: '#/components/responses/Error' /v2/traces/emulate: post: - description: Emulate sending message to blockchain + description: Emulate sending message to retrieve with a detailed execution trace operationId: emulateMessageToTrace tags: - Emulation @@ -2871,7 +2820,7 @@ paths: schema: type: boolean requestBody: - $ref: "#/components/requestBodies/Boc" + $ref: '#/components/requestBodies/Boc' responses: '200': description: emulated trace @@ -2879,19 +2828,20 @@ paths: application/json: schema: $ref: '#/components/schemas/Trace' - 'default': + default: $ref: '#/components/responses/Error' /v2/wallet/emulate: post: - description: Emulate sending message to blockchain + description: Emulate sending message to retrieve the resulting wallet state operationId: emulateMessageToWallet tags: - Emulation - Wallet parameters: - $ref: '#/components/parameters/i18n' + - $ref: '#/components/parameters/currencyQuery' requestBody: - $ref: "#/components/requestBodies/EmulationBoc" + $ref: '#/components/requestBodies/EmulationBoc' responses: '200': description: emulated message @@ -2899,11 +2849,11 @@ paths: application/json: schema: $ref: '#/components/schemas/MessageConsequences' - 'default': + default: $ref: '#/components/responses/Error' /v2/accounts/{account_id}/events/emulate: post: - description: Emulate sending message to blockchain + description: Emulate sending message to retrieve account-specific events operationId: emulateMessageToAccountEvent tags: - Emulation @@ -2917,7 +2867,7 @@ paths: schema: type: boolean requestBody: - $ref: "#/components/requestBodies/Boc" + $ref: '#/components/requestBodies/Boc' responses: '200': description: emulated message to account @@ -2925,7 +2875,42 @@ paths: application/json: schema: $ref: '#/components/schemas/AccountEvent' - 'default': + default: + $ref: '#/components/responses/Error' + /v2/purchases/{account_id}/history: + get: + description: Get history of purchases + operationId: getPurchaseHistory + tags: + - Purchases + parameters: + - $ref: '#/components/parameters/accountIDParameter' + - name: before_lt + in: query + description: omit this parameter to get last invoices + required: false + schema: + type: integer + format: int64 + example: 25758317000002 + x-js-format: bigint + - name: limit + in: query + required: false + schema: + type: integer + default: 100 + example: 100 + maximum: 1000 + minimum: 1 + responses: + '200': + description: account purchase history + content: + application/json: + schema: + $ref: '#/components/schemas/AccountPurchases' + default: $ref: '#/components/responses/Error' components: parameters: @@ -2933,7 +2918,7 @@ components: in: path name: masterchain_seqno required: true - description: "masterchain block seqno" + description: masterchain block seqno schema: type: integer format: int32 @@ -2950,7 +2935,7 @@ components: in: path name: block_id required: true - description: "block ID: (workchain,shard,seqno,root_hash,file_hash)" + description: 'block ID: (workchain,shard,seqno,root_hash,file_hash)' schema: type: string example: (-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29) @@ -3020,7 +3005,7 @@ components: in: path name: trace_id required: true - description: "trace ID or transaction hash in hex (without 0x) or base64url format" + description: trace ID or transaction hash in hex (without 0x) or base64url format schema: type: string example: 97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 @@ -3028,7 +3013,7 @@ components: in: path name: event_id required: true - description: "event ID or transaction hash in hex (without 0x) or base64url format" + description: event ID or transaction hash in hex (without 0x) or base64url format schema: type: string example: 97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 @@ -3036,7 +3021,7 @@ components: in: path name: id required: true - description: "extra currency id" + description: extra currency id schema: type: integer example: 239 @@ -3048,14 +3033,22 @@ components: schema: type: string example: NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3... + hashParameter: + in: path + name: hash + required: true + description: hash in hex (without 0x) format + schema: + type: string + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 i18n: in: header name: Accept-Language required: false schema: type: string - example: "ru-RU,ru;q=0.5" - default: "en" + example: ru-RU,ru;q=0.5 + default: en limitQuery: in: query name: limit @@ -3085,7 +3078,7 @@ components: in: query name: period required: false - description: "number of days before expiration" + description: number of days before expiration schema: type: integer minimum: 1 @@ -3094,16 +3087,16 @@ components: in: query name: collection required: false - description: "nft collection" + description: nft collection schema: type: string format: address - example: "0:06d811f426598591b32b2c49f29f66c821368e4acb1de16762b04e0174532465" + example: 0:06d811f426598591b32b2c49f29f66c821368e4acb1de16762b04e0174532465 modeQuery: in: query name: mode required: true - description: "mode" + description: mode schema: type: integer format: int32 @@ -3112,7 +3105,7 @@ components: in: query name: count required: true - description: "count" + description: count schema: type: integer format: int32 @@ -3121,7 +3114,7 @@ components: in: query name: known_block required: true - description: "known block: (workchain,shard,seqno,root_hash,file_hash)" + description: 'known block: (workchain,shard,seqno,root_hash,file_hash)' schema: type: string example: (-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29) @@ -3129,7 +3122,7 @@ components: in: query name: target_block required: false - description: "target block: (workchain,shard,seqno,root_hash,file_hash)" + description: 'target block: (workchain,shard,seqno,root_hash,file_hash)' schema: type: string example: (-1,8000000000000000,4234234,3E575DAB1D25...90D8,47192E5C46C...BB29) @@ -3137,7 +3130,7 @@ components: in: query name: lt required: true - description: "lt" + description: lt schema: type: integer format: int64 @@ -3145,7 +3138,7 @@ components: ltQuery: in: query name: lt - description: "lt" + description: lt schema: type: integer format: int64 @@ -3154,15 +3147,15 @@ components: in: query name: hash required: true - description: "hash" + description: hash schema: type: string - example: "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85" + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 workchainQuery: in: query name: workchain required: true - description: "workchain" + description: workchain schema: type: integer format: int32 @@ -3171,7 +3164,7 @@ components: in: query name: shard required: true - description: "shard" + description: shard schema: type: integer format: int64 @@ -3180,7 +3173,7 @@ components: in: query name: exact required: true - description: "exact" + description: exact schema: type: boolean example: false @@ -3212,25 +3205,29 @@ components: type: array items: type: string - example: [ "ton", "usd", "rub" ] + example: + - ton + - usd + - rub supportedExtensions: in: query name: supported_extensions - description: "comma separated list supported extensions" + description: comma separated list supported extensions explode: false required: false schema: type: array items: type: string - example: [ "custom_payload" ] + example: + - custom_payload currencyQuery: in: query name: currency required: false schema: type: string - example: "usd" + example: usd fromQuery: in: query name: from @@ -3245,7 +3242,6 @@ components: schema: type: integer format: int64 - requestBodies: MethodParameters: description: input parameters for contract get method @@ -3298,7 +3294,7 @@ components: address: type: string format: address - example: "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b" + example: 0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b balance: type: integer format: int64 @@ -3316,6 +3312,13 @@ components: - wallet_address - wallet_public_key properties: + throw_error_if_not_enough_jettons: + type: boolean + default: false + description: TONAPI verifies that the account has enough jettons to pay the commission and make a transfer. + return_emulation: + type: boolean + default: false wallet_address: type: string format: address @@ -3377,7 +3380,7 @@ components: format: address example: 0:97264395BD65A255A429B11326C84128B7D70FFED7949ABAE3036D506BA38621 TonConnectProof: - description: "Data that is expected from TON Connect" + description: Data that is expected from TON Connect required: true content: application/json: @@ -3390,7 +3393,7 @@ components: address: type: string format: address - example: "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b" + example: 0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b proof: type: object required: @@ -3402,7 +3405,7 @@ components: timestamp: type: integer format: int64 - example: "1678275313" + example: '1678275313' domain: type: object required: @@ -3417,12 +3420,12 @@ components: type: string payload: type: string - example: "84jHVNLQmZsAAAAAZB0Zryi2wqVJI-KaKNXOvCijEi46YyYzkaSHyJrMPBMOkVZa" + example: 84jHVNLQmZsAAAAAZB0Zryi2wqVJI-KaKNXOvCijEi46YyYzkaSHyJrMPBMOkVZa state_init: type: string format: cell-base64 TonConnectStateInit: - description: "Data that is expected" + description: Data that is expected required: true content: application/json: @@ -3435,7 +3438,7 @@ components: type: string format: cell-base64 LiteServerSendMessageRequest: - description: "Data that is expected" + description: Data that is expected required: true content: application/json: @@ -3447,7 +3450,20 @@ components: body: type: string format: cell-base64 - + ExecGetMethodArgs: + description: | + Request body for executing a GET method on a blockchain account via POST. This format allows passing arguments in the request body instead of query parameters, which is especially useful for large or complex input data. + content: + application/json: + schema: + type: object + required: + - args + properties: + args: + type: array + items: + $ref: '#/components/schemas/ExecGetMethodArg' schemas: Error: type: object @@ -3466,7 +3482,7 @@ components: properties: address: type: string - format: address + format: maybe-address example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365 name: type: string @@ -3508,7 +3524,7 @@ components: value: type: string x-js-format: bigint - example: "10000000000" + example: '10000000000' BlockValueFlow: type: object required: @@ -3576,8 +3592,7 @@ components: format: int32 shard: type: string - # x-js-format: bigint ??? - example: "8000000000000000" + example: '8000000000000000' seqno: type: integer example: 21734019 @@ -3596,12 +3611,12 @@ components: type: array items: type: string - example: "[ (0,4234235,8000000000000000) ]" + example: '[ (0,4234235,8000000000000000) ]' parent: type: array items: type: string - example: "[ (0,21734018,8000000000000000) ]" + example: '[ (0,21734018,8000000000000000) ]' BlockchainBlock: type: object required: @@ -3644,8 +3659,7 @@ components: format: int32 shard: type: string - # x-js-format: bigint ??? - example: "8000000000000000" + example: '8000000000000000' seqno: type: integer example: 21734019 @@ -3727,7 +3741,10 @@ components: type: array items: type: string - example: [ (-1,4234235,8000000000000000) ] + example: + - (-1 + - 4234235 + - 8000000000000000) in_msg_descr_length: type: integer format: int64 @@ -3871,21 +3888,21 @@ components: op_code: type: string x-js-format: bigint - example: "0xdeadbeaf" + example: '0xdeadbeaf' init: $ref: '#/components/schemas/StateInit' hash: type: string - example: "1219de582369ac80ee1afe12147930f458a54ff1eea612611a8bc6bd31581a6c" + example: 1219de582369ac80ee1afe12147930f458a54ff1eea612611a8bc6bd31581a6c raw_body: type: string format: cell description: hex-encoded BoC with raw message body - example: "B5EE9C7201010101001100001D00048656C6C6F2C20776F726C64218" + example: B5EE9C7201010101001100001D00048656C6C6F2C20776F726C64218 decoded_op_name: type: string - example: "nft_transfer" - decoded_body: { } # Free-form JSON value + example: nft_transfer + decoded_body: {} TransactionType: type: string example: TransOrd @@ -3911,6 +3928,7 @@ components: - cskip_no_state - cskip_bad_state - cskip_no_gas + - cskip_suspended BouncePhaseType: type: string example: cskip_no_state @@ -4118,8 +4136,8 @@ components: raw: type: string format: cell - description: "hex encoded boc with raw transaction" - example: "b5ee9c72410206010001380003b372cf3b5b8c891e517c9addbda1c0386a09ccacbb0e3faf630b51cfc8152325acb00002ac5795c0e41fdf79135cb7da03cc623b165d614b562a51eeccd8a5e097f405abf6b37f4e73000002ac5629732c1666887ed000144030480102030101a004008272abc8f2971aa4404ac6da1597720f348b2e1247b1ad9f55cbd3b6812f0a5f08b269bb65039fb1f6074d00f794e857f6dfd01131d299df456af10a8a4943d4d165000d0c80608840492001ab48015581f575c3b8c6ab3d6" + description: hex encoded boc with raw transaction + example: b5ee9c72410206010001380003b372cf3b5b8c891e517c9addbda1c0386a09ccacbb0e3faf630b51cfc8152325acb00002ac5795c0e41fdf79135cb7da03cc623b165d614b562a51eeccd8a5e097f405abf6b37f4e73000002ac5629732c1666887ed000144030480102030101a004008272abc8f2971aa4404ac6da1597720f348b2e1247b1ad9f55cbd3b6812f0a5f08b269bb65039fb1f6074d00f794e857f6dfd01131d299df456af10a8a4943d4d165000d0c80608840492001ab48015581f575c3b8c6ab3d6 Transactions: type: object required: @@ -4329,10 +4347,10 @@ components: example: 1000000 zerostate_root_hash: type: string - example: "131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85" + example: 131D0C65055F04E9C19D687B51BC70F952FD9CA6F02C2801D3B89964A779DF85 zerostate_file_hash: type: string - example: "A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB" + example: A6A0BD6608672B11B79538A50B2204E748305C12AA0DED9C16CF0006CE3AF8DB version: type: integer format: int64 @@ -4387,7 +4405,6 @@ components: medium_proportional_mult: type: integer example: 1000000 - SizeLimitsConfig: type: object required: @@ -4450,7 +4467,7 @@ components: total_weight: type: string x-js-format: bigint - example: "1152921504606846800" + example: '1152921504606846800' list: type: array items: @@ -4467,7 +4484,7 @@ components: x-js-format: bigint adnl_addr: type: string - example: "45061C1D4EC44A937D0318589E13C73D151D1CEF5D3C0E53AFBCF56A6C2FE2BD" + example: 45061C1D4EC44A937D0318589E13C73D151D1CEF5D3C0E53AFBCF56A6C2FE2BD Oracle: type: object required: @@ -4661,11 +4678,9 @@ components: x-js-format: bigint example: 123456789 extra_balance: - type: object - additionalProperties: - type: string - # x-js-format: bigint ??? - # example ??? + type: array + items: + $ref: '#/components/schemas/ExtraCurrency' code: type: string format: cell @@ -4686,7 +4701,7 @@ components: type: string example: 088b436a846d92281734236967970612f87fbd64a2cd3573107948379e8e4161 status: - '$ref': '#/components/schemas/AccountStatus' + $ref: '#/components/schemas/AccountStatus' storage: $ref: '#/components/schemas/AccountStorageInfo' libraries: @@ -4703,6 +4718,127 @@ components: root: type: string format: cell + BlockchainLibrary: + type: object + required: + - boc + properties: + boc: + type: string + format: cell + example: b5ee9c7201010101005f0000baff0020dd2082014c97ba218201339cbab19c71b0ed44d0d31fd70bffe304e0a4f260810200d71820d70b1fed44d0d31fd3ffd15112baf2a122f901541044f910f2a2f80001d31f3120d74a96d307d402fb00ded1a4c8cb1fcbffc9ed54 + WalletStats: + type: object + required: + - nfts_count + - jettons_count + - multisig_count + - staking_count + properties: + nfts_count: + type: integer + format: int32 + example: 123456789 + jettons_count: + type: integer + format: int32 + example: 123456789 + multisig_count: + type: integer + format: int32 + example: 123456789 + staking_count: + type: integer + format: int32 + example: 123456789 + WalletPlugin: + type: object + required: + - address + - type + - status + properties: + address: + type: string + format: address + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf + type: + type: string + example: subscription_v1 + status: + $ref: '#/components/schemas/AccountStatus' + Wallets: + type: object + required: + - accounts + properties: + accounts: + type: array + items: + $ref: '#/components/schemas/Wallet' + Wallet: + type: object + required: + - address + - balance + - stats + - plugins + - status + - last_activity + - get_methods + - is_wallet + - last_lt + properties: + address: + type: string + format: address + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf + is_wallet: + type: boolean + balance: + type: integer + format: int64 + example: 123456789 + x-js-format: bigint + stats: + $ref: '#/components/schemas/WalletStats' + plugins: + type: array + items: + $ref: '#/components/schemas/WalletPlugin' + status: + $ref: '#/components/schemas/AccountStatus' + last_activity: + type: integer + description: unix timestamp + format: int64 + example: 1720860269 + name: + type: string + example: Ton foundation + icon: + type: string + example: https://ton.org/logo.png + get_methods: + type: array + deprecated: true + items: + type: string + example: + - get_item_data + is_suspended: + type: boolean + signature_disabled: + type: boolean + interfaces: + type: array + items: + type: string + last_lt: + type: integer + format: int64 + example: 25713146000001 + x-js-format: bigint Account: type: object required: @@ -4727,17 +4863,17 @@ components: items: $ref: '#/components/schemas/ExtraCurrency' currencies_balance: - description: "{'USD': 1, 'IDR': 1000}" + description: '{''USD'': 1, ''IDR'': 1000}' type: object additionalProperties: true - example: { } + example: {} last_activity: type: integer description: unix timestamp format: int64 example: 1720860269 status: - '$ref': '#/components/schemas/AccountStatus' + $ref: '#/components/schemas/AccountStatus' interfaces: type: array items: @@ -4745,13 +4881,13 @@ components: example: nft_sale name: type: string - example: "Ton foundation" + example: Ton foundation is_scam: type: boolean example: true icon: type: string - example: "https://ton.org/logo.png" + example: https://ton.org/logo.png memo_required: type: boolean example: true @@ -4759,7 +4895,8 @@ components: type: array items: type: string - example: [ 'get_item_data' ] + example: + - get_item_data is_suspended: type: boolean is_wallet: @@ -4782,11 +4919,11 @@ components: relay_address: type: string format: address - description: "sending excess to this address decreases the commission of a gasless transfer" + description: sending excess to this address decreases the commission of a gasless transfer example: 0:dfbd5be8497fdc0c9fcbdfc676864840ddf8ad6423d6d5657d9b0e8270d6c8ac gas_jettons: type: array - description: "list of jettons, any of them can be used to pay for gas" + description: list of jettons, any of them can be used to pay for gas items: type: object required: @@ -4807,17 +4944,22 @@ components: example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf amount: type: string - # x-js-format: bigint - # example: "1000000" nanocoins or decimal ? - description: "Number of nanocoins to send. Decimal string." + description: Number of nanocoins to send. Decimal string. payload: type: string format: cell - description: "Raw one-cell BoC encoded in hex." + description: Raw one-cell BoC encoded in hex. stateInit: type: string format: cell - description: "Raw once-cell BoC encoded in hex." + description: Raw once-cell BoC encoded in hex. + GaslessTx: + type: object + required: + - protocol_name + properties: + protocol_name: + type: string SignRawParams: type: object required: @@ -4826,7 +4968,10 @@ components: - commission - from - valid_until + - protocol_name properties: + protocol_name: + type: string relay_address: type: string format: address @@ -4834,8 +4979,8 @@ components: commission: type: string x-js-format: bigint - example: "1000000" - description: "Commission for the transaction. In nanocoins." + example: '1000000' + description: Commission for the transaction. In nanocoins. from: type: string format: address @@ -4848,6 +4993,8 @@ components: type: array items: $ref: '#/components/schemas/SignRawMessage' + emulation: + $ref: '#/components/schemas/MessageConsequences' MethodExecutionResult: type: object required: @@ -4865,8 +5012,8 @@ components: stack: type: array items: - $ref: "#/components/schemas/TvmStackRecord" - decoded: { } # Free-form JSON value + $ref: '#/components/schemas/TvmStackRecord' + decoded: {} TvmStackRecord: type: object format: tuple-item @@ -4875,12 +5022,12 @@ components: properties: type: type: string - example: "cell" + example: cell enum: - cell - num - nan - - "null" + - 'null' - tuple cell: type: string @@ -4890,10 +5037,10 @@ components: format: cell num: type: string - example: "" + example: '' tuple: type: array - example: [ ] + example: [] items: $ref: '#/components/schemas/TvmStackRecord' RawBlockchainConfig: @@ -4904,43 +5051,38 @@ components: config: type: object additionalProperties: true - example: { } - + example: {} BlockchainConfig: type: object required: - raw - - "0" - - "1" - - "2" - - "4" - - "44" + - '0' + - '1' + - '2' + - '4' + - '44' properties: - raw: - type: string - format: cell - description: config boc in hex format - "0": + '0': type: string format: address - description: "config address" - "1": + description: config address + '1': type: string format: address - description: "elector address" - "2": + description: elector address + '2': type: string format: address - description: "minter address" - "3": + description: minter address + '3': type: string format: address - description: "The address of the transaction fee collector." - "4": + description: The address of the transaction fee collector. + '4': type: string format: address - description: "dns root address" - "5": + description: dns root address + '5': type: object required: - fee_burn_nom @@ -4955,7 +5097,7 @@ components: fee_burn_denom: type: integer format: int64 - "6": + '6': type: object description: Minting fees of new currencies. required: @@ -4968,7 +5110,7 @@ components: mint_add_price: type: integer format: int64 - "7": + '7': type: object description: The volume of each of the additional currencies in circulation. required: @@ -4987,9 +5129,7 @@ components: format: int64 amount: type: string - # x-js-format: bigint - # example: "1000000" - "8": + '8': type: object description: The network version and additional capabilities supported by the validators. required: @@ -5002,7 +5142,7 @@ components: capabilities: type: integer format: int64 - "9": + '9': type: object description: List of mandatory parameters of the blockchain config. required: @@ -5013,7 +5153,7 @@ components: items: type: integer format: int32 - "10": + '10': type: object description: List of critical TON parameters, the change of which significantly affects the network, so more voting rounds are held. required: @@ -5024,7 +5164,7 @@ components: items: type: integer format: int32 - "11": + '11': type: object description: This parameter indicates under what conditions proposals to change the TON configuration are accepted. required: @@ -5035,7 +5175,7 @@ components: $ref: '#/components/schemas/ConfigProposalSetup' critical_params: $ref: '#/components/schemas/ConfigProposalSetup' - "12": + '12': type: object description: Workchains in the TON Blockchain required: @@ -5045,7 +5185,7 @@ components: type: array items: $ref: '#/components/schemas/WorkchainDescr' - "13": + '13': type: object description: The cost of filing complaints about incorrect operation of validators. required: @@ -5062,7 +5202,7 @@ components: cell_price: type: integer format: int64 - "14": + '14': type: object description: The reward in nanoTons for block creation in the TON blockchain. required: @@ -5075,7 +5215,7 @@ components: basechain_block_fee: type: integer format: int64 - "15": + '15': type: object description: The reward in nanoTons for block creation in the TON blockchain. required: @@ -5100,7 +5240,7 @@ components: type: integer format: int64 example: 32768 - "16": + '16': type: object description: The limits on the number of validators in the TON blockchain. required: @@ -5117,7 +5257,7 @@ components: min_validators: type: integer example: 75 - "17": + '17': type: object description: The stake parameters configuration in the TON blockchain. required: @@ -5128,20 +5268,14 @@ components: properties: min_stake: type: string - # x-js-format: bigint - # example: "1000000" max_stake: type: string - # x-js-format: bigint - # example: "1000000" min_total_stake: type: string - # x-js-format: bigint - # example: "1000000" max_stake_factor: type: integer format: int64 - "18": + '18': type: object description: The prices for data storage. required: @@ -5178,7 +5312,7 @@ components: type: integer format: int64 example: 500000 - "20": + '20': type: object description: The cost of computations in the masterchain. The complexity of any computation is estimated in gas units. required: @@ -5186,7 +5320,7 @@ components: properties: gas_limits_prices: $ref: '#/components/schemas/GasLimitPrices' - "21": + '21': type: object description: The cost of computations in the basechains. The complexity of any computation is estimated in gas units. required: @@ -5194,7 +5328,7 @@ components: properties: gas_limits_prices: $ref: '#/components/schemas/GasLimitPrices' - "22": + '22': type: object description: The limits on the block in the masterchain, upon reaching which the block is finalized and the callback of the remaining messages (if any) is carried over to the next block. required: @@ -5202,7 +5336,7 @@ components: properties: block_limits: $ref: '#/components/schemas/BlockLimits' - "23": + '23': type: object description: The limits on the block in the basechains, upon reaching which the block is finalized and the callback of the remaining messages (if any) is carried over to the next block. required: @@ -5210,7 +5344,7 @@ components: properties: block_limits: $ref: '#/components/schemas/BlockLimits' - "24": + '24': type: object description: The cost of sending messages in the masterchain of the TON blockchain. required: @@ -5218,7 +5352,7 @@ components: properties: msg_forward_prices: $ref: '#/components/schemas/MsgForwardPrices' - "25": + '25': type: object description: The cost of sending messages in the basechains of the TON blockchain. required: @@ -5226,7 +5360,7 @@ components: properties: msg_forward_prices: $ref: '#/components/schemas/MsgForwardPrices' - "28": + '28': type: object description: The configuration for the Catchain protocol. required: @@ -5257,7 +5391,7 @@ components: example: 1000000 shuffle_mc_validators: type: boolean - "29": + '29': type: object description: The configuration for the consensus protocol above catchain. required: @@ -5317,7 +5451,7 @@ components: type: integer format: int64 example: 10000 - "31": + '31': type: object description: The configuration for the consensus protocol above catchain. required: @@ -5328,20 +5462,20 @@ components: items: type: string format: address - example: -1:dd24c4a1f2b88f8b7053513b5cc6c5a31bc44b2a72dcb4d8c0338af0f0d37ec5 - "32": + example: '-1:dd24c4a1f2b88f8b7053513b5cc6c5a31bc44b2a72dcb4d8c0338af0f0d37ec5' + '32': $ref: '#/components/schemas/ValidatorsSet' - "33": + '33': $ref: '#/components/schemas/ValidatorsSet' - "34": + '34': $ref: '#/components/schemas/ValidatorsSet' - "35": + '35': $ref: '#/components/schemas/ValidatorsSet' - "36": + '36': $ref: '#/components/schemas/ValidatorsSet' - "37": + '37': $ref: '#/components/schemas/ValidatorsSet' - "40": + '40': type: object description: The configuration for punishment for improper behavior (non-validation). In the absence of the parameter, the default fine size is 101 TON required: @@ -5349,7 +5483,7 @@ components: properties: misbehaviour_punishment_config: $ref: '#/components/schemas/MisbehaviourPunishmentConfig' - "43": + '43': type: object description: The size limits and some other characteristics of accounts and messages. required: @@ -5357,7 +5491,7 @@ components: properties: size_limits_config: $ref: '#/components/schemas/SizeLimitsConfig' - "44": + '44': type: object description: suspended accounts required: @@ -5369,11 +5503,10 @@ components: items: type: string format: address - example: 0:0000000000000000000000000000000000000000000000000000000000000000 + example: '0:0000000000000000000000000000000000000000000000000000000000000000' suspended_until: type: integer - - "45": + '45': type: object description: precompiled contracts required: @@ -5393,7 +5526,7 @@ components: gas_usage: type: integer format: int64 - "71": + '71': type: object description: Bridge parameters for wrapping TON in other networks. required: @@ -5401,7 +5534,7 @@ components: properties: oracle_bridge_params: $ref: '#/components/schemas/OracleBridgeParams' - "72": + '72': type: object description: Bridge parameters for wrapping TON in other networks. required: @@ -5409,7 +5542,7 @@ components: properties: oracle_bridge_params: $ref: '#/components/schemas/OracleBridgeParams' - "73": + '73': type: object description: Bridge parameters for wrapping TON in other networks. required: @@ -5417,7 +5550,7 @@ components: properties: oracle_bridge_params: $ref: '#/components/schemas/OracleBridgeParams' - "79": + '79': type: object description: Bridge parameters for wrapping tokens from other networks into tokens on the TON network. required: @@ -5425,7 +5558,7 @@ components: properties: jetton_bridge_params: $ref: '#/components/schemas/JettonBridgeParams' - "81": + '81': type: object description: Bridge parameters for wrapping tokens from other networks into tokens on the TON network. required: @@ -5433,7 +5566,7 @@ components: properties: jetton_bridge_params: $ref: '#/components/schemas/JettonBridgeParams' - "82": + '82': type: object description: Bridge parameters for wrapping tokens from other networks into tokens on the TON network. required: @@ -5441,6 +5574,10 @@ components: properties: jetton_bridge_params: $ref: '#/components/schemas/JettonBridgeParams' + raw: + type: string + format: cell + description: config boc in hex format DomainNames: type: object required: @@ -5490,6 +5627,7 @@ components: type: string enum: - whitelist + - graylist - blacklist - none JettonPreview: @@ -5521,11 +5659,27 @@ components: example: https://cache.tonapi.io/images/jetton.jpg verification: $ref: '#/components/schemas/JettonVerificationType' - custom_payload_api_uri: # todo: maybe remove + custom_payload_api_uri: type: string score: type: integer format: int32 + scaled_ui: + $ref: '#/components/schemas/ScaledUI' + ScaledUI: + type: object + required: + - numerator + - denominator + properties: + numerator: + type: string + x-js-format: bigint + example: '597968399' + denominator: + type: string + x-js-format: bigint + example: '597968399' JettonBalance: type: object required: @@ -5536,7 +5690,7 @@ components: balance: type: string x-js-format: bigint - example: "597968399" + example: '597968399' price: $ref: '#/components/schemas/TokenRates' wallet_address: @@ -5559,7 +5713,7 @@ components: amount: type: string x-js-format: bigint - example: "597968399" + example: '597968399' till: type: integer format: int64 @@ -5573,19 +5727,57 @@ components: type: array items: $ref: '#/components/schemas/JettonBalance' + CurrencyType: + type: string + example: jetton + enum: + - native + - extra_currency + - jetton + - fiat + VaultDepositInfo: + type: object + required: + - price + - vault + properties: + price: + $ref: '#/components/schemas/Price' + vault: + type: string + format: address + example: 0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0 Price: type: object required: + - currency_type - value + - decimals - token_name + - verification + - image properties: + currency_type: + $ref: '#/components/schemas/CurrencyType' value: type: string x-js-format: bigint - example: "123000000000" + example: '123000000000' + decimals: + type: integer + example: 9 token_name: type: string example: TON + verification: + $ref: '#/components/schemas/TrustType' + image: + type: string + example: https://cache.tonapi.io/images/jetton.jpg + jetton: + type: string + format: address + example: 0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0 ImagePreview: type: object required: @@ -5594,10 +5786,10 @@ components: properties: resolution: type: string - example: "100x100" + example: 100x100 url: type: string - example: "https://site.com/pic1.jpg" + example: https://site.com/pic1.jpg NftApprovedBy: type: array items: @@ -5667,15 +5859,15 @@ components: example: TON Diamonds description: type: string - example: "Best collection in TON network" + example: Best collection in TON network verified: type: boolean - description: "Collection master contract confirmed that this item is part of collection" + description: Collection master contract confirmed that this item is part of collection example: true metadata: type: object additionalProperties: true - example: { } + example: {} sale: $ref: '#/components/schemas/Sale' previews: @@ -5686,9 +5878,10 @@ components: type: string example: crypto.ton approved_by: + allOf: + - $ref: '#/components/schemas/NftApprovedBy' deprecated: true - description: "please use trust field" - $ref: '#/components/schemas/NftApprovedBy' + description: Please use trust field include_cnft: type: boolean example: false @@ -5725,11 +5918,9 @@ components: address: type: string format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf seqno: - type: integer - format: int64 - example: 1 + type: string threshold: type: integer format: int32 @@ -5738,13 +5929,13 @@ components: items: type: string format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf proposers: type: array items: type: string format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf orders: type: array items: @@ -5762,15 +5953,14 @@ components: - risk - creation_date - signed_by + - multisig_address properties: address: type: string format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf order_seqno: - type: integer - format: int64 - example: 1 + type: string threshold: type: integer format: int32 @@ -5782,7 +5972,7 @@ components: items: type: string format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf approvals_num: type: integer format: int32 @@ -5799,7 +5989,32 @@ components: items: type: string format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf + multisig_address: + type: string + format: address + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf + changing_parameters: + type: object + required: + - threshold + - signers + - proposers + properties: + threshold: + type: integer + format: int32 + signers: + type: array + items: + type: string + format: address + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf + proposers: + type: array + items: + type: string + format: address Refund: type: object required: @@ -5815,7 +6030,7 @@ components: - GetGems origin: type: string - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf ValueFlow: type: object required: @@ -5852,7 +6067,7 @@ components: qty: type: string x-js-format: bigint - example: "200" + example: '200' quantity: type: integer deprecated: true @@ -5869,15 +6084,15 @@ components: properties: type: type: string - example: "TonTransfer" + example: TonTransfer enum: - TonTransfer - ExtraCurrencyTransfer + - ContractDeploy - JettonTransfer - JettonBurn - JettonMint - NftItemTransfer - - ContractDeploy - Subscribe - UnSubscribe - AuctionBid @@ -5885,17 +6100,23 @@ components: - DepositStake - WithdrawStake - WithdrawStakeRequest + - ElectionsDepositStake + - ElectionsRecoverStake - JettonSwap - SmartContractExec - - ElectionsRecoverStake - - ElectionsDepositStake - DomainRenew - - InscriptionTransfer - - InscriptionMint + - Purchase + - AddExtension + - RemoveExtension + - SetSignatureAllowedAction + - GasRelay + - DepositTokenStake + - WithdrawTokenStakeRequest + - LiquidityDeposit - Unknown status: type: string - example: "ok" + example: ok enum: - ok - failed @@ -5937,17 +6158,29 @@ components: $ref: '#/components/schemas/SmartContractAction' DomainRenew: $ref: '#/components/schemas/DomainRenewAction' - InscriptionTransfer: - $ref: '#/components/schemas/InscriptionTransferAction' - InscriptionMint: - $ref: '#/components/schemas/InscriptionMintAction' + Purchase: + $ref: '#/components/schemas/PurchaseAction' + AddExtension: + $ref: '#/components/schemas/AddExtensionAction' + RemoveExtension: + $ref: '#/components/schemas/RemoveExtensionAction' + SetSignatureAllowedAction: + $ref: '#/components/schemas/SetSignatureAllowedAction' + GasRelay: + $ref: '#/components/schemas/GasRelayAction' + DepositTokenStake: + $ref: '#/components/schemas/DepositTokenStakeAction' + WithdrawTokenStakeRequest: + $ref: '#/components/schemas/WithdrawTokenStakeRequestAction' + LiquidityDeposit: + $ref: '#/components/schemas/LiquidityDepositAction' simple_preview: $ref: '#/components/schemas/ActionSimplePreview' base_transactions: type: array items: type: string - description: "transaction hash" + description: transaction hash example: e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e TonTransferAction: type: object @@ -5968,7 +6201,9 @@ components: x-js-format: bigint comment: type: string - example: "Hi! This is your salary. \nFrom accounting with love." + example: |- + Hi! This is your salary. + From accounting with love. encrypted_comment: $ref: '#/components/schemas/EncryptedComment' refund: @@ -6018,11 +6253,13 @@ components: amount: type: string x-js-format: bigint - example: "1000000000" + example: '1000000000' description: amount in quanta of tokens comment: type: string - example: "Hi! This is your salary. \nFrom accounting with love." + example: |- + Hi! This is your salary. + From accounting with love. encrypted_comment: $ref: '#/components/schemas/EncryptedComment' currency: @@ -6047,10 +6284,9 @@ components: x-js-format: bigint operation: type: string - example: "NftTransfer or 0x35d95a12" + example: NftTransfer or 0x35d95a12 payload: type: string - # example ??, maybe cell? refund: $ref: '#/components/schemas/Refund' DomainRenewAction: @@ -6062,75 +6298,83 @@ components: properties: domain: type: string - example: "vasya.ton" + example: vasya.ton contract_address: type: string format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf renewer: $ref: '#/components/schemas/AccountAddress' - InscriptionMintAction: + GasRelayAction: type: object required: - - type - - ticker - - recipient - amount - - decimals + - relayer + - target properties: - recipient: - $ref: '#/components/schemas/AccountAddress' amount: - type: string - x-js-format: bigint - description: amount in minimal particles - example: "123456789" - type: - type: string - enum: - - ton20 - - gram20 - example: "ton20" - ticker: - type: string - example: "nano" - decimals: type: integer - example: 9 - InscriptionTransferAction: + format: int64 + x-js-format: bigint + example: 1000000000 + relayer: + $ref: '#/components/schemas/AccountAddress' + target: + $ref: '#/components/schemas/AccountAddress' + PurchaseAction: type: object required: - - sender - - recipient + - source + - destination + - invoice_id - amount - - type - - ticker - - decimals + - metadata properties: - sender: + source: $ref: '#/components/schemas/AccountAddress' - recipient: + destination: $ref: '#/components/schemas/AccountAddress' - amount: - type: string - x-js-format: bigint - description: amount in minimal particles - example: "123456789" - comment: + invoice_id: type: string - example: "Hi! This is your salary. \nFrom accounting with love." - type: + example: 03cfc582-b1c3-410a-a9a7-1f3afe326b3b + amount: + $ref: '#/components/schemas/Price' + metadata: + $ref: '#/components/schemas/Metadata' + AddExtensionAction: + type: object + required: + - wallet + - extension + properties: + wallet: + $ref: '#/components/schemas/AccountAddress' + extension: type: string - enum: - - ton20 - - gram20 - example: "ton20" - ticker: + format: address + example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365 + RemoveExtensionAction: + type: object + required: + - wallet + - extension + properties: + wallet: + $ref: '#/components/schemas/AccountAddress' + extension: type: string - example: "nano" - decimals: - type: integer - example: 9 + format: address + example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365 + SetSignatureAllowedAction: + type: object + required: + - wallet + - allowed + properties: + wallet: + $ref: '#/components/schemas/AccountAddress' + allowed: + type: boolean NftItemTransferAction: type: object required: @@ -6142,16 +6386,19 @@ components: $ref: '#/components/schemas/AccountAddress' nft: type: string - example: "" + format: maybe-address + example: '' comment: type: string - example: "Hi! This is your salary. \nFrom accounting with love." + example: |- + Hi! This is your salary. + From accounting with love. encrypted_comment: $ref: '#/components/schemas/EncryptedComment' payload: type: string description: raw hex encoded payload - example: '0234de3e21d21b3ee21f3' + example: 0234de3e21d21b3ee21f3 refund: $ref: '#/components/schemas/Refund' JettonTransferAction: @@ -6177,11 +6424,13 @@ components: amount: type: string x-js-format: bigint - example: "1000000000" + example: '1000000000' description: amount in quanta of tokens comment: type: string - example: "Hi! This is your salary. \nFrom accounting with love." + example: |- + Hi! This is your salary. + From accounting with love. encrypted_comment: $ref: '#/components/schemas/EncryptedComment' refund: @@ -6205,7 +6454,7 @@ components: amount: type: string x-js-format: bigint - example: "1000000000" + example: '1000000000' description: amount in quanta of tokens jetton: $ref: '#/components/schemas/JettonPreview' @@ -6226,7 +6475,7 @@ components: amount: type: string x-js-format: bigint - example: "1000000000" + example: '1000000000' description: amount in quanta of tokens jetton: $ref: '#/components/schemas/JettonPreview' @@ -6239,19 +6488,22 @@ components: address: type: string format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf interfaces: type: array items: type: string - example: [ "nft_item", "nft_royalty" ] + example: + - nft_item + - nft_royalty SubscriptionAction: type: object required: - subscriber - subscription - beneficiary - - amount + - admin + - price - initial properties: subscriber: @@ -6259,14 +6511,19 @@ components: subscription: type: string format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf beneficiary: $ref: '#/components/schemas/AccountAddress' + admin: + $ref: '#/components/schemas/AccountAddress' amount: + deprecated: true type: integer format: int64 example: 1000000000 x-js-format: bigint + price: + $ref: '#/components/schemas/Price' initial: type: boolean example: false @@ -6276,15 +6533,18 @@ components: - subscriber - subscription - beneficiary + - admin properties: subscriber: $ref: '#/components/schemas/AccountAddress' subscription: type: string format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf beneficiary: $ref: '#/components/schemas/AccountAddress' + admin: + $ref: '#/components/schemas/AccountAddress' AuctionBidAction: type: object required: @@ -6309,7 +6569,7 @@ components: auction: $ref: '#/components/schemas/AccountAddress' DepositStakeAction: - description: "validator's participation in elections" + description: validator's participation in elections type: object required: - amount @@ -6329,7 +6589,7 @@ components: implementation: $ref: '#/components/schemas/PoolImplementationType' WithdrawStakeAction: - description: "validator's participation in elections" + description: validator's participation in elections type: object required: - amount @@ -6349,7 +6609,7 @@ components: implementation: $ref: '#/components/schemas/PoolImplementationType' WithdrawStakeRequestAction: - description: "validator's participation in elections" + description: validator's participation in elections type: object required: - staker @@ -6404,18 +6664,15 @@ components: properties: dex: type: string - enum: - - stonfi - - dedust - - megatonfi + example: stonfi amount_in: type: string x-js-format: bigint - example: "1660050553" + example: '1660050553' amount_out: type: string x-js-format: bigint - example: "1660050553" + example: '1660050553' ton_in: type: integer example: 1000000000 @@ -6458,6 +6715,45 @@ components: $ref: '#/components/schemas/AccountAddress' buyer: $ref: '#/components/schemas/AccountAddress' + DepositTokenStakeAction: + type: object + required: + - staker + - protocol + properties: + staker: + $ref: '#/components/schemas/AccountAddress' + protocol: + $ref: '#/components/schemas/Protocol' + stake_meta: + $ref: '#/components/schemas/Price' + WithdrawTokenStakeRequestAction: + type: object + required: + - staker + - protocol + properties: + staker: + $ref: '#/components/schemas/AccountAddress' + protocol: + $ref: '#/components/schemas/Protocol' + stake_meta: + $ref: '#/components/schemas/Price' + LiquidityDepositAction: + type: object + required: + - protocol + - from + - tokens + properties: + protocol: + $ref: '#/components/schemas/Protocol' + from: + $ref: '#/components/schemas/AccountAddress' + tokens: + type: array + items: + $ref: '#/components/schemas/VaultDepositInfo' ActionSimplePreview: type: object description: shortly describes what this action is about. @@ -6468,16 +6764,16 @@ components: properties: name: type: string - example: "Ton Transfer" + example: Ton Transfer description: type: string - example: "Transferring 5 Ton" + example: Transferring 5 Ton action_image: type: string description: a link to an image for this particular action. value: type: string - example: "5 Ton" + example: 5 Ton value_image: type: string description: a link to an image that depicts this action's asset. @@ -6497,6 +6793,7 @@ components: - lt - in_progress - extra + - progress properties: event_id: type: string @@ -6529,6 +6826,12 @@ components: type: integer format: int64 example: 3 + progress: + type: number + format: float + minimum: 0 + maximum: 1 + example: 0.5 AccountEvents: type: object required: @@ -6543,6 +6846,67 @@ components: type: integer format: int64 example: 25713146000001 + Purchase: + type: object + required: + - event_id + - invoice_id + - source + - destination + - lt + - utime + - amount + - metadata + properties: + event_id: + type: string + example: e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e + invoice_id: + type: string + example: 03cfc582-b1c3-410a-a9a7-1f3afe326b3b + source: + $ref: '#/components/schemas/AccountAddress' + destination: + $ref: '#/components/schemas/AccountAddress' + lt: + type: integer + format: int64 + example: 25713146000001 + x-js-format: bigint + utime: + type: integer + format: int64 + example: 1645544908 + amount: + $ref: '#/components/schemas/Price' + metadata: + $ref: '#/components/schemas/Metadata' + AccountPurchases: + type: object + required: + - purchases + - next_from + properties: + purchases: + type: array + items: + $ref: '#/components/schemas/Purchase' + next_from: + type: integer + format: int64 + example: 25713146000001 + Metadata: + type: object + required: + - encrypted_binary + properties: + encrypted_binary: + type: string + description: hex encoded bytes + decryption_key: + type: string + description: hex encoded bytes + example: dead.....beef TraceID: type: object required: @@ -6578,62 +6942,52 @@ components: Subscription: type: object required: - - address - - wallet_address - - beneficiary_address - - amount + - type + - status - period - - start_time - - timeout - - last_payment_time - - last_request_time - subscription_id - - failed_attempts + - payment_per_period + - wallet + - next_charge_at + - metadata properties: - address: - type: string - format: address - example: 0:dea8f638b789172ce36d10a20318125e52c649aa84893cd77858224fe2b9b0ee - wallet_address: + type: type: string - format: address - example: 0:567DE86AF2B6A557D7085807CF7C26338124987A5179344F0D0FA2657EB710F1 - beneficiary_address: + description: type of subscription + example: v2 + status: type: string - format: address - example: 0:c704dadfabac88eab58e340de03080df81ff76636431f48624ad6e26fb2da0a4 - amount: - type: integer - format: int64 - example: 1000000000 + enum: + - not_ready + - active + - suspended + - cancelled period: type: integer + description: payment period in seconds format: int64 example: 2592000 - start_time: - type: integer - format: int64 - example: 1653996832 - timeout: - type: integer - format: int64 - example: 10800 - last_payment_time: - type: integer - format: int64 - example: 1653996834 - last_request_time: - type: integer - format: int64 - example: 0 subscription_id: + type: string + description: common identifier + payment_per_period: + $ref: '#/components/schemas/Price' + wallet: + $ref: '#/components/schemas/AccountAddress' + next_charge_at: type: integer format: int64 - example: 217477 - failed_attempts: - type: integer - format: int32 - example: 0 + example: 1653996834 + metadata: + $ref: '#/components/schemas/Metadata' + address: + type: string + format: maybe-address + example: 0:dea8f638b789172ce36d10a20318125e52c649aa84893cd77858224fe2b9b0ee + beneficiary: + $ref: '#/components/schemas/AccountAddress' + admin: + $ref: '#/components/schemas/AccountAddress' Subscriptions: type: object required: @@ -6700,7 +7054,7 @@ components: address: type: string format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf account: $ref: '#/components/schemas/AccountAddress' is_wallet: @@ -6716,7 +7070,7 @@ components: type: array items: type: string - example: "name" + example: name DomainInfo: type: object required: @@ -6739,17 +7093,17 @@ components: $ref: '#/components/schemas/WalletDNS' next_resolver: type: string - format: address - example: "0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + format: maybe-address + example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf sites: type: array items: type: string - example: "http://12234.ton" + example: http://12234.ton storage: type: string - description: "tonstorage bag id" - example: "da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf" + description: tonstorage bag id + example: da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf NftCollection: type: object required: @@ -6774,7 +7128,7 @@ components: metadata: type: object additionalProperties: true - example: { } + example: {} previews: type: array items: @@ -6802,7 +7156,9 @@ components: type: array items: type: string - example: [ "wallet", "tep62_item" ] + example: + - wallet + - tep62_item children: type: array items: @@ -6849,6 +7205,10 @@ components: type: array items: $ref: '#/components/schemas/NftItem' + total_equivalent: + type: number + format: float + description: Estimated equivalent value of all assets at risk in selected currency (for example USD) JettonQuantity: type: object required: @@ -6859,7 +7219,7 @@ components: quantity: type: string x-js-format: bigint - example: "597968399" + example: '597968399' wallet_address: $ref: '#/components/schemas/AccountAddress' jetton: @@ -6874,7 +7234,7 @@ components: $ref: '#/components/schemas/AccountAddress' destination_wallet_version: type: string - example: "v3R2" + example: v3R2 ext_in_msg_decoded: type: object properties: @@ -6959,7 +7319,7 @@ components: example: 1 bounded_query_id: type: string - example: "34254528475294857" + example: '34254528475294857' raw_messages: type: array items: @@ -6980,12 +7340,12 @@ components: format: cell decoded_op_name: type: string - example: "nft_transfer" + example: nft_transfer op_code: type: string x-js-format: bigint - example: "0xdeadbeaf" - decoded_body: { } # Free-form JSON value + example: '0xdeadbeaf' + decoded_body: {} mode: type: integer example: 2 @@ -6999,6 +7359,7 @@ components: - is_scam - lt - in_progress + - progress properties: event_id: type: string @@ -7028,6 +7389,12 @@ components: type: boolean example: false description: Event is not finished yet. Transactions still happening + progress: + type: number + format: float + minimum: 0 + maximum: 1 + example: 0.5 JettonMetadata: type: object required: @@ -7048,10 +7415,10 @@ components: example: WTON decimals: type: string - example: "9" + example: '9' image: type: string - example: "https://bitcoincash-example.github.io/website/logo.png" + example: https://bitcoincash-example.github.io/website/logo.png description: this field currently returns a cached image URL (e.g., "https://cache.tonapi.io/images/jetton.jpg"). In the future, this will be replaced with the original URL from the metadata. The cached image is already available in the `preview` field of `JettonInfo` and will remain there. description: type: string @@ -7060,53 +7427,26 @@ components: type: array items: type: string - example: [ "https://t.me/durov_coin", "https://twitter.com/durov_coin" ] + example: + - https://t.me/durov_coin + - https://twitter.com/durov_coin websites: type: array items: type: string - example: [ "https://durov.coin", "ton://durov-coin.ton" ] + example: + - https://durov.coin + - ton://durov-coin.ton catalogs: type: array items: type: string - example: [ "https://coinmarketcap.com/currencies/drv/", "https://www.coingecko.com/en/coins/durov" ] + example: + - https://coinmarketcap.com/currencies/drv/ + - https://www.coingecko.com/en/coins/durov custom_payload_api_uri: type: string - example: "https://claim-api.tonapi.io/jettons/TESTMINT" - InscriptionBalances: - type: object - required: - - inscriptions - properties: - inscriptions: - type: array - items: - $ref: '#/components/schemas/InscriptionBalance' - InscriptionBalance: - type: object - required: - - type - - ticker - - balance - - decimals - properties: - type: - type: string - enum: - - ton20 - - gram20 - example: "ton20" - ticker: - type: string - example: "nano" - balance: - type: string - x-js-format: bigint - example: "1000000000" - decimals: - type: integer - example: 9 + example: https://claim-api.tonapi.io/jettons/TESTMINT Jettons: type: object required: @@ -7132,20 +7472,22 @@ components: total_supply: type: string x-js-format: bigint - example: "5887105890579978" + example: '5887105890579978' admin: $ref: '#/components/schemas/AccountAddress' metadata: $ref: '#/components/schemas/JettonMetadata' preview: type: string - example: "https://cache.tonapi.io/images/jetton.jpg" + example: https://cache.tonapi.io/images/jetton.jpg verification: $ref: '#/components/schemas/JettonVerificationType' holders_count: type: integer format: int32 example: 2000 + scaled_ui: + $ref: '#/components/schemas/ScaledUI' JettonHolders: type: object required: @@ -7170,7 +7512,7 @@ components: balance: type: string x-js-format: bigint - example: "168856200518084" + example: '168856200518084' description: balance in the smallest jetton's units total: type: integer @@ -7184,14 +7526,12 @@ components: properties: custom_payload: type: string - # format: ??? - example: "b5ee9c72410212010001b40009460395b521c9251151ae7987e03c544bd275d6cd42c2d157f840beb14d5454b96718000d012205817002020328480101fd7f6a648d4f771d7f0abc1707e4e806b19de1801f65eb8c133a4cfb0c33d847000b22012004052848010147da975b922d89192f4c9b68a640daa6764ec398c93cec025e17f0c1852a711a0009220120061122012007082848010170d9fb0423cbef6c2cf1f3811a2f640daf8c9a326b6f8816c1b993e90d88e2100006220120090a28480101f6df1d75f6b9e45f224b2cb4fc2286d927d47b468b6dbf1fedc4316290ec2ae900042201200b102201200c0f2201200d" - description: "hex-encoded BoC" + format: cell + description: hex-encoded BoC state_init: type: string - # format: ??? - example: "b5ee9c72410212010001b40009460395b521c9251151ae7987e03c544bd275d6cd42c2d157f840beb14d5454b96718000d012205817002020328480101fd7f6a648d4f771d7f0abc1707e4e806b19de1801f65eb8c133a4cfb0c33d847000b22012004052848010147da975b922d89192f4c9b68a640daa6764ec398c93cec025e17f0c1852a711a0009220120061122012007082848010170d9fb0423cbef6c2cf1f3811a2f640daf8c9a326b6f8816c1b993e90d88e2100006220120090a28480101f6df1d75f6b9e45f224b2cb4fc2286d927d47b468b6dbf1fedc4316290ec2ae900042201200b102201200c0f2201200d" - description: "hex-encoded BoC" + format: cell + description: hex-encoded BoC AccountStaking: type: object required: @@ -7212,7 +7552,7 @@ components: properties: pool: type: string - example: "EQBI-wGVp_x0VFEjd7m9cEUD3tJ_bnxMSp0Tb9qz757ATEAM" + example: EQBI-wGVp_x0VFEjd7m9cEUD3tJ_bnxMSp0Tb9qz757ATEAM amount: type: integer format: int64 @@ -7253,10 +7593,10 @@ components: address: type: string format: address - example: "0:48fb0195a7fc7454512377b9bd704503ded27f6e7c4c4a9d136fdab3ef9ec04c" + example: 0:48fb0195a7fc7454512377b9bd704503ded27f6e7c4c4a9d136fdab3ef9ec04c name: type: string - example: "Tonkeeper pool" + example: Tonkeeper pool total_amount: type: integer format: int64 @@ -7297,20 +7637,20 @@ components: liquid_jetton_master: type: string format: address - example: "0:4a91d32d0289bda9813ae00ff7640e6c38fdce76e4583dd6afc463b70c7d767c" - description: "for liquid staking master account of jetton" + example: 0:4a91d32d0289bda9813ae00ff7640e6c38fdce76e4583dd6afc463b70c7d767c + description: for liquid staking master account of jetton nominators_stake: type: integer format: int64 x-js-format: bigint example: 5000000000 - description: "total stake of all nominators" + description: total stake of all nominators validator_stake: type: integer format: int64 x-js-format: bigint example: 5000000000 - description: "stake of validator" + description: stake of validator cycle_length: type: integer format: int64 @@ -7327,15 +7667,15 @@ components: example: TON Whales description: type: string - example: "Oldest pool with minimal staking amount 50 TON" + example: Oldest pool with minimal staking amount 50 TON url: type: string - example: "https://tonvalidators.org/" + example: https://tonvalidators.org/ socials: type: array items: type: string - example: "https://t.me/tonwhales" + example: https://t.me/tonwhales StorageProvider: type: object required: @@ -7390,10 +7730,10 @@ components: format: address name: type: string - example: "blah_blah.ton" + example: blah_blah.ton preview: type: string - example: "https://cache.tonapi.io/images/media.jpg" + example: https://cache.tonapi.io/images/media.jpg trust: $ref: '#/components/schemas/TrustType' DnsExpiring: @@ -7415,20 +7755,26 @@ components: example: 1678275313 name: type: string - example: "blah_blah.ton" + example: blah_blah.ton dns_item: $ref: '#/components/schemas/NftItem' ChartPoints: type: array + items: false + description: | + Each inner array is a pair [timestamp, price]: + • index 0 — Unix timestamp (int64) + • index 1 — token price (decimal) in the requested currency. + example: + - 1668436763 + - 97.21323234 prefixItems: - type: integer format: int64 description: Unix timestamp of the data point - type: number description: Decimal price of the token in the requested currency - items: false additionalItems: false - example: [[ 1668436763, 97.21323234 ]] AccountInfoByStateInit: type: object required: @@ -7437,11 +7783,11 @@ components: properties: public_key: type: string - example: "NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3..." + example: NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQ3... address: type: string format: address - example: "0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b" + example: 0:97146a46acc2654y27947f14c4a4b14273e954f78bc017790b41208b0043200b Seqno: type: object required: @@ -7465,8 +7811,7 @@ components: format: int32 shard: type: string - # x-js-format: bigint ?? - example: "800000000000000" + example: '800000000000000' seqno: type: integer example: 30699640 @@ -7502,10 +7847,10 @@ components: properties: encryption_type: type: string - example: "simple" + example: simple cipher_text: type: string - example: "A6A0BD6608672B...CE3AF8DB" + example: A6A0BD6608672B...CE3AF8DB BlockchainAccountInspect: type: object required: @@ -7517,6 +7862,8 @@ components: code: type: string format: cell + disassembled_code: + type: string code_hash: type: string methods: @@ -7551,19 +7898,19 @@ components: additionalProperties: type: string example: - TON: "-1.28%" + TON: '-1.28%' diff_7d: type: object additionalProperties: type: string example: - TON: "-2.74%" + TON: '-2.74%' diff_30d: type: object additionalProperties: type: string example: - TON: "-0.56%" + TON: '-0.56%' MarketTonRates: type: object required: @@ -7573,10 +7920,10 @@ components: properties: market: type: string - example: "OKX" + example: OKX usd_price: type: number - example: 5.20 + example: 5.2 last_date_update: type: integer format: int64 @@ -7590,7 +7937,7 @@ components: amount: type: string x-js-format: bigint - example: "1000000000" + example: '1000000000' preview: $ref: '#/components/schemas/EcPreview' SourceFile: @@ -7635,8 +7982,157 @@ components: format: int64 method: type: string - example: "get_something" - + example: get_something + NftOperations: + type: object + required: + - operations + properties: + operations: + type: array + items: + $ref: '#/components/schemas/NftOperation' + next_from: + type: integer + format: int64 + example: 25713146000001 + x-js-format: bigint + NftOperation: + type: object + required: + - operation + - utime + - lt + - transaction_hash + - item + properties: + operation: + type: string + example: transfer + utime: + type: integer + format: int64 + example: 1234567890 + lt: + type: integer + format: int64 + example: 25713146000001 + x-js-format: bigint + transaction_hash: + type: string + example: '0xdeadbeaf' + source: + $ref: '#/components/schemas/AccountAddress' + destination: + $ref: '#/components/schemas/AccountAddress' + item: + $ref: '#/components/schemas/NftItem' + JettonOperations: + type: object + required: + - operations + properties: + operations: + type: array + items: + $ref: '#/components/schemas/JettonOperation' + next_from: + type: integer + format: int64 + example: 25713146000001 + x-js-format: bigint + JettonOperation: + type: object + required: + - operation + - utime + - lt + - jetton + - transaction_hash + - amount + - trace_id + - query_id + properties: + operation: + type: string + example: transfer + enum: + - transfer + - mint + - burn + utime: + type: integer + format: int64 + example: 1234567890 + lt: + type: integer + format: int64 + example: 25713146000001 + x-js-format: bigint + transaction_hash: + type: string + example: cbf3e3d70ecf6f69643dd430761cd6004de2cacbdbc3029b0abd30ca3cc1c67e + source: + $ref: '#/components/schemas/AccountAddress' + destination: + $ref: '#/components/schemas/AccountAddress' + amount: + type: string + x-js-format: bigint + example: '1000000000' + jetton: + $ref: '#/components/schemas/JettonPreview' + trace_id: + type: string + example: 8fa19eec7bd6d00d0d76048cebe31e34082a859410c9fcf7d55ef4ff8f7fcb47 + query_id: + type: string + example: '17286061481122318000' + x-js-format: bigint + payload: {} + ExecGetMethodArgType: + type: string + description: | + Data type of the argument value: + - `nan`: Not-a-Number value + - `null`: Null value + - `tinyint`: Decimal integer (e.g., `100500`) + - `int257`: 257-bit integer in hex format with 0x prefix (e.g., `0xfa01d78381ae32`) + - `slice`: TON blockchain address (e.g., `0:6e731f2e...`) + - `cell_boc_base64`: Base64-encoded cell BOC (Binary Object Code) (e.g., `te6ccgEBAQEAAgAAAA==`) + - `slice_boc_hex`: Hex-encoded slice BOC (e.g., `b5ee9c72...`) + enum: + - nan + - 'null' + - tinyint + - int257 + - slice + - cell_boc_base64 + - slice_boc_hex + example: int257 + ExecGetMethodArg: + type: object + required: + - type + - value + properties: + type: + $ref: '#/components/schemas/ExecGetMethodArgType' + value: + type: string + description: String representation of the value according to the specified type + example: '0xfa01d78381ae32' + Protocol: + type: object + required: + - name + properties: + name: + type: string + example: Ethena + image: + type: string + example: https://cache.tonapi.io/images/jetton.jpg responses: Error: description: Some error during request processing @@ -7651,4 +8147,4 @@ components: type: string error_code: type: integer - format: int64 \ No newline at end of file + format: int64 diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index bd31ca0..0be79d7 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -16,10 +16,10 @@ export interface Error { export interface AccountAddress { /** - * @format address + * @format maybe-address * @example "0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365" */ - address: Address; + address: Address | null; /** * Display name. Data collected from different sources like moderation lists, dns, collections names and over. * @example "Ton foundation" @@ -329,7 +329,8 @@ export enum AccStatusChange { export enum ComputeSkipReason { CskipNoState = 'cskip_no_state', CskipBadState = 'cskip_bad_state', - CskipNoGas = 'cskip_no_gas' + CskipNoGas = 'cskip_no_gas', + CskipSuspended = 'cskip_suspended' } /** @example "cskip_no_state" */ @@ -890,7 +891,7 @@ export interface BlockchainRawAccount { * @example 123456789 */ balance: bigint; - extraBalance?: Record