@rainfi/sdk
Version:
This package is used to interact with Rain.fi protocol on Solana
152 lines • 6.87 kB
JavaScript
;
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