UNPKG

@tribecahq/tribeca-sdk

Version:

The TypeScript SDK for Tribeca, an open standard and toolkit for launching DAOs on Solana.

46 lines (40 loc) 1.18 kB
import { utils } from "@project-serum/anchor"; import { PublicKey, SystemProgram } from "@solana/web3.js"; import { TRIBECA_ADDRESSES } from "../../constants"; export * from "./pdaSync"; export const findLockerAddress = async ( base: PublicKey ): Promise<[PublicKey, number]> => { return await PublicKey.findProgramAddress( [utils.bytes.utf8.encode("Locker"), base.toBuffer()], TRIBECA_ADDRESSES.LockedVoter ); }; export const findEscrowAddress = async ( locker: PublicKey, authority: PublicKey ): Promise<[PublicKey, number]> => { return await PublicKey.findProgramAddress( [ utils.bytes.utf8.encode("Escrow"), locker.toBuffer(), authority.toBuffer(), ], TRIBECA_ADDRESSES.LockedVoter ); }; export const findWhitelistAddress = async ( locker: PublicKey, programId: PublicKey, owner: PublicKey | null ): Promise<[PublicKey, number]> => { return await PublicKey.findProgramAddress( [ utils.bytes.utf8.encode("LockerWhitelistEntry"), locker.toBuffer(), programId.toBuffer(), owner ? owner.toBuffer() : SystemProgram.programId.toBuffer(), ], TRIBECA_ADDRESSES.LockedVoter ); };