1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 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'),
- ]);
|