@surec/oracle
Version:
Typescript SDK for the Sure Oracle to be used to bring off-chain data on-chain
23 lines • 1.28 kB
JavaScript
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