UNPKG

@rainfi/sdk

Version:

This package is used to interact with Rain.fi protocol on Solana

152 lines 6.87 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSellerTradeState = exports.getBuyerTradeState = exports.getProgramAsSigner = exports.getEscrowPaymentAccount = exports.getWhitelistPda = exports.findRequestPda = exports.getLoanRequestPda = exports.findSignerMintStatsPda = exports.findLoanVaultTokenAccount = exports.findSignerStatsPda = exports.findTokenRecordPDA = exports.getNFTEdition = exports.getSplMortgageVaultPda = exports.findLoanVaultPda = exports.findCollectionPda = exports.findWSolSplVaultPda = exports.findPoolVaultPda = exports.findLoanAuthorityPda = exports.findAuthorityPda = exports.findPoolPda = void 0; const web3_js_1 = require("@solana/web3.js"); const bn_js_1 = __importDefault(require("bn.js")); const constant_1 = require("./constant"); function findPoolPda(publicKey) { const [pool] = web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from("poolv2"), publicKey.toBuffer(), ], constant_1.RAIN_PROGRAM); return pool; } exports.findPoolPda = findPoolPda; function findAuthorityPda(publicKey) { const [authority] = web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from("poolv2_authority"), publicKey.toBuffer(), ], constant_1.RAIN_PROGRAM); return authority; } exports.findAuthorityPda = findAuthorityPda; function findLoanAuthorityPda(publicKey) { const [authority] = web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from("loan_authority"), publicKey.toBuffer(), ], constant_1.RAIN_PROGRAM); return authority; } exports.findLoanAuthorityPda = findLoanAuthorityPda; function findPoolVaultPda(publicKey) { const [authority] = web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from("poolv2_vault"), publicKey.toBuffer(), ], constant_1.RAIN_PROGRAM); return authority; } exports.findPoolVaultPda = findPoolVaultPda; function findWSolSplVaultPda(publicKey) { const [authority] = web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from("poolv2_wsol_vault"), publicKey.toBuffer(), ], constant_1.RAIN_PROGRAM); return authority; } exports.findWSolSplVaultPda = findWSolSplVaultPda; function findCollectionPda(collectionId) { const [collection] = web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from("collection"), new bn_js_1.default(collectionId).toArrayLike(Buffer, 'le', 4), ], constant_1.RAIN_PROGRAM); return collection; } exports.findCollectionPda = findCollectionPda; function findLoanVaultPda(mortgageAddress) { const [mortgageVault] = web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from("loan_vault"), mortgageAddress.toBuffer(), ], constant_1.RAIN_PROGRAM); return mortgageVault; } exports.findLoanVaultPda = findLoanVaultPda; function getSplMortgageVaultPda(mortgageAddress) { const [mortgageVault] = web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from("spl_mortgage_vault"), mortgageAddress.toBuffer(), ], constant_1.RAIN_PROGRAM); return mortgageVault; } exports.getSplMortgageVaultPda = getSplMortgageVaultPda; function getNFTEdition(pNFTAddress) { const [mortgageVault] = web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from("metadata"), constant_1.METADATA_PROGRAM_ID.toBuffer(), pNFTAddress.toBuffer(), Buffer.from("edition"), ], constant_1.METADATA_PROGRAM_ID); return mortgageVault; } exports.getNFTEdition = getNFTEdition; const findTokenRecordPDA = (mint, token) => { return (web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from('metadata'), constant_1.METADATA_PROGRAM_ID.toBuffer(), mint.toBuffer(), Buffer.from('token_record'), token.toBuffer(), ], constant_1.METADATA_PROGRAM_ID))[0]; }; exports.findTokenRecordPDA = findTokenRecordPDA; function findSignerStatsPda(pubkey) { const [signerStats] = (web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stats"), pubkey.toBuffer()], constant_1.RAIN_PROGRAM)); return signerStats; } exports.findSignerStatsPda = findSignerStatsPda; const findLoanVaultTokenAccount = (loan) => { return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("loan_vault"), loan.toBuffer()], constant_1.RAIN_PROGRAM)[0]; }; exports.findLoanVaultTokenAccount = findLoanVaultTokenAccount; function findSignerMintStatsPda(pubkey, poolMint) { const [signerMintStats] = (web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("stats_mint"), poolMint.toBuffer(), pubkey.toBuffer()], constant_1.RAIN_PROGRAM)); return signerMintStats; } exports.findSignerMintStatsPda = findSignerMintStatsPda; function getLoanRequestPda(signer, nftMint) { const [mortgageVault] = web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from("loan_request"), signer.toBuffer(), nftMint.toBuffer(), ], constant_1.RAIN_PROGRAM); return mortgageVault; } exports.getLoanRequestPda = getLoanRequestPda; function findRequestPda(signer, nftMint) { const [mortgageVault] = web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from("request"), signer.toBuffer(), nftMint.toBuffer(), ], constant_1.RAIN_PROGRAM); return mortgageVault; } exports.findRequestPda = findRequestPda; function getWhitelistPda(nftMint) { const [whitelist] = web3_js_1.PublicKey.findProgramAddressSync([ Buffer.from('whitelist'), nftMint.toBuffer(), ], constant_1.GLOBAL_OFFER_PROGRAM); return whitelist; } exports.getWhitelistPda = getWhitelistPda; const getEscrowPaymentAccount = (auctionHouse, buyer) => { return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("m2"), auctionHouse.toBuffer(), buyer.toBuffer()], constant_1.MAGIC_EDEN_PROGRAM_ID); }; exports.getEscrowPaymentAccount = getEscrowPaymentAccount; const getProgramAsSigner = () => { return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("m2"), Buffer.from("signer")], constant_1.MAGIC_EDEN_PROGRAM_ID); }; exports.getProgramAsSigner = getProgramAsSigner; const getBuyerTradeState = (auctionHouse, buyer, mint) => { return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("m2"), buyer.toBuffer(), auctionHouse.toBuffer(), mint.toBuffer()], constant_1.MAGIC_EDEN_PROGRAM_ID)[0]; }; exports.getBuyerTradeState = getBuyerTradeState; const getSellerTradeState = (auctionHouse, buyer, mint, tokenAccount) => { return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("m2"), buyer.toBuffer(), auctionHouse.toBuffer(), tokenAccount.toBuffer(), mint.toBuffer()], constant_1.MAGIC_EDEN_PROGRAM_ID)[0]; }; exports.getSellerTradeState = getSellerTradeState; //# sourceMappingURL=pda.utils.js.map