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,275 @@
1
+ /**
2
+ * Metaplex Token Metadata 集成
3
+ * @module sol/token/metadata
4
+ */
5
+ import { PublicKey, Transaction, TransactionInstruction, } from '@solana/web3.js';
6
+ import { SYSTEM_PROGRAMS } from '../constants.js';
7
+ // Metaplex Token Metadata Program ID
8
+ const TOKEN_METADATA_PROGRAM_ID = new PublicKey(SYSTEM_PROGRAMS.METADATA_PROGRAM);
9
+ /**
10
+ * 获取 Metadata PDA 地址
11
+ * @param mint Mint 地址
12
+ */
13
+ export function getMetadataPDA(mint) {
14
+ const [pda] = PublicKey.findProgramAddressSync([
15
+ Buffer.from('metadata'),
16
+ TOKEN_METADATA_PROGRAM_ID.toBuffer(),
17
+ mint.toBuffer(),
18
+ ], TOKEN_METADATA_PROGRAM_ID);
19
+ return pda;
20
+ }
21
+ /**
22
+ * 构建 CreateMetadataAccountV3 指令
23
+ * 手动构建指令,避免 Metaplex SDK 版本兼容问题
24
+ */
25
+ export function buildCreateMetadataAccountV3Instruction(params) {
26
+ const { metadata, mint, mintAuthority, payer, updateAuthority, name, symbol, uri, sellerFeeBasisPoints = 0, creators = null, isMutable = true, } = params;
27
+ // 构建指令数据
28
+ // CreateMetadataAccountV3 指令格式
29
+ const data = buildCreateMetadataV3Data({
30
+ name,
31
+ symbol,
32
+ uri,
33
+ sellerFeeBasisPoints,
34
+ creators,
35
+ isMutable,
36
+ });
37
+ return new TransactionInstruction({
38
+ keys: [
39
+ { pubkey: metadata, isSigner: false, isWritable: true },
40
+ { pubkey: mint, isSigner: false, isWritable: false },
41
+ { pubkey: mintAuthority, isSigner: true, isWritable: false },
42
+ { pubkey: payer, isSigner: true, isWritable: true },
43
+ { pubkey: updateAuthority, isSigner: false, isWritable: false },
44
+ { pubkey: new PublicKey(SYSTEM_PROGRAMS.SYSTEM_PROGRAM), isSigner: false, isWritable: false },
45
+ { pubkey: new PublicKey(SYSTEM_PROGRAMS.RENT_SYSVAR), isSigner: false, isWritable: false },
46
+ ],
47
+ programId: TOKEN_METADATA_PROGRAM_ID,
48
+ data,
49
+ });
50
+ }
51
+ /**
52
+ * 构建 CreateMetadataAccountV3 指令数据
53
+ */
54
+ function buildCreateMetadataV3Data(params) {
55
+ const { name, symbol, uri, sellerFeeBasisPoints, creators, isMutable } = params;
56
+ // 指令判别器:CreateMetadataAccountV3 = 33
57
+ const discriminator = 33;
58
+ // 计算缓冲区大小
59
+ let size = 1; // discriminator
60
+ size += 4 + name.length; // name (string with u32 length prefix)
61
+ size += 4 + symbol.length; // symbol
62
+ size += 4 + uri.length; // uri
63
+ size += 2; // sellerFeeBasisPoints (u16)
64
+ size += 1; // creators option flag
65
+ if (creators) {
66
+ size += 4; // creators vec length
67
+ size += creators.length * (32 + 1 + 1); // each creator: pubkey + verified + share
68
+ }
69
+ size += 1; // collection option flag (None)
70
+ size += 1; // uses option flag (None)
71
+ size += 1; // isMutable
72
+ size += 1; // collectionDetails option flag (None)
73
+ const buffer = Buffer.alloc(size);
74
+ let offset = 0;
75
+ // 写入 discriminator
76
+ buffer.writeUInt8(discriminator, offset);
77
+ offset += 1;
78
+ // 写入 name
79
+ buffer.writeUInt32LE(name.length, offset);
80
+ offset += 4;
81
+ buffer.write(name, offset);
82
+ offset += name.length;
83
+ // 写入 symbol
84
+ buffer.writeUInt32LE(symbol.length, offset);
85
+ offset += 4;
86
+ buffer.write(symbol, offset);
87
+ offset += symbol.length;
88
+ // 写入 uri
89
+ buffer.writeUInt32LE(uri.length, offset);
90
+ offset += 4;
91
+ buffer.write(uri, offset);
92
+ offset += uri.length;
93
+ // 写入 sellerFeeBasisPoints
94
+ buffer.writeUInt16LE(sellerFeeBasisPoints, offset);
95
+ offset += 2;
96
+ // 写入 creators
97
+ if (creators && creators.length > 0) {
98
+ buffer.writeUInt8(1, offset); // Some
99
+ offset += 1;
100
+ buffer.writeUInt32LE(creators.length, offset);
101
+ offset += 4;
102
+ for (const creator of creators) {
103
+ creator.address.toBuffer().copy(buffer, offset);
104
+ offset += 32;
105
+ buffer.writeUInt8(creator.verified ? 1 : 0, offset);
106
+ offset += 1;
107
+ buffer.writeUInt8(creator.share, offset);
108
+ offset += 1;
109
+ }
110
+ }
111
+ else {
112
+ buffer.writeUInt8(0, offset); // None
113
+ offset += 1;
114
+ }
115
+ // 写入 collection (None)
116
+ buffer.writeUInt8(0, offset);
117
+ offset += 1;
118
+ // 写入 uses (None)
119
+ buffer.writeUInt8(0, offset);
120
+ offset += 1;
121
+ // 写入 isMutable
122
+ buffer.writeUInt8(isMutable ? 1 : 0, offset);
123
+ offset += 1;
124
+ // 写入 collectionDetails (None)
125
+ buffer.writeUInt8(0, offset);
126
+ offset += 1;
127
+ return buffer.slice(0, offset);
128
+ }
129
+ /**
130
+ * 构建并签名创建 Metadata 交易
131
+ * @param connection Solana 连接
132
+ * @param params 参数
133
+ */
134
+ export async function signCreateMetadataTransaction(connection, params) {
135
+ try {
136
+ const { mint, mintAuthority, payer, name, symbol, uri, sellerFeeBasisPoints = 0, creators = null, isMutable = true, } = params;
137
+ // 获取 Metadata PDA
138
+ const metadataPDA = getMetadataPDA(mint);
139
+ // 获取 blockhash
140
+ const { blockhash } = await connection.getLatestBlockhash('finalized');
141
+ // 构建指令
142
+ const instruction = buildCreateMetadataAccountV3Instruction({
143
+ metadata: metadataPDA,
144
+ mint,
145
+ mintAuthority: mintAuthority.publicKey,
146
+ payer: payer.publicKey,
147
+ updateAuthority: mintAuthority.publicKey,
148
+ name,
149
+ symbol,
150
+ uri,
151
+ sellerFeeBasisPoints,
152
+ creators,
153
+ isMutable,
154
+ });
155
+ // 构建交易
156
+ const transaction = new Transaction();
157
+ transaction.add(instruction);
158
+ transaction.recentBlockhash = blockhash;
159
+ transaction.feePayer = payer.publicKey;
160
+ // 签名
161
+ const signers = [payer];
162
+ if (!payer.publicKey.equals(mintAuthority.publicKey)) {
163
+ signers.push(mintAuthority);
164
+ }
165
+ transaction.sign(...signers);
166
+ const serialized = transaction.serialize();
167
+ return {
168
+ success: true,
169
+ metadataAddress: metadataPDA.toBase58(),
170
+ signedTransaction: {
171
+ data: Buffer.from(serialized).toString('base64'),
172
+ signature: transaction.signature ? Buffer.from(transaction.signature).toString('base64') : '',
173
+ },
174
+ };
175
+ }
176
+ catch (error) {
177
+ return {
178
+ success: false,
179
+ error: error.message,
180
+ };
181
+ }
182
+ }
183
+ /**
184
+ * 构建 UpdateMetadataAccountV2 指令
185
+ */
186
+ export function buildUpdateMetadataAccountV2Instruction(params) {
187
+ const { metadata, updateAuthority, newUpdateAuthority, name, symbol, uri, sellerFeeBasisPoints, creators, primarySaleHappened, isMutable, } = params;
188
+ // UpdateMetadataAccountV2 指令格式
189
+ // discriminator = 15
190
+ const discriminator = 15;
191
+ // 简化版本:只构建基本的更新数据
192
+ // 完整实现需要更复杂的序列化
193
+ const dataBuffer = Buffer.alloc(1024);
194
+ let offset = 0;
195
+ dataBuffer.writeUInt8(discriminator, offset);
196
+ offset += 1;
197
+ // data option (Some if any field is provided)
198
+ const hasData = name || symbol || uri || sellerFeeBasisPoints !== undefined || creators;
199
+ dataBuffer.writeUInt8(hasData ? 1 : 0, offset);
200
+ offset += 1;
201
+ if (hasData) {
202
+ // name
203
+ const nameStr = name || '';
204
+ dataBuffer.writeUInt32LE(nameStr.length, offset);
205
+ offset += 4;
206
+ dataBuffer.write(nameStr, offset);
207
+ offset += nameStr.length;
208
+ // symbol
209
+ const symbolStr = symbol || '';
210
+ dataBuffer.writeUInt32LE(symbolStr.length, offset);
211
+ offset += 4;
212
+ dataBuffer.write(symbolStr, offset);
213
+ offset += symbolStr.length;
214
+ // uri
215
+ const uriStr = uri || '';
216
+ dataBuffer.writeUInt32LE(uriStr.length, offset);
217
+ offset += 4;
218
+ dataBuffer.write(uriStr, offset);
219
+ offset += uriStr.length;
220
+ // sellerFeeBasisPoints
221
+ dataBuffer.writeUInt16LE(sellerFeeBasisPoints || 0, offset);
222
+ offset += 2;
223
+ // creators (None for simplicity)
224
+ dataBuffer.writeUInt8(0, offset);
225
+ offset += 1;
226
+ // collection (None)
227
+ dataBuffer.writeUInt8(0, offset);
228
+ offset += 1;
229
+ // uses (None)
230
+ dataBuffer.writeUInt8(0, offset);
231
+ offset += 1;
232
+ }
233
+ // newUpdateAuthority option
234
+ if (newUpdateAuthority) {
235
+ dataBuffer.writeUInt8(1, offset);
236
+ offset += 1;
237
+ newUpdateAuthority.toBuffer().copy(dataBuffer, offset);
238
+ offset += 32;
239
+ }
240
+ else {
241
+ dataBuffer.writeUInt8(0, offset);
242
+ offset += 1;
243
+ }
244
+ // primarySaleHappened option
245
+ if (primarySaleHappened !== undefined) {
246
+ dataBuffer.writeUInt8(1, offset);
247
+ offset += 1;
248
+ dataBuffer.writeUInt8(primarySaleHappened ? 1 : 0, offset);
249
+ offset += 1;
250
+ }
251
+ else {
252
+ dataBuffer.writeUInt8(0, offset);
253
+ offset += 1;
254
+ }
255
+ // isMutable option
256
+ if (isMutable !== undefined) {
257
+ dataBuffer.writeUInt8(1, offset);
258
+ offset += 1;
259
+ dataBuffer.writeUInt8(isMutable ? 1 : 0, offset);
260
+ offset += 1;
261
+ }
262
+ else {
263
+ dataBuffer.writeUInt8(0, offset);
264
+ offset += 1;
265
+ }
266
+ return new TransactionInstruction({
267
+ keys: [
268
+ { pubkey: metadata, isSigner: false, isWritable: true },
269
+ { pubkey: updateAuthority, isSigner: true, isWritable: false },
270
+ ],
271
+ programId: TOKEN_METADATA_PROGRAM_ID,
272
+ data: dataBuffer.slice(0, offset),
273
+ });
274
+ }
275
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/token/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,154 @@
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
+ }
154
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/token/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Token 创建相关类型定义
3
+ * @module sol/token/types
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/token/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,177 @@
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
+ }
177
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Solana SDK 类型定义
3
+ * @module sol/types
4
+ */
5
+ export {};
6
+ // ==================== Jito Bundle ====================
7
+ // 注意:Jito 相关类型已移至 jito/types.ts
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AA6MH,wDAAwD;AACxD,gCAAgC"}