UNPKG

@solsdk/tokenflow_sdk

Version:

A simple SDK for interacting with tokenflow

1 lines 6 kB
{"version":3,"file":"globalAccount.cjs","sources":["../../../src/globalAccount.ts"],"sourcesContent":["import { PublicKey } from \"@solana/web3.js\";\nimport { struct, bool, u64, publicKey } from \"@coral-xyz/borsh\";\n\n\n\nexport class GlobalAccount {\n // public discriminator: bigint;\n public initialized: boolean = false;\n public authority: PublicKey;\n public feeRecipient: PublicKey;\n public initialVirtualTokenReserves: bigint;\n public initialVirtualSolReserves: bigint;\n public initialRealTokenReserves: bigint;\n public initialTokenSupply: bigint;\n public mintFee: bigint;\n public systemFeeBasisPoints: bigint;\n public creatorFeeBasisPoints: bigint;\n\n constructor(\n // discriminator: bigint,\n initialized: boolean,\n authority: PublicKey,\n feeRecipient: PublicKey,\n initialVirtualTokenReserves: bigint,\n initialVirtualSolReserves: bigint,\n initialRealTokenReserves: bigint,\n initialTokenSupply: bigint,\n mintFee: bigint,\n systemFeeBasisPoints: bigint,\n creatorFeeBasisPoints: bigint,\n ) {\n // this.discriminator = discriminator;\n this.initialized = initialized;\n this.authority = authority;\n this.feeRecipient = feeRecipient;\n this.initialVirtualTokenReserves = initialVirtualTokenReserves;\n this.initialVirtualSolReserves = initialVirtualSolReserves;\n this.initialRealTokenReserves = initialRealTokenReserves;\n this.initialTokenSupply = initialTokenSupply;\n this.mintFee = mintFee;\n this.systemFeeBasisPoints = systemFeeBasisPoints;\n this.creatorFeeBasisPoints = creatorFeeBasisPoints;\n }\n\n getInitialBuyPrice(amount: bigint): bigint {\n if (amount <= 0n) {\n return 0n;\n }\n\n let n = this.initialVirtualSolReserves * this.initialVirtualTokenReserves;\n let i = this.initialVirtualSolReserves + amount;\n let r = n / i + 1n;\n let s = this.initialVirtualTokenReserves - r;\n return s < this.initialRealTokenReserves\n ? s\n : this.initialRealTokenReserves;\n }\n\n public static fromObject(obj: Record<string, any>): GlobalAccount { \n return new GlobalAccount(\n // BigInt(obj.discriminator),\n obj.initialized,\n obj.authority as PublicKey,\n obj.feeRecipient as PublicKey,\n BigInt(obj.initialVirtualTokenReserves),\n BigInt(obj.initialVirtualSolReserves),\n BigInt(obj.initialRealTokenReserves),\n BigInt(obj.initialTokenSupply),\n BigInt(obj.mintFee),\n BigInt(obj.systemFeeBasisPoints), \n BigInt(obj.creatorFeeBasisPoints),\n );\n }\n\n public static fromBuffer(buffer: Buffer): GlobalAccount {\n const structure/*: Layout<GlobalAccount>*/ = struct([\n u64(\"discriminator\"),\n bool(\"initialized\"),\n publicKey(\"authority\"),\n publicKey(\"feeRecipient\"),\n u64(\"initialVirtualTokenReserves\"),\n u64(\"initialVirtualSolReserves\"),\n u64(\"initialRealTokenReserves\"),\n u64(\"tokenTotalSupply\"),\n u64(\"mintFee\"),\n u64(\"systemFeeBasisPoints\"),\n u64(\"creatorFeeBasisPoints\"),\n ]);\n\n let value = structure.decode(buffer);\n return new GlobalAccount(\n // BigInt(value.discriminator),\n value.initialized,\n value.authority,\n value.feeRecipient,\n BigInt(value.initialVirtualTokenReserves),\n BigInt(value.initialVirtualSolReserves),\n BigInt(value.initialRealTokenReserves),\n BigInt(value.tokenTotalSupply),\n BigInt(value.mintFee),\n BigInt(value.systemFeeBasisPoints),\n BigInt(value.creatorFeeBasisPoints),\n );\n }\n}"],"names":["struct","u64","bool","publicKey"],"mappings":"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"}