four-flap-meme-sdk 1.3.94 → 1.3.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clients/blockrazor.js +0 -1
- package/dist/contracts/tm-bundle-merkle/config.d.ts +5 -0
- package/dist/contracts/tm-bundle-merkle/config.js +10 -0
- package/dist/contracts/tm-bundle-merkle/core.js +92 -24
- package/dist/contracts/tm-bundle-merkle/internal.d.ts +1 -1
- package/dist/contracts/tm-bundle-merkle/internal.js +4 -3
- package/dist/contracts/tm-bundle-merkle/pancake-proxy.js +103 -54
- package/dist/contracts/tm-bundle-merkle/swap-buy-first.d.ts +0 -1
- package/dist/contracts/tm-bundle-merkle/swap-buy-first.js +36 -6
- package/dist/contracts/tm-bundle-merkle/swap.d.ts +0 -3
- package/dist/contracts/tm-bundle-merkle/swap.js +59 -6
- package/dist/contracts/tm-bundle-merkle/utils.js +7 -7
- package/dist/flap/portal-bundle-merkle/config.d.ts +8 -0
- package/dist/flap/portal-bundle-merkle/config.js +17 -0
- package/dist/flap/portal-bundle-merkle/core.js +120 -68
- package/dist/flap/portal-bundle-merkle/encryption.d.ts +16 -0
- package/dist/flap/portal-bundle-merkle/encryption.js +146 -0
- package/dist/flap/portal-bundle-merkle/pancake-proxy.js +136 -78
- package/dist/flap/portal-bundle-merkle/swap-buy-first.d.ts +0 -2
- package/dist/flap/portal-bundle-merkle/swap-buy-first.js +49 -30
- package/dist/flap/portal-bundle-merkle/swap.d.ts +0 -2
- package/dist/flap/portal-bundle-merkle/swap.js +75 -47
- package/dist/flap/portal-bundle-merkle/types.d.ts +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.js +0 -1
- package/dist/pancake/bundle-buy-first.d.ts +1 -1
- package/dist/pancake/bundle-buy-first.js +49 -17
- package/dist/pancake/bundle-swap.d.ts +1 -4
- package/dist/pancake/bundle-swap.js +98 -33
- package/dist/utils/erc20.d.ts +108 -2
- package/dist/utils/erc20.js +65 -17
- package/package.json +4 -39
- package/dist/sol/constants.d.ts +0 -126
- package/dist/sol/constants.js +0 -145
- package/dist/sol/dex/index.d.ts +0 -8
- package/dist/sol/dex/index.js +0 -12
- package/dist/sol/dex/meteora/client.d.ts +0 -76
- package/dist/sol/dex/meteora/client.js +0 -219
- package/dist/sol/dex/meteora/damm-v1-bundle.d.ts +0 -61
- package/dist/sol/dex/meteora/damm-v1-bundle.js +0 -112
- package/dist/sol/dex/meteora/damm-v1.d.ts +0 -118
- package/dist/sol/dex/meteora/damm-v1.js +0 -315
- package/dist/sol/dex/meteora/damm-v2-bundle.d.ts +0 -82
- package/dist/sol/dex/meteora/damm-v2-bundle.js +0 -242
- package/dist/sol/dex/meteora/damm-v2.d.ts +0 -172
- package/dist/sol/dex/meteora/damm-v2.js +0 -632
- package/dist/sol/dex/meteora/dbc-bundle.d.ts +0 -123
- package/dist/sol/dex/meteora/dbc-bundle.js +0 -304
- package/dist/sol/dex/meteora/dbc.d.ts +0 -192
- package/dist/sol/dex/meteora/dbc.js +0 -619
- package/dist/sol/dex/meteora/dlmm-bundle.d.ts +0 -39
- package/dist/sol/dex/meteora/dlmm-bundle.js +0 -189
- package/dist/sol/dex/meteora/dlmm.d.ts +0 -157
- package/dist/sol/dex/meteora/dlmm.js +0 -671
- package/dist/sol/dex/meteora/index.d.ts +0 -25
- package/dist/sol/dex/meteora/index.js +0 -65
- package/dist/sol/dex/meteora/types.d.ts +0 -787
- package/dist/sol/dex/meteora/types.js +0 -110
- package/dist/sol/dex/orca/index.d.ts +0 -10
- package/dist/sol/dex/orca/index.js +0 -16
- package/dist/sol/dex/orca/orca-bundle.d.ts +0 -41
- package/dist/sol/dex/orca/orca-bundle.js +0 -173
- package/dist/sol/dex/orca/orca.d.ts +0 -65
- package/dist/sol/dex/orca/orca.js +0 -474
- package/dist/sol/dex/orca/types.d.ts +0 -263
- package/dist/sol/dex/orca/types.js +0 -38
- package/dist/sol/dex/orca/wavebreak-bundle.d.ts +0 -34
- package/dist/sol/dex/orca/wavebreak-bundle.js +0 -198
- package/dist/sol/dex/orca/wavebreak-types.d.ts +0 -227
- package/dist/sol/dex/orca/wavebreak-types.js +0 -23
- package/dist/sol/dex/orca/wavebreak.d.ts +0 -78
- package/dist/sol/dex/orca/wavebreak.js +0 -497
- package/dist/sol/dex/pump/index.d.ts +0 -9
- package/dist/sol/dex/pump/index.js +0 -14
- package/dist/sol/dex/pump/pump-bundle.d.ts +0 -92
- package/dist/sol/dex/pump/pump-bundle.js +0 -383
- package/dist/sol/dex/pump/pump-swap-bundle.d.ts +0 -103
- package/dist/sol/dex/pump/pump-swap-bundle.js +0 -380
- package/dist/sol/dex/pump/pump-swap.d.ts +0 -46
- package/dist/sol/dex/pump/pump-swap.js +0 -199
- package/dist/sol/dex/pump/pump.d.ts +0 -35
- package/dist/sol/dex/pump/pump.js +0 -352
- package/dist/sol/dex/pump/types.d.ts +0 -215
- package/dist/sol/dex/pump/types.js +0 -5
- package/dist/sol/dex/raydium/index.d.ts +0 -8
- package/dist/sol/dex/raydium/index.js +0 -12
- package/dist/sol/dex/raydium/launchlab.d.ts +0 -68
- package/dist/sol/dex/raydium/launchlab.js +0 -210
- package/dist/sol/dex/raydium/raydium-bundle.d.ts +0 -64
- package/dist/sol/dex/raydium/raydium-bundle.js +0 -324
- package/dist/sol/dex/raydium/raydium.d.ts +0 -40
- package/dist/sol/dex/raydium/raydium.js +0 -366
- package/dist/sol/dex/raydium/types.d.ts +0 -240
- package/dist/sol/dex/raydium/types.js +0 -5
- package/dist/sol/index.d.ts +0 -10
- package/dist/sol/index.js +0 -16
- package/dist/sol/jito/bundle.d.ts +0 -90
- package/dist/sol/jito/bundle.js +0 -263
- package/dist/sol/jito/index.d.ts +0 -7
- package/dist/sol/jito/index.js +0 -7
- package/dist/sol/jito/tip.d.ts +0 -51
- package/dist/sol/jito/tip.js +0 -83
- package/dist/sol/jito/types.d.ts +0 -100
- package/dist/sol/jito/types.js +0 -5
- package/dist/sol/token/create-complete.d.ts +0 -115
- package/dist/sol/token/create-complete.js +0 -235
- package/dist/sol/token/create-token.d.ts +0 -57
- package/dist/sol/token/create-token.js +0 -230
- package/dist/sol/token/index.d.ts +0 -9
- package/dist/sol/token/index.js +0 -14
- package/dist/sol/token/metadata-upload.d.ts +0 -86
- package/dist/sol/token/metadata-upload.js +0 -173
- package/dist/sol/token/metadata.d.ts +0 -92
- package/dist/sol/token/metadata.js +0 -274
- package/dist/sol/token/types.d.ts +0 -153
- package/dist/sol/token/types.js +0 -5
- package/dist/sol/types.d.ts +0 -176
- package/dist/sol/types.js +0 -7
- package/dist/sol/utils/balance.d.ts +0 -160
- package/dist/sol/utils/balance.js +0 -638
- package/dist/sol/utils/connection.d.ts +0 -78
- package/dist/sol/utils/connection.js +0 -168
- package/dist/sol/utils/index.d.ts +0 -9
- package/dist/sol/utils/index.js +0 -9
- package/dist/sol/utils/lp-inspect.d.ts +0 -129
- package/dist/sol/utils/lp-inspect.js +0 -900
- package/dist/sol/utils/transfer.d.ts +0 -125
- package/dist/sol/utils/transfer.js +0 -220
- package/dist/sol/utils/wallet.d.ts +0 -107
- package/dist/sol/utils/wallet.js +0 -210
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Token 创建相关类型定义
|
|
3
|
-
* @module sol/token/types
|
|
4
|
-
*/
|
|
5
|
-
import { PublicKey, Keypair } from '@solana/web3.js';
|
|
6
|
-
/**
|
|
7
|
-
* 代币标准
|
|
8
|
-
*/
|
|
9
|
-
export type TokenStandard = 'SPL' | 'TOKEN_2022';
|
|
10
|
-
/**
|
|
11
|
-
* 代币元数据(符合 Metaplex 标准)
|
|
12
|
-
*/
|
|
13
|
-
export interface TokenMetadataInput {
|
|
14
|
-
/** 代币名称 */
|
|
15
|
-
name: string;
|
|
16
|
-
/** 代币符号 */
|
|
17
|
-
symbol: string;
|
|
18
|
-
/** 代币描述 */
|
|
19
|
-
description: string;
|
|
20
|
-
/** 图片 URL(IPFS 或 HTTP) */
|
|
21
|
-
image: string;
|
|
22
|
-
/** 外部链接 */
|
|
23
|
-
externalUrl?: string;
|
|
24
|
-
/** 属性 */
|
|
25
|
-
attributes?: Array<{
|
|
26
|
-
trait_type: string;
|
|
27
|
-
value: string | number;
|
|
28
|
-
}>;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* 上传到 IPFS 的元数据 JSON 格式
|
|
32
|
-
*/
|
|
33
|
-
export interface TokenMetadataJson {
|
|
34
|
-
name: string;
|
|
35
|
-
symbol: string;
|
|
36
|
-
description: string;
|
|
37
|
-
image: string;
|
|
38
|
-
external_url?: string;
|
|
39
|
-
attributes?: Array<{
|
|
40
|
-
trait_type: string;
|
|
41
|
-
value: string | number;
|
|
42
|
-
}>;
|
|
43
|
-
properties?: {
|
|
44
|
-
files?: Array<{
|
|
45
|
-
uri: string;
|
|
46
|
-
type: string;
|
|
47
|
-
}>;
|
|
48
|
-
category?: string;
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Token-2022 扩展功能
|
|
53
|
-
*/
|
|
54
|
-
export interface Token2022Extensions {
|
|
55
|
-
/** 转账手续费(基点,如 100 = 1%) */
|
|
56
|
-
transferFee?: {
|
|
57
|
-
feeBasisPoints: number;
|
|
58
|
-
maxFee: bigint;
|
|
59
|
-
};
|
|
60
|
-
/** 不可转让 */
|
|
61
|
-
nonTransferable?: boolean;
|
|
62
|
-
/** 利息 */
|
|
63
|
-
interestBearing?: {
|
|
64
|
-
rate: number;
|
|
65
|
-
};
|
|
66
|
-
/** 永久代理 */
|
|
67
|
-
permanentDelegate?: PublicKey;
|
|
68
|
-
/** 关闭权限 */
|
|
69
|
-
closeAuthority?: PublicKey;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* 代币创建参数
|
|
73
|
-
*/
|
|
74
|
-
export interface CreateTokenParams {
|
|
75
|
-
/** 代币名称 */
|
|
76
|
-
name: string;
|
|
77
|
-
/** 代币符号 */
|
|
78
|
-
symbol: string;
|
|
79
|
-
/** 代币描述 */
|
|
80
|
-
description: string;
|
|
81
|
-
/** 精度(小数位数) */
|
|
82
|
-
decimals: number;
|
|
83
|
-
/** 初始供应量(不含精度,如 1000000 表示 100万) */
|
|
84
|
-
initialSupply: bigint;
|
|
85
|
-
/** 图片 Buffer(用于上传 IPFS) */
|
|
86
|
-
imageBuffer?: Buffer;
|
|
87
|
-
/** 图片文件名 */
|
|
88
|
-
imageFilename?: string;
|
|
89
|
-
/** 已上传的图片 URL(如果已有,则不需要 imageBuffer) */
|
|
90
|
-
imageUrl?: string;
|
|
91
|
-
/** 创建者 Keypair */
|
|
92
|
-
creator: Keypair;
|
|
93
|
-
/** Mint 权限(默认为 creator) */
|
|
94
|
-
mintAuthority?: PublicKey;
|
|
95
|
-
/** 冻结权限(null 表示不可冻结) */
|
|
96
|
-
freezeAuthority?: PublicKey | null;
|
|
97
|
-
/** 代币标准(默认 TOKEN_2022) */
|
|
98
|
-
tokenStandard?: TokenStandard;
|
|
99
|
-
/** Token-2022 扩展功能 */
|
|
100
|
-
extensions?: Token2022Extensions;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* 代币创建结果
|
|
104
|
-
*/
|
|
105
|
-
export interface CreateTokenResult {
|
|
106
|
-
/** 是否成功 */
|
|
107
|
-
success: boolean;
|
|
108
|
-
/** Mint 地址 */
|
|
109
|
-
mint?: string;
|
|
110
|
-
/** Metadata 账户地址 */
|
|
111
|
-
metadataAddress?: string;
|
|
112
|
-
/** 元数据 URI(IPFS) */
|
|
113
|
-
metadataUri?: string;
|
|
114
|
-
/** 图片 URI(IPFS) */
|
|
115
|
-
imageUri?: string;
|
|
116
|
-
/** 签名后的交易数据(用于提交后端) */
|
|
117
|
-
signedTransactions?: Array<{
|
|
118
|
-
data: string;
|
|
119
|
-
signature: string;
|
|
120
|
-
description: string;
|
|
121
|
-
}>;
|
|
122
|
-
/** 错误信息 */
|
|
123
|
-
error?: string;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Mint To 参数
|
|
127
|
-
*/
|
|
128
|
-
export interface MintToParams {
|
|
129
|
-
/** Mint 地址 */
|
|
130
|
-
mint: string;
|
|
131
|
-
/** 目标地址 */
|
|
132
|
-
destination: string;
|
|
133
|
-
/** 数量(含精度) */
|
|
134
|
-
amount: bigint;
|
|
135
|
-
/** Mint 权限 Keypair */
|
|
136
|
-
mintAuthority: Keypair;
|
|
137
|
-
/** 代币标准 */
|
|
138
|
-
tokenStandard?: TokenStandard;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Mint To 结果
|
|
142
|
-
*/
|
|
143
|
-
export interface MintToResult {
|
|
144
|
-
success: boolean;
|
|
145
|
-
/** ATA 地址 */
|
|
146
|
-
ataAddress?: string;
|
|
147
|
-
/** 签名后的交易数据 */
|
|
148
|
-
signedTransaction?: {
|
|
149
|
-
data: string;
|
|
150
|
-
signature: string;
|
|
151
|
-
};
|
|
152
|
-
error?: string;
|
|
153
|
-
}
|
package/dist/sol/token/types.js
DELETED
package/dist/sol/types.d.ts
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Solana SDK 类型定义
|
|
3
|
-
* @module sol/types
|
|
4
|
-
*/
|
|
5
|
-
import { PublicKey, Keypair } from '@solana/web3.js';
|
|
6
|
-
/**
|
|
7
|
-
* 支持的 Solana DEX
|
|
8
|
-
*/
|
|
9
|
-
export type SolanaDex = 'PUMP' | 'PUMP_SWAP' | 'RAYDIUM' | 'ORCA' | 'METEORA';
|
|
10
|
-
/**
|
|
11
|
-
* 池子类型
|
|
12
|
-
*/
|
|
13
|
-
export type PoolType = 'AMM' | 'CLMM' | 'DLMM' | 'DAMM' | 'BONDING_CURVE';
|
|
14
|
-
/**
|
|
15
|
-
* LP 目标 DEX
|
|
16
|
-
*/
|
|
17
|
-
export type LpTargetDex = 'RAYDIUM_AMM' | 'RAYDIUM_CLMM' | 'ORCA' | 'METEORA_DLMM' | 'METEORA_DAMM';
|
|
18
|
-
/**
|
|
19
|
-
* 代币发射平台
|
|
20
|
-
*/
|
|
21
|
-
export type TokenLaunchPlatform = 'SPL_TOKEN_2022' | 'SPL' | 'PUMP' | 'RAYDIUM' | 'METEORA_DBC';
|
|
22
|
-
/**
|
|
23
|
-
* Solana 钱包信息
|
|
24
|
-
*/
|
|
25
|
-
export interface SolanaWallet {
|
|
26
|
-
publicKey: PublicKey;
|
|
27
|
-
secretKey: Uint8Array;
|
|
28
|
-
address: string;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* 钱包生成结果
|
|
32
|
-
*/
|
|
33
|
-
export interface WalletGenerateResult {
|
|
34
|
-
publicKey: string;
|
|
35
|
-
secretKey: Uint8Array;
|
|
36
|
-
secretKeyBase58: string;
|
|
37
|
-
address: string;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* 代币元数据
|
|
41
|
-
*/
|
|
42
|
-
export interface TokenMetadata {
|
|
43
|
-
name: string;
|
|
44
|
-
symbol: string;
|
|
45
|
-
description: string;
|
|
46
|
-
image: string;
|
|
47
|
-
external_url?: string;
|
|
48
|
-
attributes?: Array<{
|
|
49
|
-
trait_type: string;
|
|
50
|
-
value: string | number;
|
|
51
|
-
}>;
|
|
52
|
-
properties?: {
|
|
53
|
-
files?: Array<{
|
|
54
|
-
uri: string;
|
|
55
|
-
type: string;
|
|
56
|
-
}>;
|
|
57
|
-
category?: string;
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Token-2022 创建参数
|
|
62
|
-
*/
|
|
63
|
-
export interface CreateToken2022Params {
|
|
64
|
-
name: string;
|
|
65
|
-
symbol: string;
|
|
66
|
-
decimals: number;
|
|
67
|
-
initialSupply: bigint;
|
|
68
|
-
uri: string;
|
|
69
|
-
creator: Keypair;
|
|
70
|
-
mintAuthority?: PublicKey;
|
|
71
|
-
freezeAuthority?: PublicKey | null;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* 代币创建结果
|
|
75
|
-
*/
|
|
76
|
-
export interface TokenCreateResult {
|
|
77
|
-
mint: PublicKey;
|
|
78
|
-
metadataAddress: PublicKey;
|
|
79
|
-
signature: string;
|
|
80
|
-
metadataUri?: string;
|
|
81
|
-
lpPoolAddress?: string;
|
|
82
|
-
lpSignature?: string;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* 交易参数
|
|
86
|
-
*/
|
|
87
|
-
export interface SwapParams {
|
|
88
|
-
dex: SolanaDex;
|
|
89
|
-
tokenAddress: string;
|
|
90
|
-
amount: bigint;
|
|
91
|
-
slippage: number;
|
|
92
|
-
wallet: Keypair;
|
|
93
|
-
isBuy: boolean;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* 批量交易参数
|
|
97
|
-
*/
|
|
98
|
-
export interface BatchSwapParams {
|
|
99
|
-
dex: SolanaDex;
|
|
100
|
-
tokenAddress: string;
|
|
101
|
-
wallets: Array<{
|
|
102
|
-
wallet: Keypair;
|
|
103
|
-
amount: bigint;
|
|
104
|
-
}>;
|
|
105
|
-
slippage: number;
|
|
106
|
-
isBuy: boolean;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* 交易结果
|
|
110
|
-
*/
|
|
111
|
-
export interface TransactionResult {
|
|
112
|
-
success: boolean;
|
|
113
|
-
signature?: string;
|
|
114
|
-
error?: string;
|
|
115
|
-
fee?: bigint;
|
|
116
|
-
timestamp: number;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* 批量交易结果
|
|
120
|
-
*/
|
|
121
|
-
export interface BatchTransactionResult {
|
|
122
|
-
totalCount: number;
|
|
123
|
-
successCount: number;
|
|
124
|
-
failedCount: number;
|
|
125
|
-
results: TransactionResult[];
|
|
126
|
-
signatures: string[];
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* LP 操作参数
|
|
130
|
-
*/
|
|
131
|
-
export interface LiquidityParams {
|
|
132
|
-
dex: SolanaDex;
|
|
133
|
-
poolAddress: string;
|
|
134
|
-
tokenA: string;
|
|
135
|
-
tokenB: string;
|
|
136
|
-
amountA: bigint;
|
|
137
|
-
amountB: bigint;
|
|
138
|
-
wallet: Keypair;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* LP 添加结果
|
|
142
|
-
*/
|
|
143
|
-
export interface AddLiquidityResult {
|
|
144
|
-
poolAddress: string;
|
|
145
|
-
lpTokenAmount: bigint;
|
|
146
|
-
signature: string;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* 交易类型
|
|
150
|
-
*/
|
|
151
|
-
export type TransactionType = 'BUY' | 'SELL' | 'ADD_LP' | 'REMOVE_LP' | 'CREATE' | 'TRANSFER';
|
|
152
|
-
/**
|
|
153
|
-
* 交易状态
|
|
154
|
-
*/
|
|
155
|
-
export type TransactionStatus = 'PENDING' | 'SUCCESS' | 'FAILED';
|
|
156
|
-
/**
|
|
157
|
-
* 交易流水记录
|
|
158
|
-
*/
|
|
159
|
-
export interface TransactionLog {
|
|
160
|
-
id: string;
|
|
161
|
-
chain: 'SOLANA';
|
|
162
|
-
type: TransactionType;
|
|
163
|
-
dex?: SolanaDex;
|
|
164
|
-
tokenAddress: string;
|
|
165
|
-
tokenSymbol?: string;
|
|
166
|
-
walletAddress: string;
|
|
167
|
-
amount: string;
|
|
168
|
-
solAmount?: string;
|
|
169
|
-
fee: string;
|
|
170
|
-
signature: string;
|
|
171
|
-
status: TransactionStatus;
|
|
172
|
-
timestamp: number;
|
|
173
|
-
blockTime?: number;
|
|
174
|
-
slot?: number;
|
|
175
|
-
errorMessage?: string;
|
|
176
|
-
}
|
package/dist/sol/types.js
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Solana 余额查询功能
|
|
3
|
-
* 使用批量 RPC 调用优化,减少限流风险
|
|
4
|
-
* @module sol/utils/balance
|
|
5
|
-
*/
|
|
6
|
-
import { Connection } from '@solana/web3.js';
|
|
7
|
-
/**
|
|
8
|
-
* SOL 余额结果
|
|
9
|
-
*/
|
|
10
|
-
export interface SolBalanceResult {
|
|
11
|
-
address: string;
|
|
12
|
-
lamports: bigint;
|
|
13
|
-
sol: number;
|
|
14
|
-
success: boolean;
|
|
15
|
-
error?: string;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* 代币余额结果
|
|
19
|
-
*/
|
|
20
|
-
export interface TokenBalanceResult {
|
|
21
|
-
address: string;
|
|
22
|
-
tokenAddress: string;
|
|
23
|
-
balance: bigint;
|
|
24
|
-
decimals: number;
|
|
25
|
-
uiBalance: number;
|
|
26
|
-
success: boolean;
|
|
27
|
-
error?: string;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* 批量余额查询结果
|
|
31
|
-
*/
|
|
32
|
-
export interface BatchBalanceResult<T> {
|
|
33
|
-
results: T[];
|
|
34
|
-
successCount: number;
|
|
35
|
-
failedCount: number;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* 钱包完整余额信息
|
|
39
|
-
*/
|
|
40
|
-
export interface WalletBalanceInfo {
|
|
41
|
-
address: string;
|
|
42
|
-
sol: {
|
|
43
|
-
lamports: bigint;
|
|
44
|
-
balance: number;
|
|
45
|
-
};
|
|
46
|
-
tokens: Array<{
|
|
47
|
-
mint: string;
|
|
48
|
-
balance: bigint;
|
|
49
|
-
decimals: number;
|
|
50
|
-
uiBalance: number;
|
|
51
|
-
}>;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* 查询单个地址的 SOL 余额
|
|
55
|
-
* @param connection Solana 连接
|
|
56
|
-
* @param address 钱包地址
|
|
57
|
-
*/
|
|
58
|
-
export declare function getSolBalance(connection: Connection, address: string): Promise<SolBalanceResult>;
|
|
59
|
-
/**
|
|
60
|
-
* 批量查询 SOL 余额
|
|
61
|
-
* @param connection Solana 连接
|
|
62
|
-
* @param addresses 钱包地址列表
|
|
63
|
-
* @param batchSize 每批查询数量(默认 100)
|
|
64
|
-
*/
|
|
65
|
-
export declare function batchGetSolBalance(connection: Connection, addresses: string[], batchSize?: number): Promise<BatchBalanceResult<SolBalanceResult>>;
|
|
66
|
-
/**
|
|
67
|
-
* 查询单个地址的代币余额
|
|
68
|
-
* @param connection Solana 连接
|
|
69
|
-
* @param walletAddress 钱包地址
|
|
70
|
-
* @param tokenMint 代币 Mint 地址
|
|
71
|
-
* @param useToken2022 是否使用 Token-2022 程序(默认 false)
|
|
72
|
-
*/
|
|
73
|
-
export declare function getTokenBalance(connection: Connection, walletAddress: string, tokenMint: string, useToken2022?: boolean): Promise<TokenBalanceResult>;
|
|
74
|
-
/**
|
|
75
|
-
* 批量查询代币余额(多个钱包,同一代币)
|
|
76
|
-
* 使用 getMultipleAccountsInfo 优化,单次 RPC 调用查询多个账户
|
|
77
|
-
*
|
|
78
|
-
* @param connection Solana 连接
|
|
79
|
-
* @param walletAddresses 钱包地址列表
|
|
80
|
-
* @param tokenMint 代币 Mint 地址
|
|
81
|
-
* @param useToken2022 是否使用 Token-2022 程序
|
|
82
|
-
*/
|
|
83
|
-
export declare function batchGetTokenBalance(connection: Connection, walletAddresses: string[], tokenMint: string, useToken2022?: boolean): Promise<BatchBalanceResult<TokenBalanceResult>>;
|
|
84
|
-
/**
|
|
85
|
-
* 批量查询多个代币余额(单个钱包,多个代币)
|
|
86
|
-
*
|
|
87
|
-
* @param connection Solana 连接
|
|
88
|
-
* @param walletAddress 钱包地址
|
|
89
|
-
* @param tokenMints 代币 Mint 地址列表
|
|
90
|
-
* @param useToken2022 是否使用 Token-2022 程序
|
|
91
|
-
*/
|
|
92
|
-
export declare function batchGetMultiTokenBalance(connection: Connection, walletAddress: string, tokenMints: string[], useToken2022?: boolean): Promise<BatchBalanceResult<TokenBalanceResult>>;
|
|
93
|
-
/**
|
|
94
|
-
* 获取钱包持有的所有代币
|
|
95
|
-
* @param connection Solana 连接
|
|
96
|
-
* @param walletAddress 钱包地址
|
|
97
|
-
* @param includeToken2022 是否包含 Token-2022 代币
|
|
98
|
-
*/
|
|
99
|
-
export declare function getAllTokenBalances(connection: Connection, walletAddress: string, includeToken2022?: boolean): Promise<WalletBalanceInfo>;
|
|
100
|
-
/**
|
|
101
|
-
* 批量获取钱包完整余额信息
|
|
102
|
-
* @param connection Solana 连接
|
|
103
|
-
* @param walletAddresses 钱包地址列表
|
|
104
|
-
*/
|
|
105
|
-
export declare function batchGetAllBalances(connection: Connection, walletAddresses: string[]): Promise<WalletBalanceInfo[]>;
|
|
106
|
-
/**
|
|
107
|
-
* 矩阵查询结果
|
|
108
|
-
*/
|
|
109
|
-
export interface MatrixBalanceResult {
|
|
110
|
-
/** 按钱包分组的结果 */
|
|
111
|
-
byWallet: Map<string, Map<string, TokenBalanceResult>>;
|
|
112
|
-
/** 按代币分组的结果 */
|
|
113
|
-
byToken: Map<string, Map<string, TokenBalanceResult>>;
|
|
114
|
-
/** 扁平化结果列表 */
|
|
115
|
-
results: TokenBalanceResult[];
|
|
116
|
-
/** 统计 */
|
|
117
|
-
stats: {
|
|
118
|
-
totalQueries: number;
|
|
119
|
-
successCount: number;
|
|
120
|
-
failedCount: number;
|
|
121
|
-
rpcCalls: number;
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* 批量查询多个钱包的多个代币余额(矩阵查询)
|
|
126
|
-
* 优化 RPC 调用次数,适合大批量查询
|
|
127
|
-
*
|
|
128
|
-
* @param connection Solana 连接
|
|
129
|
-
* @param walletAddresses 钱包地址列表
|
|
130
|
-
* @param tokenMints 代币 Mint 地址列表
|
|
131
|
-
* @param useToken2022 是否使用 Token-2022 程序
|
|
132
|
-
*
|
|
133
|
-
* @example
|
|
134
|
-
* ```typescript
|
|
135
|
-
* const result = await batchGetMatrixBalance(
|
|
136
|
-
* connection,
|
|
137
|
-
* ['wallet1', 'wallet2', 'wallet3'],
|
|
138
|
-
* ['tokenA', 'tokenB'],
|
|
139
|
-
* )
|
|
140
|
-
*
|
|
141
|
-
* // 获取某个钱包的某个代币余额
|
|
142
|
-
* const balance = result.byWallet.get('wallet1')?.get('tokenA')
|
|
143
|
-
* ```
|
|
144
|
-
*/
|
|
145
|
-
export declare function batchGetMatrixBalance(connection: Connection, walletAddresses: string[], tokenMints: string[], useToken2022?: boolean): Promise<MatrixBalanceResult>;
|
|
146
|
-
/**
|
|
147
|
-
* 清除 decimals 缓存
|
|
148
|
-
* @param mint 可选,指定代币地址;不传则清除全部
|
|
149
|
-
*/
|
|
150
|
-
export declare function clearDecimalsCache(mint?: string): void;
|
|
151
|
-
/**
|
|
152
|
-
* 获取缓存的 decimals 数量
|
|
153
|
-
*/
|
|
154
|
-
export declare function getDecimalsCacheSize(): number;
|
|
155
|
-
/**
|
|
156
|
-
* 预热 decimals 缓存
|
|
157
|
-
* @param connection Solana 连接
|
|
158
|
-
* @param mints 代币 Mint 地址列表
|
|
159
|
-
*/
|
|
160
|
-
export declare function warmupDecimalsCache(connection: Connection, mints: string[]): Promise<void>;
|