mirror of
https://github.com/fdundjer/solana-sniper-bot.git
synced 2025-11-09 20:12:06 +10:00
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
import { struct, u32, u8 } from '@solana/buffer-layout';
|
|
import { bool, publicKey, u64 } from '@solana/buffer-layout-utils';
|
|
import { Commitment, Connection, PublicKey } from '@solana/web3.js';
|
|
|
|
/** Information about a mint */
|
|
export interface Mint {
|
|
/** Address of the mint */
|
|
address: PublicKey;
|
|
/**
|
|
* Optional authority used to mint new tokens. The mint authority may only be provided during mint creation.
|
|
* If no mint authority is present then the mint has a fixed supply and no further tokens may be minted.
|
|
*/
|
|
mintAuthority: PublicKey | null;
|
|
/** Total supply of tokens */
|
|
supply: bigint;
|
|
/** Number of base 10 digits to the right of the decimal place */
|
|
decimals: number;
|
|
/** Is this mint initialized */
|
|
isInitialized: boolean;
|
|
/** Optional authority to freeze token accounts */
|
|
freezeAuthority: PublicKey | null;
|
|
}
|
|
|
|
/** Mint as stored by the program */
|
|
export interface RawMint {
|
|
mintAuthorityOption: 1 | 0;
|
|
mintAuthority: PublicKey;
|
|
supply: bigint;
|
|
decimals: number;
|
|
isInitialized: boolean;
|
|
freezeAuthorityOption: 1 | 0;
|
|
freezeAuthority: PublicKey;
|
|
}
|
|
|
|
/** Buffer layout for de/serializing a mint */
|
|
export const MintLayout = struct<RawMint>([
|
|
u32('mintAuthorityOption'),
|
|
publicKey('mintAuthority'),
|
|
u64('supply'),
|
|
u8('decimals'),
|
|
bool('isInitialized'),
|
|
u32('freezeAuthorityOption'),
|
|
publicKey('freezeAuthority'),
|
|
]); |