UNPKG

@silvana-one/api

Version:
771 lines (765 loc) 16.9 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // dist/node/index.js var index_exports = {}; __export(index_exports, { airdropTokens: () => airdropTokens, approveNft: () => approveNft, burnTokens: () => burnTokens, buyNft: () => buyNft, buyTokens: () => buyTokens, cmsReadNft: () => cmsReadNft, cmsReserveNft: () => cmsReserveNft, cmsStoreNft: () => cmsStoreNft, config: () => config, faucet: () => faucet, getContractInfo: () => getContractInfo, getNftInfo: () => getNftInfo, getNftV2Info: () => getNftV2Info, getNonce: () => getNonce, getProof: () => getProof, getTokenBalance: () => getTokenBalance, getTokenHolders: () => getTokenHolders, getTokenInfo: () => getTokenInfo, getTransactions: () => getTransactions, launchNftCollection: () => launchNftCollection, launchToken: () => launchToken, mintNft: () => mintNft, mintTokens: () => mintTokens, prove: () => prove, redeemTokens: () => redeemTokens, sellNft: () => sellNft, sellTokens: () => sellTokens, sendTransaction: () => sendTransaction, tokenBid: () => tokenBid, tokenOffer: () => tokenOffer, transferNft: () => transferNft, transferTokens: () => transferTokens, txStatus: () => txStatus, updateTokenAdminWhitelist: () => updateTokenAdminWhitelist, updateTokenBidWhitelist: () => updateTokenBidWhitelist, updateTokenOfferWhitelist: () => updateTokenOfferWhitelist, waitForProofs: () => waitForProofs, waitForTransaction: () => waitForTransaction, withdrawTokenBid: () => withdrawTokenBid, withdrawTokenOffer: () => withdrawTokenOffer }); module.exports = __toCommonJS(index_exports); // dist/node/client/client.gen.js var import_client_fetch = require("@hey-api/client-fetch"); var client = (0, import_client_fetch.createClient)((0, import_client_fetch.createConfig)({ baseUrl: "https://minatokens.com/api/v1/" })); // dist/node/client/sdk.gen.js var launchNftCollection = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/nft/launch", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var launchToken = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/launch", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var getContractInfo = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/info/contract", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var getNftInfo = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/info/nft", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var getNftV2Info = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/info/nft-v2", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var faucet = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/faucet", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var getTokenInfo = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/info/token", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var getTokenBalance = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/info/balance", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var getNonce = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/info/nonce", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var getTokenHolders = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/info/holders", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var getTransactions = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/info/transactions", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var prove = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/transaction/prove", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var getProof = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/transaction/proof", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var sendTransaction = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/transaction/send", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var txStatus = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/transaction/status", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var mintTokens = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/mint", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var mintNft = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/nft/mint", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var transferNft = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/nft/transfer", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var cmsStoreNft = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/nft/cms/store", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var cmsReadNft = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/nft/cms/read", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var cmsReserveNft = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/nft/cms/reserve", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var approveNft = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/nft/approve", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var sellNft = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/nft/sell", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var buyNft = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/nft/buy", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var transferTokens = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/transfer", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var airdropTokens = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/airdrop", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var redeemTokens = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/redeem", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var burnTokens = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/burn", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var tokenBid = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/bid/create", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var tokenOffer = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/offer/create", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var buyTokens = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/offer/buy", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var sellTokens = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/bid/sell", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var withdrawTokenBid = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/bid/withdraw", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var withdrawTokenOffer = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/offer/withdraw", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var updateTokenBidWhitelist = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/bid/whitelist", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var updateTokenOfferWhitelist = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/offer/whitelist", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; var updateTokenAdminWhitelist = (options) => { return (options.client ?? client).post({ security: [ { name: "x-api-key", type: "apiKey" } ], url: "/token/admin/whitelist", ...options, headers: { "Content-Type": "application/json", ...options.headers } }); }; // dist/node/config.js function config({ apiKey, chain, throwOnError }) { client.setConfig({ headers: { "x-api-key": apiKey }, baseUrl: chain === "zeko" ? "https://zekotokens.com/api/v1/" : chain === "devnet" ? "https://devnet.minatokens.com/api/v1/" : "https://minatokens.com/api/v1/", throwOnError: throwOnError ?? true }); } // dist/node/wait.js async function waitForProofs(jobId) { console.log("Job ID:", jobId); let errorCount = 0; const startTime = Date.now(); console.log("Waiting for job result..."); while (errorCount < 100 && Date.now() - startTime < 1e3 * 60 * 10) { try { const jobResults = (await getProof({ body: { jobId } })).data; const jobStatus = jobResults?.jobStatus; if (jobResults?.success === true && (jobStatus === "finished" || jobStatus === "used")) { return jobResults.results?.map((result) => result.hash ?? "") ?? []; } if (jobStatus === "failed") { console.error(`Job ${jobId} failed`); return void 0; } } catch (error) { errorCount++; console.error(error); } await sleep(1e4); } return void 0; } async function waitForTransaction(hash, timeout = 1e3 * 60 * 60 * 5) { console.log(`Waiting for transaction ${hash} to be included in a block...`); const startTime = Date.now(); let status = "pending"; let errorCount = 0; while (status !== "applied" && errorCount < 100 && Date.now() - startTime < timeout) { try { const result = (await txStatus({ body: { hash } })).data; status = result?.status ?? "pending"; if (status === "failed") { throw new Error(`Transaction ${hash} failed: ${JSON.stringify({ result })}`); } else if (status === "applied") { console.log(`Transaction ${hash} included in a block`, result); return; } } catch (error) { errorCount++; console.error(error); } await sleep(3e4); } throw new Error(`Transaction ${hash} not included in a block, timeout or too many errors`); } async function sleep(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { airdropTokens, approveNft, burnTokens, buyNft, buyTokens, cmsReadNft, cmsReserveNft, cmsStoreNft, config, faucet, getContractInfo, getNftInfo, getNftV2Info, getNonce, getProof, getTokenBalance, getTokenHolders, getTokenInfo, getTransactions, launchNftCollection, launchToken, mintNft, mintTokens, prove, redeemTokens, sellNft, sellTokens, sendTransaction, tokenBid, tokenOffer, transferNft, transferTokens, txStatus, updateTokenAdminWhitelist, updateTokenBidWhitelist, updateTokenOfferWhitelist, waitForProofs, waitForTransaction, withdrawTokenBid, withdrawTokenOffer });