UNPKG

@surec/oracle

Version:

Typescript SDK for the Sure Oracle to be used to bring off-chain data on-chain

23 lines 1.28 kB
import * as anchor from '@project-serum/anchor'; import { SURE_ADDRESSES, SURE_ORACLE_CONFIG_SEED, SURE_ORACLE_REVEAL_ARRAY_SEED, SURE_ORACLE_SEED, SURE_ORACLE_VOTE_SEED, } from './constants.js'; import { createProposalHash } from './utils.js'; export class PDA { constructor() { } findProposalAddress({ proposalName, }) { const id = createProposalHash({ name: proposalName }); return anchor.utils.publicKey.findProgramAddressSync([SURE_ORACLE_SEED, id], SURE_ADDRESSES.Oracle); } findVoteAccount({ proposal, voter, }) { return anchor.utils.publicKey.findProgramAddressSync([SURE_ORACLE_VOTE_SEED, proposal.toBuffer(), voter.toBuffer()], SURE_ADDRESSES.Oracle); } findRevealVoteArrayAddress({ proposal, }) { return anchor.utils.publicKey.findProgramAddressSync([SURE_ORACLE_REVEAL_ARRAY_SEED, proposal.toBuffer()], SURE_ADDRESSES.Oracle); } findProposalVault({ proposal, }) { return anchor.utils.publicKey.findProgramAddressSync([SURE_ORACLE_SEED, proposal.toBuffer()], SURE_ADDRESSES.Oracle); } findOracleConfig({ tokenMint, }) { return anchor.utils.publicKey.findProgramAddressSync([SURE_ORACLE_CONFIG_SEED, tokenMint.toBuffer()], SURE_ADDRESSES.Oracle); } } //# sourceMappingURL=pda.js.map