solana-meme-sdk 1.0.0

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.
Files changed (318) hide show
  1. package/README.md +160 -0
  2. package/dist/batch-executor/accounts.d.ts +141 -0
  3. package/dist/batch-executor/accounts.d.ts.map +1 -0
  4. package/dist/batch-executor/accounts.js +98 -0
  5. package/dist/batch-executor/accounts.js.map +1 -0
  6. package/dist/batch-executor/batch-executor.d.ts +27 -0
  7. package/dist/batch-executor/batch-executor.d.ts.map +1 -0
  8. package/dist/batch-executor/batch-executor.js +286 -0
  9. package/dist/batch-executor/batch-executor.js.map +1 -0
  10. package/dist/batch-executor/index.d.ts +4 -0
  11. package/dist/batch-executor/index.d.ts.map +1 -0
  12. package/dist/batch-executor/index.js +6 -0
  13. package/dist/batch-executor/index.js.map +1 -0
  14. package/dist/batch-executor/types.d.ts +87 -0
  15. package/dist/batch-executor/types.d.ts.map +1 -0
  16. package/dist/batch-executor/types.js +42 -0
  17. package/dist/batch-executor/types.js.map +1 -0
  18. package/dist/constants.d.ts +151 -0
  19. package/dist/constants.d.ts.map +1 -0
  20. package/dist/constants.js +189 -0
  21. package/dist/constants.js.map +1 -0
  22. package/dist/dex/blockrazor/client.d.ts +52 -0
  23. package/dist/dex/blockrazor/client.d.ts.map +1 -0
  24. package/dist/dex/blockrazor/client.js +97 -0
  25. package/dist/dex/blockrazor/client.js.map +1 -0
  26. package/dist/dex/blockrazor/constants.d.ts +35 -0
  27. package/dist/dex/blockrazor/constants.d.ts.map +1 -0
  28. package/dist/dex/blockrazor/constants.js +56 -0
  29. package/dist/dex/blockrazor/constants.js.map +1 -0
  30. package/dist/dex/blockrazor/geyser.d.ts +129 -0
  31. package/dist/dex/blockrazor/geyser.d.ts.map +1 -0
  32. package/dist/dex/blockrazor/geyser.js +531 -0
  33. package/dist/dex/blockrazor/geyser.js.map +1 -0
  34. package/dist/dex/blockrazor/index.d.ts +19 -0
  35. package/dist/dex/blockrazor/index.d.ts.map +1 -0
  36. package/dist/dex/blockrazor/index.js +24 -0
  37. package/dist/dex/blockrazor/index.js.map +1 -0
  38. package/dist/dex/blockrazor/send.d.ts +136 -0
  39. package/dist/dex/blockrazor/send.d.ts.map +1 -0
  40. package/dist/dex/blockrazor/send.js +255 -0
  41. package/dist/dex/blockrazor/send.js.map +1 -0
  42. package/dist/dex/blockrazor/types.d.ts +192 -0
  43. package/dist/dex/blockrazor/types.d.ts.map +1 -0
  44. package/dist/dex/blockrazor/types.js +6 -0
  45. package/dist/dex/blockrazor/types.js.map +1 -0
  46. package/dist/dex/index.d.ts +11 -0
  47. package/dist/dex/index.d.ts.map +1 -0
  48. package/dist/dex/index.js +17 -0
  49. package/dist/dex/index.js.map +1 -0
  50. package/dist/dex/jup/client.d.ts +34 -0
  51. package/dist/dex/jup/client.d.ts.map +1 -0
  52. package/dist/dex/jup/client.js +111 -0
  53. package/dist/dex/jup/client.js.map +1 -0
  54. package/dist/dex/jup/index.d.ts +17 -0
  55. package/dist/dex/jup/index.d.ts.map +1 -0
  56. package/dist/dex/jup/index.js +149 -0
  57. package/dist/dex/jup/index.js.map +1 -0
  58. package/dist/dex/jup/legacy.d.ts +624 -0
  59. package/dist/dex/jup/legacy.d.ts.map +1 -0
  60. package/dist/dex/jup/legacy.js +417 -0
  61. package/dist/dex/jup/legacy.js.map +1 -0
  62. package/dist/dex/jup/lend.d.ts +641 -0
  63. package/dist/dex/jup/lend.d.ts.map +1 -0
  64. package/dist/dex/jup/lend.js +604 -0
  65. package/dist/dex/jup/lend.js.map +1 -0
  66. package/dist/dex/jup/portfolio.d.ts +363 -0
  67. package/dist/dex/jup/portfolio.d.ts.map +1 -0
  68. package/dist/dex/jup/portfolio.js +368 -0
  69. package/dist/dex/jup/portfolio.js.map +1 -0
  70. package/dist/dex/jup/price.d.ts +174 -0
  71. package/dist/dex/jup/price.d.ts.map +1 -0
  72. package/dist/dex/jup/price.js +226 -0
  73. package/dist/dex/jup/price.js.map +1 -0
  74. package/dist/dex/jup/recurring.d.ts +438 -0
  75. package/dist/dex/jup/recurring.d.ts.map +1 -0
  76. package/dist/dex/jup/recurring.js +321 -0
  77. package/dist/dex/jup/recurring.js.map +1 -0
  78. package/dist/dex/jup/send.d.ts +283 -0
  79. package/dist/dex/jup/send.d.ts.map +1 -0
  80. package/dist/dex/jup/send.js +296 -0
  81. package/dist/dex/jup/send.js.map +1 -0
  82. package/dist/dex/jup/studio.d.ts +458 -0
  83. package/dist/dex/jup/studio.d.ts.map +1 -0
  84. package/dist/dex/jup/studio.js +489 -0
  85. package/dist/dex/jup/studio.js.map +1 -0
  86. package/dist/dex/jup/tokens.d.ts +768 -0
  87. package/dist/dex/jup/tokens.d.ts.map +1 -0
  88. package/dist/dex/jup/tokens.js +698 -0
  89. package/dist/dex/jup/tokens.js.map +1 -0
  90. package/dist/dex/jup/trigger.d.ts +512 -0
  91. package/dist/dex/jup/trigger.d.ts.map +1 -0
  92. package/dist/dex/jup/trigger.js +398 -0
  93. package/dist/dex/jup/trigger.js.map +1 -0
  94. package/dist/dex/jup/types.d.ts +434 -0
  95. package/dist/dex/jup/types.d.ts.map +1 -0
  96. package/dist/dex/jup/types.js +6 -0
  97. package/dist/dex/jup/types.js.map +1 -0
  98. package/dist/dex/jup/ultra.d.ts +647 -0
  99. package/dist/dex/jup/ultra.d.ts.map +1 -0
  100. package/dist/dex/jup/ultra.js +854 -0
  101. package/dist/dex/jup/ultra.js.map +1 -0
  102. package/dist/dex/meteora/client.d.ts +77 -0
  103. package/dist/dex/meteora/client.d.ts.map +1 -0
  104. package/dist/dex/meteora/client.js +220 -0
  105. package/dist/dex/meteora/client.js.map +1 -0
  106. package/dist/dex/meteora/damm-v1-bundle.d.ts +62 -0
  107. package/dist/dex/meteora/damm-v1-bundle.d.ts.map +1 -0
  108. package/dist/dex/meteora/damm-v1-bundle.js +113 -0
  109. package/dist/dex/meteora/damm-v1-bundle.js.map +1 -0
  110. package/dist/dex/meteora/damm-v1.d.ts +119 -0
  111. package/dist/dex/meteora/damm-v1.d.ts.map +1 -0
  112. package/dist/dex/meteora/damm-v1.js +316 -0
  113. package/dist/dex/meteora/damm-v1.js.map +1 -0
  114. package/dist/dex/meteora/damm-v2-bundle.d.ts +83 -0
  115. package/dist/dex/meteora/damm-v2-bundle.d.ts.map +1 -0
  116. package/dist/dex/meteora/damm-v2-bundle.js +243 -0
  117. package/dist/dex/meteora/damm-v2-bundle.js.map +1 -0
  118. package/dist/dex/meteora/damm-v2.d.ts +173 -0
  119. package/dist/dex/meteora/damm-v2.d.ts.map +1 -0
  120. package/dist/dex/meteora/damm-v2.js +633 -0
  121. package/dist/dex/meteora/damm-v2.js.map +1 -0
  122. package/dist/dex/meteora/dbc-bundle.d.ts +124 -0
  123. package/dist/dex/meteora/dbc-bundle.d.ts.map +1 -0
  124. package/dist/dex/meteora/dbc-bundle.js +305 -0
  125. package/dist/dex/meteora/dbc-bundle.js.map +1 -0
  126. package/dist/dex/meteora/dbc.d.ts +193 -0
  127. package/dist/dex/meteora/dbc.d.ts.map +1 -0
  128. package/dist/dex/meteora/dbc.js +620 -0
  129. package/dist/dex/meteora/dbc.js.map +1 -0
  130. package/dist/dex/meteora/dlmm-bundle.d.ts +40 -0
  131. package/dist/dex/meteora/dlmm-bundle.d.ts.map +1 -0
  132. package/dist/dex/meteora/dlmm-bundle.js +190 -0
  133. package/dist/dex/meteora/dlmm-bundle.js.map +1 -0
  134. package/dist/dex/meteora/dlmm.d.ts +158 -0
  135. package/dist/dex/meteora/dlmm.d.ts.map +1 -0
  136. package/dist/dex/meteora/dlmm.js +672 -0
  137. package/dist/dex/meteora/dlmm.js.map +1 -0
  138. package/dist/dex/meteora/index.d.ts +26 -0
  139. package/dist/dex/meteora/index.d.ts.map +1 -0
  140. package/dist/dex/meteora/index.js +66 -0
  141. package/dist/dex/meteora/index.js.map +1 -0
  142. package/dist/dex/meteora/types.d.ts +788 -0
  143. package/dist/dex/meteora/types.d.ts.map +1 -0
  144. package/dist/dex/meteora/types.js +111 -0
  145. package/dist/dex/meteora/types.js.map +1 -0
  146. package/dist/dex/orca/index.d.ts +11 -0
  147. package/dist/dex/orca/index.d.ts.map +1 -0
  148. package/dist/dex/orca/index.js +17 -0
  149. package/dist/dex/orca/index.js.map +1 -0
  150. package/dist/dex/orca/orca-bundle.d.ts +42 -0
  151. package/dist/dex/orca/orca-bundle.d.ts.map +1 -0
  152. package/dist/dex/orca/orca-bundle.js +174 -0
  153. package/dist/dex/orca/orca-bundle.js.map +1 -0
  154. package/dist/dex/orca/orca.d.ts +66 -0
  155. package/dist/dex/orca/orca.d.ts.map +1 -0
  156. package/dist/dex/orca/orca.js +475 -0
  157. package/dist/dex/orca/orca.js.map +1 -0
  158. package/dist/dex/orca/types.d.ts +264 -0
  159. package/dist/dex/orca/types.d.ts.map +1 -0
  160. package/dist/dex/orca/types.js +39 -0
  161. package/dist/dex/orca/types.js.map +1 -0
  162. package/dist/dex/orca/wavebreak-bundle.d.ts +35 -0
  163. package/dist/dex/orca/wavebreak-bundle.d.ts.map +1 -0
  164. package/dist/dex/orca/wavebreak-bundle.js +199 -0
  165. package/dist/dex/orca/wavebreak-bundle.js.map +1 -0
  166. package/dist/dex/orca/wavebreak-types.d.ts +228 -0
  167. package/dist/dex/orca/wavebreak-types.d.ts.map +1 -0
  168. package/dist/dex/orca/wavebreak-types.js +24 -0
  169. package/dist/dex/orca/wavebreak-types.js.map +1 -0
  170. package/dist/dex/orca/wavebreak.d.ts +79 -0
  171. package/dist/dex/orca/wavebreak.d.ts.map +1 -0
  172. package/dist/dex/orca/wavebreak.js +498 -0
  173. package/dist/dex/orca/wavebreak.js.map +1 -0
  174. package/dist/dex/pump/index.d.ts +10 -0
  175. package/dist/dex/pump/index.d.ts.map +1 -0
  176. package/dist/dex/pump/index.js +15 -0
  177. package/dist/dex/pump/index.js.map +1 -0
  178. package/dist/dex/pump/pump-bundle.d.ts +93 -0
  179. package/dist/dex/pump/pump-bundle.d.ts.map +1 -0
  180. package/dist/dex/pump/pump-bundle.js +384 -0
  181. package/dist/dex/pump/pump-bundle.js.map +1 -0
  182. package/dist/dex/pump/pump-swap-bundle.d.ts +104 -0
  183. package/dist/dex/pump/pump-swap-bundle.d.ts.map +1 -0
  184. package/dist/dex/pump/pump-swap-bundle.js +381 -0
  185. package/dist/dex/pump/pump-swap-bundle.js.map +1 -0
  186. package/dist/dex/pump/pump-swap.d.ts +47 -0
  187. package/dist/dex/pump/pump-swap.d.ts.map +1 -0
  188. package/dist/dex/pump/pump-swap.js +200 -0
  189. package/dist/dex/pump/pump-swap.js.map +1 -0
  190. package/dist/dex/pump/pump.d.ts +36 -0
  191. package/dist/dex/pump/pump.d.ts.map +1 -0
  192. package/dist/dex/pump/pump.js +353 -0
  193. package/dist/dex/pump/pump.js.map +1 -0
  194. package/dist/dex/pump/types.d.ts +216 -0
  195. package/dist/dex/pump/types.d.ts.map +1 -0
  196. package/dist/dex/pump/types.js +6 -0
  197. package/dist/dex/pump/types.js.map +1 -0
  198. package/dist/dex/raydium/index.d.ts +9 -0
  199. package/dist/dex/raydium/index.d.ts.map +1 -0
  200. package/dist/dex/raydium/index.js +13 -0
  201. package/dist/dex/raydium/index.js.map +1 -0
  202. package/dist/dex/raydium/launchlab.d.ts +69 -0
  203. package/dist/dex/raydium/launchlab.d.ts.map +1 -0
  204. package/dist/dex/raydium/launchlab.js +211 -0
  205. package/dist/dex/raydium/launchlab.js.map +1 -0
  206. package/dist/dex/raydium/raydium-bundle.d.ts +65 -0
  207. package/dist/dex/raydium/raydium-bundle.d.ts.map +1 -0
  208. package/dist/dex/raydium/raydium-bundle.js +325 -0
  209. package/dist/dex/raydium/raydium-bundle.js.map +1 -0
  210. package/dist/dex/raydium/raydium.d.ts +41 -0
  211. package/dist/dex/raydium/raydium.d.ts.map +1 -0
  212. package/dist/dex/raydium/raydium.js +367 -0
  213. package/dist/dex/raydium/raydium.js.map +1 -0
  214. package/dist/dex/raydium/types.d.ts +241 -0
  215. package/dist/dex/raydium/types.d.ts.map +1 -0
  216. package/dist/dex/raydium/types.js +6 -0
  217. package/dist/dex/raydium/types.js.map +1 -0
  218. package/dist/index.d.ts +13 -0
  219. package/dist/index.d.ts.map +1 -0
  220. package/dist/index.js +21 -0
  221. package/dist/index.js.map +1 -0
  222. package/dist/jito/bundle.d.ts +91 -0
  223. package/dist/jito/bundle.d.ts.map +1 -0
  224. package/dist/jito/bundle.js +267 -0
  225. package/dist/jito/bundle.js.map +1 -0
  226. package/dist/jito/index.d.ts +8 -0
  227. package/dist/jito/index.d.ts.map +1 -0
  228. package/dist/jito/index.js +8 -0
  229. package/dist/jito/index.js.map +1 -0
  230. package/dist/jito/tip.d.ts +52 -0
  231. package/dist/jito/tip.d.ts.map +1 -0
  232. package/dist/jito/tip.js +84 -0
  233. package/dist/jito/tip.js.map +1 -0
  234. package/dist/jito/types.d.ts +101 -0
  235. package/dist/jito/types.d.ts.map +1 -0
  236. package/dist/jito/types.js +6 -0
  237. package/dist/jito/types.js.map +1 -0
  238. package/dist/nozomi/client.d.ts +64 -0
  239. package/dist/nozomi/client.d.ts.map +1 -0
  240. package/dist/nozomi/client.js +228 -0
  241. package/dist/nozomi/client.js.map +1 -0
  242. package/dist/nozomi/index.d.ts +9 -0
  243. package/dist/nozomi/index.d.ts.map +1 -0
  244. package/dist/nozomi/index.js +9 -0
  245. package/dist/nozomi/index.js.map +1 -0
  246. package/dist/nozomi/tip.d.ts +51 -0
  247. package/dist/nozomi/tip.d.ts.map +1 -0
  248. package/dist/nozomi/tip.js +81 -0
  249. package/dist/nozomi/tip.js.map +1 -0
  250. package/dist/nozomi/types.d.ts +97 -0
  251. package/dist/nozomi/types.d.ts.map +1 -0
  252. package/dist/nozomi/types.js +6 -0
  253. package/dist/nozomi/types.js.map +1 -0
  254. package/dist/token/create-complete.d.ts +116 -0
  255. package/dist/token/create-complete.d.ts.map +1 -0
  256. package/dist/token/create-complete.js +236 -0
  257. package/dist/token/create-complete.js.map +1 -0
  258. package/dist/token/create-token.d.ts +58 -0
  259. package/dist/token/create-token.d.ts.map +1 -0
  260. package/dist/token/create-token.js +231 -0
  261. package/dist/token/create-token.js.map +1 -0
  262. package/dist/token/index.d.ts +10 -0
  263. package/dist/token/index.d.ts.map +1 -0
  264. package/dist/token/index.js +15 -0
  265. package/dist/token/index.js.map +1 -0
  266. package/dist/token/metadata-upload.d.ts +87 -0
  267. package/dist/token/metadata-upload.d.ts.map +1 -0
  268. package/dist/token/metadata-upload.js +176 -0
  269. package/dist/token/metadata-upload.js.map +1 -0
  270. package/dist/token/metadata.d.ts +93 -0
  271. package/dist/token/metadata.d.ts.map +1 -0
  272. package/dist/token/metadata.js +275 -0
  273. package/dist/token/metadata.js.map +1 -0
  274. package/dist/token/types.d.ts +154 -0
  275. package/dist/token/types.d.ts.map +1 -0
  276. package/dist/token/types.js +6 -0
  277. package/dist/token/types.js.map +1 -0
  278. package/dist/types.d.ts +177 -0
  279. package/dist/types.d.ts.map +1 -0
  280. package/dist/types.js +8 -0
  281. package/dist/types.js.map +1 -0
  282. package/dist/utils/alt.d.ts +58 -0
  283. package/dist/utils/alt.d.ts.map +1 -0
  284. package/dist/utils/alt.js +125 -0
  285. package/dist/utils/alt.js.map +1 -0
  286. package/dist/utils/balance.d.ts +161 -0
  287. package/dist/utils/balance.d.ts.map +1 -0
  288. package/dist/utils/balance.js +639 -0
  289. package/dist/utils/balance.js.map +1 -0
  290. package/dist/utils/batch-swap.d.ts +52 -0
  291. package/dist/utils/batch-swap.d.ts.map +1 -0
  292. package/dist/utils/batch-swap.js +286 -0
  293. package/dist/utils/batch-swap.js.map +1 -0
  294. package/dist/utils/batch-types.d.ts +90 -0
  295. package/dist/utils/batch-types.d.ts.map +1 -0
  296. package/dist/utils/batch-types.js +7 -0
  297. package/dist/utils/batch-types.js.map +1 -0
  298. package/dist/utils/connection.d.ts +79 -0
  299. package/dist/utils/connection.d.ts.map +1 -0
  300. package/dist/utils/connection.js +169 -0
  301. package/dist/utils/connection.js.map +1 -0
  302. package/dist/utils/index.d.ts +13 -0
  303. package/dist/utils/index.d.ts.map +1 -0
  304. package/dist/utils/index.js +14 -0
  305. package/dist/utils/index.js.map +1 -0
  306. package/dist/utils/lp-inspect.d.ts +81 -0
  307. package/dist/utils/lp-inspect.d.ts.map +1 -0
  308. package/dist/utils/lp-inspect.js +265 -0
  309. package/dist/utils/lp-inspect.js.map +1 -0
  310. package/dist/utils/transfer.d.ts +197 -0
  311. package/dist/utils/transfer.d.ts.map +1 -0
  312. package/dist/utils/transfer.js +308 -0
  313. package/dist/utils/transfer.js.map +1 -0
  314. package/dist/utils/wallet.d.ts +108 -0
  315. package/dist/utils/wallet.d.ts.map +1 -0
  316. package/dist/utils/wallet.js +211 -0
  317. package/dist/utils/wallet.js.map +1 -0
  318. package/package.json +92 -0
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Nozomi 类型定义
3
+ * @module sol/nozomi/types
4
+ */
5
+ /**
6
+ * Nozomi 区域
7
+ */
8
+ export type NozomiRegion = 'auto' | 'pit' | 'tyo' | 'sgp' | 'ewr' | 'ams' | 'fra';
9
+ /**
10
+ * Nozomi 客户端配置
11
+ */
12
+ export interface NozomiClientConfig {
13
+ /** 最快提交 API Key */
14
+ apiKeyFast: string;
15
+ /** MEV 保护 API Key (可选,如果不提供则使用 apiKeyFast) */
16
+ apiKeyMev?: string;
17
+ /** 默认区域 */
18
+ defaultRegion?: NozomiRegion;
19
+ /** 默认是否使用 MEV 保护 */
20
+ defaultUseMevProtection?: boolean;
21
+ /** 请求超时(毫秒) */
22
+ timeout?: number;
23
+ }
24
+ /**
25
+ * Nozomi 发送选项
26
+ */
27
+ export interface NozomiSendOptions {
28
+ /** 是否使用 MEV 保护 */
29
+ useMevProtection?: boolean;
30
+ /** 区域节点 */
31
+ region?: NozomiRegion;
32
+ /** 是否跳过预检 */
33
+ skipPreflight?: boolean;
34
+ /** 最大重试次数(Nozomi 内部重试) */
35
+ maxRetries?: number;
36
+ }
37
+ /**
38
+ * Nozomi 发送结果
39
+ */
40
+ export interface NozomiSendResult {
41
+ /** 是否成功 */
42
+ success: boolean;
43
+ /** 交易签名 */
44
+ signature?: string;
45
+ /** 错误信息 */
46
+ error?: string;
47
+ /** 延迟(毫秒) */
48
+ latency?: number;
49
+ }
50
+ /**
51
+ * Nozomi 批量发送结果
52
+ */
53
+ export interface NozomiBatchSendResult {
54
+ /** 总数 */
55
+ total: number;
56
+ /** 成功数 */
57
+ successCount: number;
58
+ /** 失败数 */
59
+ failCount: number;
60
+ /** 各交易结果 */
61
+ results: NozomiSendResult[];
62
+ /** 总耗时(毫秒) */
63
+ totalLatency: number;
64
+ }
65
+ /**
66
+ * 交易构建选项
67
+ */
68
+ export interface NozomiTransactionBuildOptions {
69
+ /** 是否添加 Nozomi Tip */
70
+ addTip?: boolean;
71
+ /** Tip 金额(lamports),默认 0.001 SOL */
72
+ tipLamports?: bigint;
73
+ /** 指定 Tip 账户,默认随机选择 */
74
+ tipAccount?: string;
75
+ /** 计算单元限制 */
76
+ computeUnitLimit?: number;
77
+ /** 计算单元价格(microlamports),建议 1,000,000 */
78
+ computeUnitPrice?: number;
79
+ }
80
+ /**
81
+ * Nozomi RPC 错误
82
+ */
83
+ export interface NozomiRpcError {
84
+ code: number;
85
+ message: string;
86
+ data?: string;
87
+ }
88
+ /**
89
+ * Nozomi RPC 响应
90
+ */
91
+ export interface NozomiRpcResponse<T = string> {
92
+ jsonrpc: string;
93
+ id: number;
94
+ result?: T;
95
+ error?: NozomiRpcError;
96
+ }
97
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/nozomi/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mBAAmB;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,oBAAoB;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW;IACX,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,aAAa;IACb,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS;IACT,KAAK,EAAE,MAAM,CAAC;IACd,UAAU;IACV,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,cAAc;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,MAAM;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Nozomi 类型定义
3
+ * @module sol/nozomi/types
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/nozomi/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * 完整代币创建流程
3
+ * 包括:上传元数据 → 创建 Mint → 创建 Metadata → Mint 初始供应
4
+ * @module sol/token/create-complete
5
+ */
6
+ import { Connection, Keypair, PublicKey } from '@solana/web3.js';
7
+ import type { TokenStandard } from './types.js';
8
+ /**
9
+ * 完整代币创建参数
10
+ */
11
+ export interface CreateTokenCompleteParams {
12
+ /** 代币名称 */
13
+ name: string;
14
+ /** 代币符号 */
15
+ symbol: string;
16
+ /** 代币描述 */
17
+ description: string;
18
+ /** 精度(小数位数) */
19
+ decimals: number;
20
+ /** 初始供应量(不含精度,如 1000000 表示 100万) */
21
+ initialSupply: bigint;
22
+ /** 图片 Buffer(用于上传 IPFS) */
23
+ imageBuffer?: Buffer | Uint8Array;
24
+ /** 图片 File 对象(浏览器环境) */
25
+ imageFile?: File;
26
+ /** 已上传的元数据 CID(如果已有,则不需要上传) */
27
+ metadataCid?: string;
28
+ /** 创建者 Keypair */
29
+ creator: Keypair;
30
+ /** Mint 权限(默认为 creator) */
31
+ mintAuthority?: PublicKey;
32
+ /** 冻结权限(null 表示不可冻结) */
33
+ freezeAuthority?: PublicKey | null;
34
+ /** 代币标准(默认 TOKEN_2022) */
35
+ tokenStandard?: TokenStandard;
36
+ /** 社交链接 */
37
+ social?: {
38
+ telegram?: string;
39
+ twitter?: string;
40
+ website?: string;
41
+ };
42
+ }
43
+ /**
44
+ * 完整代币创建结果
45
+ */
46
+ export interface CreateTokenCompleteResult {
47
+ success: boolean;
48
+ /** Mint 地址 */
49
+ mint?: string;
50
+ /** Mint Keypair(需要保存用于后续操作) */
51
+ mintKeypair?: Keypair;
52
+ /** Metadata 账户地址 */
53
+ metadataAddress?: string;
54
+ /** 元数据 URI(IPFS) */
55
+ metadataUri?: string;
56
+ /** 创建者 ATA 地址 */
57
+ creatorAta?: string;
58
+ /** 签名后的交易列表(按顺序提交) */
59
+ signedTransactions?: Array<{
60
+ data: string;
61
+ signature: string;
62
+ description: string;
63
+ }>;
64
+ /** blockhash */
65
+ recentBlockhash?: string;
66
+ /** 最后有效区块高度 */
67
+ lastValidBlockHeight?: number;
68
+ /** 错误信息 */
69
+ error?: string;
70
+ }
71
+ /**
72
+ * 创建完整代币(上传元数据 + 创建 Mint + 创建 Metadata + Mint 初始供应)
73
+ *
74
+ * 流程:
75
+ * 1. 上传图片和元数据到 IPFS(使用 Flap 官方接口)
76
+ * 2. 创建 Mint 账户 + Mint 初始供应量
77
+ * 3. 创建 Metaplex Metadata 账户
78
+ *
79
+ * @param connection Solana 连接
80
+ * @param params 创建参数
81
+ */
82
+ export declare function createTokenComplete(connection: Connection, params: CreateTokenCompleteParams): Promise<CreateTokenCompleteResult>;
83
+ /**
84
+ * 创建代币(不上传元数据,使用已有 URI)
85
+ * 适用于元数据已经上传的情况
86
+ */
87
+ export declare function createTokenWithUri(connection: Connection, params: {
88
+ name: string;
89
+ symbol: string;
90
+ metadataUri: string;
91
+ decimals: number;
92
+ initialSupply: bigint;
93
+ creator: Keypair;
94
+ mintAuthority?: PublicKey;
95
+ freezeAuthority?: PublicKey | null;
96
+ tokenStandard?: TokenStandard;
97
+ }): Promise<CreateTokenCompleteResult>;
98
+ /**
99
+ * 将创建结果转换为后端 API 格式
100
+ */
101
+ export declare function toBackendCreateTokenRequest(result: CreateTokenCompleteResult): {
102
+ mint: string;
103
+ metadataAddress: string;
104
+ metadataUri: string;
105
+ imageUri?: string;
106
+ creatorAta: string;
107
+ transactions: Array<{
108
+ data: string;
109
+ signature: string;
110
+ description: string;
111
+ }>;
112
+ recentBlockhash: string;
113
+ lastValidBlockHeight: number;
114
+ timestamp: number;
115
+ } | null;
116
+ //# sourceMappingURL=create-complete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-complete.d.ts","sourceRoot":"","sources":["../../src/token/create-complete.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EAEV,MAAM,iBAAiB,CAAC;AAUzB,OAAO,KAAK,EAGV,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAClC,wBAAwB;IACxB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,wBAAwB;IACxB,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,0BAA0B;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW;IACX,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,kBAAkB,CAAC,EAAE,KAAK,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,gBAAgB;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAmJpC;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE;IACN,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,GACA,OAAO,CAAC,yBAAyB,CAAC,CA2FpC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,yBAAyB,GAAG;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAeP"}
@@ -0,0 +1,236 @@
1
+ /**
2
+ * 完整代币创建流程
3
+ * 包括:上传元数据 → 创建 Mint → 创建 Metadata → Mint 初始供应
4
+ * @module sol/token/create-complete
5
+ */
6
+ import { TOKEN_2022_PROGRAM_ID, TOKEN_PROGRAM_ID, ASSOCIATED_TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync, } from '@solana/spl-token';
7
+ import { signCreateTokenTransaction } from './create-token.js';
8
+ import { signCreateMetadataTransaction } from './metadata.js';
9
+ import { uploadTokenMetadata, uploadTokenMetadataFromFile, cidToUri } from './metadata-upload.js';
10
+ /**
11
+ * 创建完整代币(上传元数据 + 创建 Mint + 创建 Metadata + Mint 初始供应)
12
+ *
13
+ * 流程:
14
+ * 1. 上传图片和元数据到 IPFS(使用 Flap 官方接口)
15
+ * 2. 创建 Mint 账户 + Mint 初始供应量
16
+ * 3. 创建 Metaplex Metadata 账户
17
+ *
18
+ * @param connection Solana 连接
19
+ * @param params 创建参数
20
+ */
21
+ export async function createTokenComplete(connection, params) {
22
+ try {
23
+ const { name, symbol, description, decimals, initialSupply, imageBuffer, imageFile, metadataCid, creator, mintAuthority = creator.publicKey, freezeAuthority = creator.publicKey, tokenStandard = 'TOKEN_2022', social, } = params;
24
+ // ==================== Step 1: 上传元数据 ====================
25
+ let metadataUri;
26
+ if (metadataCid) {
27
+ // 已有元数据 CID
28
+ metadataUri = cidToUri(metadataCid);
29
+ }
30
+ else if (imageBuffer) {
31
+ // 上传图片和元数据(使用 Flap 官方 IPFS 接口)
32
+ const uploadResult = await uploadTokenMetadata(imageBuffer, {
33
+ name,
34
+ symbol,
35
+ description,
36
+ creator: creator.publicKey.toBase58(),
37
+ telegram: social?.telegram,
38
+ twitter: social?.twitter,
39
+ website: social?.website,
40
+ });
41
+ if (!uploadResult.success) {
42
+ return {
43
+ success: false,
44
+ error: `IPFS upload failed: ${uploadResult.error}`,
45
+ };
46
+ }
47
+ metadataUri = uploadResult.uri;
48
+ }
49
+ else if (imageFile) {
50
+ // 从 File 对象上传(浏览器环境)
51
+ const uploadResult = await uploadTokenMetadataFromFile(imageFile, {
52
+ name,
53
+ symbol,
54
+ description,
55
+ creator: creator.publicKey.toBase58(),
56
+ telegram: social?.telegram,
57
+ twitter: social?.twitter,
58
+ website: social?.website,
59
+ });
60
+ if (!uploadResult.success) {
61
+ return {
62
+ success: false,
63
+ error: `IPFS upload failed: ${uploadResult.error}`,
64
+ };
65
+ }
66
+ metadataUri = uploadResult.uri;
67
+ }
68
+ else {
69
+ return {
70
+ success: false,
71
+ error: 'Either metadataCid, imageBuffer, or imageFile is required',
72
+ };
73
+ }
74
+ // ==================== Step 2: 创建 Mint + Mint To ====================
75
+ const createTokenResult = await signCreateTokenTransaction(connection, {
76
+ creator,
77
+ decimals,
78
+ initialSupply,
79
+ mintAuthority,
80
+ freezeAuthority,
81
+ tokenStandard,
82
+ });
83
+ const mintKeypair = createTokenResult.mintKeypair;
84
+ const mintAddress = createTokenResult.mintAddress;
85
+ // ==================== Step 3: 创建 Metadata ====================
86
+ const metadataResult = await signCreateMetadataTransaction(connection, {
87
+ mint: mintKeypair.publicKey,
88
+ mintAuthority: creator,
89
+ payer: creator,
90
+ name,
91
+ symbol,
92
+ uri: metadataUri,
93
+ sellerFeeBasisPoints: 0,
94
+ creators: [
95
+ {
96
+ address: creator.publicKey,
97
+ verified: true,
98
+ share: 100,
99
+ },
100
+ ],
101
+ isMutable: true,
102
+ });
103
+ if (!metadataResult.success) {
104
+ return {
105
+ success: false,
106
+ error: `Metadata creation failed: ${metadataResult.error}`,
107
+ };
108
+ }
109
+ // ==================== 获取 ATA 地址 ====================
110
+ const programId = tokenStandard === 'TOKEN_2022' ? TOKEN_2022_PROGRAM_ID : TOKEN_PROGRAM_ID;
111
+ const creatorAta = getAssociatedTokenAddressSync(mintKeypair.publicKey, creator.publicKey, false, programId, ASSOCIATED_TOKEN_PROGRAM_ID);
112
+ // ==================== 组装结果 ====================
113
+ return {
114
+ success: true,
115
+ mint: mintAddress,
116
+ mintKeypair,
117
+ metadataAddress: metadataResult.metadataAddress,
118
+ metadataUri,
119
+ creatorAta: creatorAta.toBase58(),
120
+ signedTransactions: [
121
+ {
122
+ data: createTokenResult.signedTransaction.data,
123
+ signature: createTokenResult.signedTransaction.signature,
124
+ description: 'Create Mint + Mint Initial Supply',
125
+ },
126
+ {
127
+ data: metadataResult.signedTransaction.data,
128
+ signature: metadataResult.signedTransaction.signature,
129
+ description: 'Create Metadata',
130
+ },
131
+ ],
132
+ recentBlockhash: createTokenResult.recentBlockhash,
133
+ lastValidBlockHeight: createTokenResult.lastValidBlockHeight,
134
+ };
135
+ }
136
+ catch (error) {
137
+ return {
138
+ success: false,
139
+ error: error.message,
140
+ };
141
+ }
142
+ }
143
+ /**
144
+ * 创建代币(不上传元数据,使用已有 URI)
145
+ * 适用于元数据已经上传的情况
146
+ */
147
+ export async function createTokenWithUri(connection, params) {
148
+ try {
149
+ const { name, symbol, metadataUri, decimals, initialSupply, creator, mintAuthority = creator.publicKey, freezeAuthority = creator.publicKey, tokenStandard = 'TOKEN_2022', } = params;
150
+ // 创建 Mint + Mint To
151
+ const createTokenResult = await signCreateTokenTransaction(connection, {
152
+ creator,
153
+ decimals,
154
+ initialSupply,
155
+ mintAuthority,
156
+ freezeAuthority,
157
+ tokenStandard,
158
+ });
159
+ const mintKeypair = createTokenResult.mintKeypair;
160
+ const mintAddress = createTokenResult.mintAddress;
161
+ // 创建 Metadata
162
+ const metadataResult = await signCreateMetadataTransaction(connection, {
163
+ mint: mintKeypair.publicKey,
164
+ mintAuthority: creator,
165
+ payer: creator,
166
+ name,
167
+ symbol,
168
+ uri: metadataUri,
169
+ sellerFeeBasisPoints: 0,
170
+ creators: [
171
+ {
172
+ address: creator.publicKey,
173
+ verified: true,
174
+ share: 100,
175
+ },
176
+ ],
177
+ isMutable: true,
178
+ });
179
+ if (!metadataResult.success) {
180
+ return {
181
+ success: false,
182
+ error: `Metadata creation failed: ${metadataResult.error}`,
183
+ };
184
+ }
185
+ // 获取 ATA 地址
186
+ const programId = tokenStandard === 'TOKEN_2022' ? TOKEN_2022_PROGRAM_ID : TOKEN_PROGRAM_ID;
187
+ const creatorAta = getAssociatedTokenAddressSync(mintKeypair.publicKey, creator.publicKey, false, programId, ASSOCIATED_TOKEN_PROGRAM_ID);
188
+ return {
189
+ success: true,
190
+ mint: mintAddress,
191
+ mintKeypair,
192
+ metadataAddress: metadataResult.metadataAddress,
193
+ metadataUri,
194
+ creatorAta: creatorAta.toBase58(),
195
+ signedTransactions: [
196
+ {
197
+ data: createTokenResult.signedTransaction.data,
198
+ signature: createTokenResult.signedTransaction.signature,
199
+ description: 'Create Mint + Mint Initial Supply',
200
+ },
201
+ {
202
+ data: metadataResult.signedTransaction.data,
203
+ signature: metadataResult.signedTransaction.signature,
204
+ description: 'Create Metadata',
205
+ },
206
+ ],
207
+ recentBlockhash: createTokenResult.recentBlockhash,
208
+ lastValidBlockHeight: createTokenResult.lastValidBlockHeight,
209
+ };
210
+ }
211
+ catch (error) {
212
+ return {
213
+ success: false,
214
+ error: error.message,
215
+ };
216
+ }
217
+ }
218
+ /**
219
+ * 将创建结果转换为后端 API 格式
220
+ */
221
+ export function toBackendCreateTokenRequest(result) {
222
+ if (!result.success || !result.signedTransactions) {
223
+ return null;
224
+ }
225
+ return {
226
+ mint: result.mint,
227
+ metadataAddress: result.metadataAddress,
228
+ metadataUri: result.metadataUri,
229
+ creatorAta: result.creatorAta,
230
+ transactions: result.signedTransactions,
231
+ recentBlockhash: result.recentBlockhash,
232
+ lastValidBlockHeight: result.lastValidBlockHeight,
233
+ timestamp: Date.now(),
234
+ };
235
+ }
236
+ //# sourceMappingURL=create-complete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-complete.js","sourceRoot":"","sources":["../../src/token/create-complete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Token-2022 / SPL Token 创建
3
+ * SDK 只负责构建和签名交易,提交到后端广播
4
+ * @module sol/token/create-token
5
+ */
6
+ import { Connection, Keypair, PublicKey } from '@solana/web3.js';
7
+ import type { TokenStandard, Token2022Extensions, MintToParams, MintToResult } from './types.js';
8
+ /**
9
+ * 构建并签名创建代币交易(不含 Metaplex 元数据)
10
+ * @param connection Solana 连接
11
+ * @param params 创建参数
12
+ * @returns 签名后的交易数据
13
+ */
14
+ export declare function signCreateTokenTransaction(connection: Connection, params: {
15
+ creator: Keypair;
16
+ decimals: number;
17
+ initialSupply: bigint;
18
+ mintAuthority?: PublicKey;
19
+ freezeAuthority?: PublicKey | null;
20
+ tokenStandard?: TokenStandard;
21
+ extensions?: Token2022Extensions;
22
+ }): Promise<{
23
+ mintKeypair: Keypair;
24
+ mintAddress: string;
25
+ signedTransaction: {
26
+ data: string;
27
+ signature: string;
28
+ };
29
+ recentBlockhash: string;
30
+ lastValidBlockHeight: number;
31
+ }>;
32
+ /**
33
+ * 构建并签名 Mint To 交易
34
+ * @param connection Solana 连接
35
+ * @param params Mint To 参数
36
+ */
37
+ export declare function signMintToTransaction(connection: Connection, params: MintToParams): Promise<MintToResult>;
38
+ /**
39
+ * 批量 Mint To(多个地址)
40
+ */
41
+ export declare function signBatchMintToTransaction(connection: Connection, params: {
42
+ mint: string;
43
+ mintAuthority: Keypair;
44
+ distributions: Array<{
45
+ destination: string;
46
+ amount: bigint;
47
+ }>;
48
+ tokenStandard?: TokenStandard;
49
+ }): Promise<{
50
+ success: boolean;
51
+ signedTransaction?: {
52
+ data: string;
53
+ signature: string;
54
+ };
55
+ ataAddresses?: string[];
56
+ error?: string;
57
+ }>;
58
+ //# sourceMappingURL=create-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-token.d.ts","sourceRoot":"","sources":["../../src/token/create-token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EAIV,MAAM,iBAAiB,CAAC;AAgBzB,OAAO,KAAK,EAGV,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACb,MAAM,YAAY,CAAC;AAuKpB;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE;IACN,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC,GACA,OAAO,CAAC;IACT,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC,CAoED;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,YAAY,CAAC,CA4EvB;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE;IACN,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,KAAK,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,GACA,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CA6FD"}