import BN from "bn.js"; import { PublicKey } from "@solana/web3.js"; import { array, publicKey, str, struct, u128, u16, u64, u8 } from '@coral-xyz/borsh'; export interface BountySchedule { minBounty: BN; // u64 maxBounty: BN; // u64 minBountyUntil: BN; // u64 maxBountyAfter: BN; // u64 }; export const BountyScheduleLayout = struct([ u64('minBounty'), u64('maxBounty'), u64('minBountyUntil'), u64('maxBountyAfter'), ]); export interface Bounty { bountyDepositor: PublicKey; bountyMint: PublicKey; bountyPerPriceUpdateTask: BountySchedule; bountyPerTask: BountySchedule; bountyTotal: BN; // u64 bountyLeft: BN; // u64 } export const BountyLayout = struct([ publicKey('bountyDepositor'), publicKey('bountyMint'), BountyScheduleLayout.replicate('bountyPerPriceUpdateTask'), BountyScheduleLayout.replicate('bountyPerTask'), u64('bountyTotal'), u64('bountyLeft'), ]);