zebec-instant-card-sdk
Version:
An sdk for interacting with zebec instant card program in solana.
76 lines (75 loc) • 3.51 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DEFAULT_MAX_PRIORITY_FEE = exports.LAMPORTS_PER_MICRO_LAMPORT = exports.BASE_FEE_LAMPORTS = exports.DEFAULT_SWAP_FEE = exports.MAX_COMPUTE_UNIT = exports.DEFAULT_SEND_TRANSACTION_INTERVAL = exports.DEFAULT_MAX_CONFIRMATION_RETRIES = exports.JUP_SWAP_API = exports.CARD_LOOKUP_TABLE_ADDRESS = exports.FLEXLEND_RESERVE_ADMIN = exports.FLEXLEND_PROGRAM_ID = exports.MEMO_PROGRAM_ID = exports.ASSOCIATED_TOKEN_PROGRAM_ID = exports.TOKEN_PROGRAM_ID = exports.UNITS_PER_USDC = exports.TEN_BIGNUM = exports.ZBCN = exports.WSOL = exports.USDC_DECIMALS = exports.FLEXLEND_PROGRAM_SEEDS = exports.CARD_PROGRAM_SEEDS = exports.ZEBEC_CARD_PROGRAM = exports.isSdkEnvDev = void 0;
const bignumber_js_1 = require("bignumber.js");
const dotenv_1 = __importDefault(require("dotenv"));
const anchor_1 = require("@coral-xyz/anchor");
const web3_js_1 = require("@solana/web3.js");
dotenv_1.default.config();
const SDK_ENV = (_a = process.env.SDK_ENV) !== null && _a !== void 0 ? _a : "production";
exports.isSdkEnvDev = SDK_ENV === "development";
/**
* Zebec Card Program Ids
*/
exports.ZEBEC_CARD_PROGRAM = {
/** Mainnet Program Id */
mainnet: "HxZq3iRwN2a2myikHz8JNVufJ7FM92xV8kNvFpQaRgKd",
/** Devnet Program Id */
devnet: "HxZq3iRwN2a2myikHz8JNVufJ7FM92xV8kNvFpQaRgKd",
};
exports.CARD_PROGRAM_SEEDS = {
cardPdaSeed: "zic_instant_card_inits",
userPdaSeed: "user_vault",
vaultInfoSeed: "vault_pda",
buyerPdaSeed: "buyer_prepaid",
feeMapPdaSeed: "token_fees_map",
cardBotPdaSeed: "card_bot",
onRampConfigSeed: "onramp_configs",
onRampUserCustodySeed: "on_ramp_custody",
reloadAbleSeed: "reloadable",
};
exports.FLEXLEND_PROGRAM_SEEDS = {
promotionReserve: "promotion_reserve",
flexlend: "flexlend",
};
/** USDC Decimals = 6 */
exports.USDC_DECIMALS = 6;
/**
* WSOL Mint Address
*/
exports.WSOL = new web3_js_1.PublicKey("So11111111111111111111111111111111111111112");
exports.ZBCN = new web3_js_1.PublicKey("ZBCNpuD7YMXzTHB2fhGkGi78MNsHGLRXUhRewNRm9RU");
/** BigNumber Object for 10 */
exports.TEN_BIGNUM = (0, bignumber_js_1.BigNumber)(10);
exports.UNITS_PER_USDC = exports.TEN_BIGNUM.pow(exports.USDC_DECIMALS);
/** Token Program ID */
exports.TOKEN_PROGRAM_ID = anchor_1.utils.token.TOKEN_PROGRAM_ID;
/** Associated Token Program ID */
exports.ASSOCIATED_TOKEN_PROGRAM_ID = anchor_1.utils.token.ASSOCIATED_PROGRAM_ID;
/** Memo Program ID */
exports.MEMO_PROGRAM_ID = new web3_js_1.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr");
/** Flexlend Program ID */
exports.FLEXLEND_PROGRAM_ID = new web3_js_1.PublicKey("FL3X2pRsQ9zHENpZSKDRREtccwJuei8yg9fwDu9UN69Q");
/**
* Flexlend reserve admin key
*/
exports.FLEXLEND_RESERVE_ADMIN = new web3_js_1.PublicKey("4kpV5FK5qWuCoGnwVUkaAgtwfz769u3hpz53N1Ur1MrU");
exports.CARD_LOOKUP_TABLE_ADDRESS = new web3_js_1.PublicKey("Dw9K5oGzAsXybijfgKaJG2ka3WT2sfDoL6SnbCH9kWz");
exports.JUP_SWAP_API = "https://quote-api.jup.ag/v6/swap";
exports.DEFAULT_MAX_CONFIRMATION_RETRIES = 5;
/**
* In millisecond
*/
exports.DEFAULT_SEND_TRANSACTION_INTERVAL = 1000;
/**
* Max compute budget unit
*/
exports.MAX_COMPUTE_UNIT = 1400000;
exports.DEFAULT_SWAP_FEE = 5;
exports.BASE_FEE_LAMPORTS = 5000;
exports.LAMPORTS_PER_MICRO_LAMPORT = 0.000001;
exports.DEFAULT_MAX_PRIORITY_FEE = 0.001;