@heyanon/sdk 1.0.6 → 2.0.1

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 (43) hide show
  1. package/dist/adapter/types.d.ts +19 -7
  2. package/dist/blockchain/constants/chains.d.ts +20 -19
  3. package/dist/blockchain/constants/index.d.ts +0 -3
  4. package/dist/blockchain/evm/abis/WETH9Abi.d.ts +187 -0
  5. package/dist/blockchain/evm/abis/index.d.ts +1 -0
  6. package/dist/blockchain/evm/constants/chains.d.ts +17 -0
  7. package/dist/blockchain/evm/constants/index.d.ts +3 -0
  8. package/dist/blockchain/evm/constants/weth9.d.ts +21 -0
  9. package/dist/blockchain/evm/index.d.ts +4 -0
  10. package/dist/blockchain/{helpers → evm/utils}/checkToApprove.d.ts +1 -1
  11. package/dist/blockchain/evm/utils/getChainFromName.d.ts +2 -0
  12. package/dist/blockchain/evm/utils/getChainName.d.ts +1 -0
  13. package/dist/blockchain/evm/utils/getUnwrapData.d.ts +3 -0
  14. package/dist/blockchain/evm/utils/getWrapAddress.d.ts +3 -0
  15. package/dist/blockchain/evm/utils/getWrapAddress.test.d.ts +1 -0
  16. package/dist/blockchain/evm/utils/getWrapData.d.ts +3 -0
  17. package/dist/blockchain/evm/utils/getWrapData.test.d.ts +1 -0
  18. package/dist/blockchain/evm/utils/getWrappedNative.d.ts +3 -0
  19. package/dist/blockchain/evm/utils/getWrappedNative.test.d.ts +1 -0
  20. package/dist/blockchain/{helpers → evm/utils}/index.d.ts +6 -2
  21. package/dist/blockchain/evm/utils/isEvmChain.d.ts +1 -0
  22. package/dist/blockchain/evm/utils/isEvmChain.test.d.ts +1 -0
  23. package/dist/blockchain/index.d.ts +2 -2
  24. package/dist/blockchain/solana/index.d.ts +2 -0
  25. package/dist/blockchain/solana/types.d.ts +12 -0
  26. package/dist/blockchain/solana/utils/buildV0Transaction.d.ts +8 -0
  27. package/dist/blockchain/solana/utils/index.d.ts +2 -0
  28. package/dist/blockchain/solana/utils/toPublicKey.d.ts +2 -0
  29. package/dist/blockchain/solana/utils/toPublicKey.test.d.ts +1 -0
  30. package/dist/index.js +465 -108
  31. package/dist/index.mjs +461 -98
  32. package/package.json +2 -1
  33. package/dist/blockchain/constants/chainNames.d.ts +0 -3
  34. package/dist/blockchain/constants/weth9.d.ts +0 -23
  35. package/dist/blockchain/helpers/getChainFromName.d.ts +0 -2
  36. package/dist/blockchain/helpers/getChainName.d.ts +0 -2
  37. package/dist/blockchain/helpers/getWrappedNative.d.ts +0 -3
  38. /package/dist/blockchain/{constants → evm/constants}/misc.d.ts +0 -0
  39. /package/dist/blockchain/{types.d.ts → evm/types.d.ts} +0 -0
  40. /package/dist/blockchain/{helpers → evm/utils}/checkToApprove.test.d.ts +0 -0
  41. /package/dist/blockchain/{helpers → evm/utils}/getChainFromName.test.d.ts +0 -0
  42. /package/dist/blockchain/{helpers → evm/utils}/getChainName.test.d.ts +0 -0
  43. /package/dist/blockchain/{helpers/getWrappedNative.test.d.ts → evm/utils/getUnwrapData.test.d.ts} +0 -0
package/dist/index.mjs CHANGED
@@ -1,5 +1,12 @@
1
+ import { erc20Abi, getAddress, encodeFunctionData } from 'viem';
1
2
  import { ethereumTokens, optimismTokens, bscTokens, polygonTokens, fantomTokens, zkSyncTokens, kavaTokens, avalancheTokens, arbitrumTokens, metisTokens, baseTokens, iotaTokens, sonicTokens, Token } from '@real-wagmi/sdk';
2
- import { erc20Abi, encodeFunctionData } from 'viem';
3
+ import { TransactionMessage, VersionedTransaction, PublicKey } from '@solana/web3.js';
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
3
10
 
4
11
  // src/adapter/transformers/toResult.ts
5
12
  function toResult(data = "", error = false) {
@@ -9,103 +16,33 @@ function toResult(data = "", error = false) {
9
16
  };
10
17
  }
11
18
 
12
- // src/blockchain/constants/chains.ts
13
- var ChainId = /* @__PURE__ */ ((ChainId3) => {
14
- ChainId3[ChainId3["ETHEREUM"] = 1] = "ETHEREUM";
15
- ChainId3[ChainId3["OPTIMISM"] = 10] = "OPTIMISM";
16
- ChainId3[ChainId3["BSC"] = 56] = "BSC";
17
- ChainId3[ChainId3["GNOSIS"] = 100] = "GNOSIS";
18
- ChainId3[ChainId3["POLYGON"] = 137] = "POLYGON";
19
- ChainId3[ChainId3["SONIC"] = 146] = "SONIC";
20
- ChainId3[ChainId3["FANTOM"] = 250] = "FANTOM";
21
- ChainId3[ChainId3["ZKSYNC"] = 324] = "ZKSYNC";
22
- ChainId3[ChainId3["METIS"] = 1088] = "METIS";
23
- ChainId3[ChainId3["KAVA"] = 2222] = "KAVA";
24
- ChainId3[ChainId3["BASE"] = 8453] = "BASE";
25
- ChainId3[ChainId3["IOTA"] = 8822] = "IOTA";
26
- ChainId3[ChainId3["AVALANCHE"] = 43114] = "AVALANCHE";
27
- ChainId3[ChainId3["ARBITRUM"] = 42161] = "ARBITRUM";
28
- ChainId3[ChainId3["ONE_SEPOLIA"] = 421614] = "ONE_SEPOLIA";
29
- ChainId3[ChainId3["SCROLL"] = 534352] = "SCROLL";
30
- ChainId3[ChainId3["SEPOLIA"] = 11155111] = "SEPOLIA";
31
- return ChainId3;
32
- })(ChainId || {});
33
- var allChainIds = Object.values(ChainId).filter((value) => typeof value === "number");
34
- var WETH9 = {
35
- [1 /* ETHEREUM */]: ethereumTokens.weth,
36
- [10 /* OPTIMISM */]: optimismTokens.weth,
37
- [56 /* BSC */]: bscTokens.wbnb,
38
- [137 /* POLYGON */]: polygonTokens.wmatic,
39
- [250 /* FANTOM */]: fantomTokens.wftm,
40
- [324 /* ZKSYNC */]: zkSyncTokens.weth,
41
- [2222 /* KAVA */]: kavaTokens.wkava,
42
- [43114 /* AVALANCHE */]: avalancheTokens.wavax,
43
- [42161 /* ARBITRUM */]: arbitrumTokens.weth,
44
- [1088 /* METIS */]: metisTokens.wmetis,
45
- [8453 /* BASE */]: baseTokens.weth,
46
- [8822 /* IOTA */]: iotaTokens.wiota,
47
- [146 /* SONIC */]: sonicTokens.ws,
48
- [11155111 /* SEPOLIA */]: new Token(11155111 /* SEPOLIA */, "0x7b79995e5f793a07bc00c21412e50ecae098e7f9", 18, "WETH", "Wrapped Ether"),
49
- [421614 /* ONE_SEPOLIA */]: new Token(421614 /* ONE_SEPOLIA */, "0x980B62Da83eFf3D4576C647993b0c1D7faf17c73", 18, "WETH", "Wrapped Ether"),
50
- [534352 /* SCROLL */]: new Token(534352 /* SCROLL */, "0x5300000000000000000000000000000000000004", 18, "WETH", "Wrapped Ether"),
51
- [100 /* GNOSIS */]: new Token(100 /* GNOSIS */, "0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d", 18, "WXDAI", "Wrapped XDAI")
52
- };
19
+ // src/blockchain/evm/index.ts
20
+ var evm_exports = {};
21
+ __export(evm_exports, {
22
+ abis: () => abis_exports,
23
+ constants: () => constants_exports,
24
+ types: () => types_exports,
25
+ utils: () => utils_exports
26
+ });
53
27
 
54
- // src/blockchain/constants/chainNames.ts
55
- var chainNames = {
56
- [56 /* BSC */]: "bsc",
57
- [1 /* ETHEREUM */]: "ethereum",
58
- [324 /* ZKSYNC */]: "zksync",
59
- [10 /* OPTIMISM */]: "optimistic",
60
- [137 /* POLYGON */]: "polygon",
61
- [250 /* FANTOM */]: "fantom",
62
- [2222 /* KAVA */]: "kava",
63
- [43114 /* AVALANCHE */]: "avalanche",
64
- [42161 /* ARBITRUM */]: "arbitrum-one",
65
- [1088 /* METIS */]: "metis",
66
- [8453 /* BASE */]: "base",
67
- [8822 /* IOTA */]: "iota",
68
- [11155111 /* SEPOLIA */]: "sepolia",
69
- [146 /* SONIC */]: "sonic",
70
- [100 /* GNOSIS */]: "gnosis",
71
- [534352 /* SCROLL */]: "scroll",
72
- [421614 /* ONE_SEPOLIA */]: "one-sepolia"
73
- };
74
- var allChainNames = Object.values(chainNames);
28
+ // src/blockchain/evm/types.ts
29
+ var types_exports = {};
75
30
 
76
- // src/blockchain/constants/misc.ts
77
- var NATIVE_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
78
- var DEAD_ADDRESS = "0x000000000000000000000000000000000000dEaD";
79
-
80
- // src/blockchain/helpers/getChainName.ts
81
- function getChainName(chainId) {
82
- const name = chainNames[chainId];
83
- if (!name)
84
- throw new Error(`Chain name with id ${chainId} not found`);
85
- return name;
86
- }
87
-
88
- // src/blockchain/helpers/getChainFromName.ts
89
- function getChainFromName(chainName) {
90
- for (const [chainId, name] of Object.entries(chainNames)) {
91
- if (name === chainName) {
92
- return parseInt(chainId);
93
- }
94
- }
95
- throw new Error(`Unknown chain name: ${chainName}`);
96
- }
97
-
98
- // src/blockchain/helpers/getWrappedNative.ts
99
- function getWrappedNative(chainId) {
100
- const token = WETH9[chainId];
101
- if (!token) {
102
- throw new Error(`Wrapped native for chainId ${chainId} not found`);
103
- }
104
- return token;
105
- }
106
- var ZERO_ALLOWANCE = [
107
- { chainId: 1 /* ETHEREUM */, address: "0xdAC17F958D2ee523a2206206994597C13D831ec7" }
108
- ];
31
+ // src/blockchain/evm/utils/index.ts
32
+ var utils_exports = {};
33
+ __export(utils_exports, {
34
+ checkToApprove: () => checkToApprove,
35
+ getChainFromName: () => getChainFromName,
36
+ getChainName: () => getChainName,
37
+ getUnwrapData: () => getUnwrapData,
38
+ getWrapAddress: () => getWrapAddress,
39
+ getWrapData: () => getWrapData,
40
+ getWrappedNative: () => getWrappedNative,
41
+ isEvmChain: () => isEvmChain
42
+ });
43
+ var ZERO_ALLOWANCE = {
44
+ 1: ["0xdAC17F958D2ee523a2206206994597C13D831ec7"]
45
+ };
109
46
  async function checkToApprove({ args, transactions, provider }) {
110
47
  const { account, target, spender, amount } = args;
111
48
  const allowance = await provider.readContract({
@@ -114,7 +51,11 @@ async function checkToApprove({ args, transactions, provider }) {
114
51
  functionName: "allowance",
115
52
  args: [account, spender]
116
53
  });
117
- if (ZERO_ALLOWANCE.some(({ chainId, address }) => chainId === provider.chain?.id && address.toLowerCase() === target.toLowerCase())) {
54
+ let chainId = provider.chain?.id;
55
+ if (!chainId) {
56
+ chainId = await provider.getChainId();
57
+ }
58
+ if (ZERO_ALLOWANCE[chainId]?.includes(getAddress(target))) {
118
59
  if (allowance < amount && allowance > 0n) {
119
60
  transactions.push({
120
61
  target,
@@ -138,6 +79,428 @@ async function checkToApprove({ args, transactions, provider }) {
138
79
  }
139
80
  }
140
81
 
82
+ // src/blockchain/evm/constants/index.ts
83
+ var constants_exports = {};
84
+ __export(constants_exports, {
85
+ ChainIds: () => ChainIds,
86
+ DEAD_ADDRESS: () => DEAD_ADDRESS,
87
+ NATIVE_ADDRESS: () => NATIVE_ADDRESS,
88
+ WETH9: () => WETH9
89
+ });
90
+
91
+ // src/blockchain/evm/constants/misc.ts
92
+ var NATIVE_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
93
+ var DEAD_ADDRESS = "0x000000000000000000000000000000000000dEaD";
94
+
95
+ // src/blockchain/constants/chains.ts
96
+ var Chain = /* @__PURE__ */ ((Chain2) => {
97
+ Chain2["ETHEREUM"] = "ethereum";
98
+ Chain2["OPTIMISM"] = "optimism";
99
+ Chain2["BSC"] = "bsc";
100
+ Chain2["GNOSIS"] = "gnosis";
101
+ Chain2["POLYGON"] = "polygon";
102
+ Chain2["SONIC"] = "sonic";
103
+ Chain2["FANTOM"] = "fantom";
104
+ Chain2["ZKSYNC"] = "zksync";
105
+ Chain2["METIS"] = "metis";
106
+ Chain2["KAVA_EVM"] = "kava_evm";
107
+ Chain2["BASE"] = "base";
108
+ Chain2["IOTA_EVM"] = "iota_evm";
109
+ Chain2["AVALANCHE"] = "avalanche";
110
+ Chain2["ARBITRUM"] = "arbitrum";
111
+ Chain2["SCROLL"] = "scroll";
112
+ Chain2["SOLANA"] = "solana";
113
+ return Chain2;
114
+ })(Chain || {});
115
+ var allChains = Object.values(Chain);
116
+ var allEvmChains = Object.values(Chain).filter((chain) => chain !== "solana" /* SOLANA */);
117
+ var WETH9 = {
118
+ ["ethereum" /* ETHEREUM */]: ethereumTokens.weth,
119
+ ["optimism" /* OPTIMISM */]: optimismTokens.weth,
120
+ ["bsc" /* BSC */]: bscTokens.wbnb,
121
+ ["polygon" /* POLYGON */]: polygonTokens.wmatic,
122
+ ["fantom" /* FANTOM */]: fantomTokens.wftm,
123
+ ["zksync" /* ZKSYNC */]: zkSyncTokens.weth,
124
+ ["kava_evm" /* KAVA_EVM */]: kavaTokens.wkava,
125
+ ["avalanche" /* AVALANCHE */]: avalancheTokens.wavax,
126
+ ["arbitrum" /* ARBITRUM */]: arbitrumTokens.weth,
127
+ ["metis" /* METIS */]: metisTokens.wmetis,
128
+ ["base" /* BASE */]: baseTokens.weth,
129
+ ["iota_evm" /* IOTA_EVM */]: iotaTokens.wiota,
130
+ ["sonic" /* SONIC */]: sonicTokens.ws,
131
+ ["scroll" /* SCROLL */]: new Token(534352, "0x5300000000000000000000000000000000000004", 18, "WETH", "Wrapped Ether"),
132
+ ["gnosis" /* GNOSIS */]: new Token(100, "0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d", 18, "WXDAI", "Wrapped XDAI")
133
+ };
134
+
135
+ // src/blockchain/evm/constants/chains.ts
136
+ var ChainIds = {
137
+ ["ethereum" /* ETHEREUM */]: 1,
138
+ ["optimism" /* OPTIMISM */]: 10,
139
+ ["bsc" /* BSC */]: 56,
140
+ ["gnosis" /* GNOSIS */]: 100,
141
+ ["polygon" /* POLYGON */]: 137,
142
+ ["sonic" /* SONIC */]: 146,
143
+ ["fantom" /* FANTOM */]: 250,
144
+ ["zksync" /* ZKSYNC */]: 324,
145
+ ["metis" /* METIS */]: 1088,
146
+ ["kava_evm" /* KAVA_EVM */]: 2222,
147
+ ["base" /* BASE */]: 8453,
148
+ ["iota_evm" /* IOTA_EVM */]: 8822,
149
+ ["avalanche" /* AVALANCHE */]: 43114,
150
+ ["arbitrum" /* ARBITRUM */]: 42161,
151
+ ["scroll" /* SCROLL */]: 534352
152
+ };
153
+
154
+ // src/blockchain/evm/utils/getChainFromName.ts
155
+ function getChainFromName(chain) {
156
+ const chainId = ChainIds[chain];
157
+ if (!chainId)
158
+ throw new Error(`Unknown chain name: ${chain}`);
159
+ return chainId;
160
+ }
161
+
162
+ // src/blockchain/evm/utils/getChainName.ts
163
+ function getChainName(chainId) {
164
+ for (const [name, chain] of Object.entries(ChainIds)) {
165
+ if (chain === chainId) {
166
+ return name;
167
+ }
168
+ }
169
+ throw new Error(`Chain name with id ${chainId} not found`);
170
+ }
171
+
172
+ // src/blockchain/evm/abis/index.ts
173
+ var abis_exports = {};
174
+ __export(abis_exports, {
175
+ WETH9Abi: () => WETH9Abi
176
+ });
177
+
178
+ // src/blockchain/evm/abis/WETH9Abi.ts
179
+ var WETH9Abi = [
180
+ {
181
+ anonymous: false,
182
+ inputs: [
183
+ {
184
+ indexed: true,
185
+ internalType: "address",
186
+ name: "owner",
187
+ type: "address"
188
+ },
189
+ {
190
+ indexed: true,
191
+ internalType: "address",
192
+ name: "spender",
193
+ type: "address"
194
+ },
195
+ {
196
+ indexed: false,
197
+ internalType: "uint256",
198
+ name: "value",
199
+ type: "uint256"
200
+ }
201
+ ],
202
+ name: "Approval",
203
+ type: "event"
204
+ },
205
+ {
206
+ anonymous: false,
207
+ inputs: [
208
+ {
209
+ indexed: true,
210
+ internalType: "address",
211
+ name: "from",
212
+ type: "address"
213
+ },
214
+ {
215
+ indexed: true,
216
+ internalType: "address",
217
+ name: "to",
218
+ type: "address"
219
+ },
220
+ {
221
+ indexed: false,
222
+ internalType: "uint256",
223
+ name: "value",
224
+ type: "uint256"
225
+ }
226
+ ],
227
+ name: "Transfer",
228
+ type: "event"
229
+ },
230
+ {
231
+ inputs: [
232
+ {
233
+ internalType: "address",
234
+ name: "owner",
235
+ type: "address"
236
+ },
237
+ {
238
+ internalType: "address",
239
+ name: "spender",
240
+ type: "address"
241
+ }
242
+ ],
243
+ name: "allowance",
244
+ outputs: [
245
+ {
246
+ internalType: "uint256",
247
+ name: "",
248
+ type: "uint256"
249
+ }
250
+ ],
251
+ stateMutability: "view",
252
+ type: "function"
253
+ },
254
+ {
255
+ inputs: [
256
+ {
257
+ internalType: "address",
258
+ name: "spender",
259
+ type: "address"
260
+ },
261
+ {
262
+ internalType: "uint256",
263
+ name: "amount",
264
+ type: "uint256"
265
+ }
266
+ ],
267
+ name: "approve",
268
+ outputs: [
269
+ {
270
+ internalType: "bool",
271
+ name: "",
272
+ type: "bool"
273
+ }
274
+ ],
275
+ stateMutability: "nonpayable",
276
+ type: "function"
277
+ },
278
+ {
279
+ inputs: [
280
+ {
281
+ internalType: "address",
282
+ name: "account",
283
+ type: "address"
284
+ }
285
+ ],
286
+ name: "balanceOf",
287
+ outputs: [
288
+ {
289
+ internalType: "uint256",
290
+ name: "",
291
+ type: "uint256"
292
+ }
293
+ ],
294
+ stateMutability: "view",
295
+ type: "function"
296
+ },
297
+ {
298
+ inputs: [],
299
+ name: "deposit",
300
+ outputs: [],
301
+ stateMutability: "payable",
302
+ type: "function"
303
+ },
304
+ {
305
+ inputs: [],
306
+ name: "totalSupply",
307
+ outputs: [
308
+ {
309
+ internalType: "uint256",
310
+ name: "",
311
+ type: "uint256"
312
+ }
313
+ ],
314
+ stateMutability: "view",
315
+ type: "function"
316
+ },
317
+ {
318
+ inputs: [
319
+ {
320
+ internalType: "address",
321
+ name: "to",
322
+ type: "address"
323
+ },
324
+ {
325
+ internalType: "uint256",
326
+ name: "amount",
327
+ type: "uint256"
328
+ }
329
+ ],
330
+ name: "transfer",
331
+ outputs: [
332
+ {
333
+ internalType: "bool",
334
+ name: "",
335
+ type: "bool"
336
+ }
337
+ ],
338
+ stateMutability: "nonpayable",
339
+ type: "function"
340
+ },
341
+ {
342
+ inputs: [
343
+ {
344
+ internalType: "address",
345
+ name: "from",
346
+ type: "address"
347
+ },
348
+ {
349
+ internalType: "address",
350
+ name: "to",
351
+ type: "address"
352
+ },
353
+ {
354
+ internalType: "uint256",
355
+ name: "amount",
356
+ type: "uint256"
357
+ }
358
+ ],
359
+ name: "transferFrom",
360
+ outputs: [
361
+ {
362
+ internalType: "bool",
363
+ name: "",
364
+ type: "bool"
365
+ }
366
+ ],
367
+ stateMutability: "nonpayable",
368
+ type: "function"
369
+ },
370
+ {
371
+ inputs: [
372
+ {
373
+ internalType: "uint256",
374
+ name: "wad",
375
+ type: "uint256"
376
+ }
377
+ ],
378
+ name: "withdraw",
379
+ outputs: [],
380
+ stateMutability: "nonpayable",
381
+ type: "function"
382
+ },
383
+ {
384
+ inputs: [],
385
+ name: "name",
386
+ outputs: [
387
+ {
388
+ internalType: "string",
389
+ name: "",
390
+ type: "string"
391
+ }
392
+ ],
393
+ stateMutability: "view",
394
+ type: "function"
395
+ },
396
+ {
397
+ inputs: [],
398
+ name: "symbol",
399
+ outputs: [
400
+ {
401
+ internalType: "string",
402
+ name: "",
403
+ type: "string"
404
+ }
405
+ ],
406
+ stateMutability: "view",
407
+ type: "function"
408
+ },
409
+ {
410
+ inputs: [],
411
+ name: "decimals",
412
+ outputs: [
413
+ {
414
+ internalType: "uint8",
415
+ name: "",
416
+ type: "uint8"
417
+ }
418
+ ],
419
+ stateMutability: "view",
420
+ type: "function"
421
+ }
422
+ ];
423
+
424
+ // src/blockchain/evm/utils/getWrapAddress.ts
425
+ function getWrapAddress(chain) {
426
+ const wraperAddress = WETH9[chain]?.address;
427
+ if (!wraperAddress)
428
+ throw new Error(`Wrap address not set: ${chain}`);
429
+ return wraperAddress;
430
+ }
431
+
432
+ // src/blockchain/evm/utils/getUnwrapData.ts
433
+ function getUnwrapData(chain, amount) {
434
+ const wraperAddress = getWrapAddress(chain);
435
+ return {
436
+ target: wraperAddress,
437
+ data: encodeFunctionData({
438
+ abi: WETH9Abi,
439
+ functionName: "withdraw",
440
+ args: [amount]
441
+ })
442
+ };
443
+ }
444
+ function getWrapData(chain, amount) {
445
+ const wraperAddress = getWrapAddress(chain);
446
+ return {
447
+ target: wraperAddress,
448
+ data: encodeFunctionData({
449
+ abi: WETH9Abi,
450
+ functionName: "deposit"
451
+ }),
452
+ value: amount
453
+ };
454
+ }
455
+
456
+ // src/blockchain/evm/utils/getWrappedNative.ts
457
+ function getWrappedNative(chain) {
458
+ const token = WETH9[chain];
459
+ if (!token)
460
+ throw new Error(`Wrapped native for chain ${chain} not found`);
461
+ return token;
462
+ }
463
+
464
+ // src/blockchain/evm/utils/isEvmChain.ts
465
+ function isEvmChain(chain) {
466
+ return allEvmChains.includes(chain);
467
+ }
468
+
469
+ // src/blockchain/solana/index.ts
470
+ var solana_exports = {};
471
+ __export(solana_exports, {
472
+ types: () => types_exports2,
473
+ utils: () => utils_exports2
474
+ });
475
+
476
+ // src/blockchain/solana/types.ts
477
+ var types_exports2 = {};
478
+
479
+ // src/blockchain/solana/utils/index.ts
480
+ var utils_exports2 = {};
481
+ __export(utils_exports2, {
482
+ buildV0Transaction: () => buildV0Transaction,
483
+ toPublicKey: () => toPublicKey
484
+ });
485
+ async function buildV0Transaction({ connection, payer, instructions }) {
486
+ const { blockhash } = await connection.getLatestBlockhash();
487
+ const message = new TransactionMessage({
488
+ payerKey: payer,
489
+ recentBlockhash: blockhash,
490
+ instructions
491
+ }).compileToV0Message();
492
+ const transaction = new VersionedTransaction(message);
493
+ return transaction;
494
+ }
495
+ function toPublicKey(publicKey) {
496
+ try {
497
+ const result = new PublicKey(publicKey);
498
+ return result;
499
+ } catch (error) {
500
+ throw new Error(`${publicKey} is not publickey`);
501
+ }
502
+ }
503
+
141
504
  // src/utils/retry.ts
142
505
  function delay(ms) {
143
506
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -161,4 +524,4 @@ async function retry(fn, options) {
161
524
  // src/utils/sleep.ts
162
525
  var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
163
526
 
164
- export { ChainId, DEAD_ADDRESS, NATIVE_ADDRESS, WETH9, allChainIds, allChainNames, chainNames, checkToApprove, getChainFromName, getChainName, getWrappedNative, retry, sleep, toResult };
527
+ export { Chain, evm_exports as EVM, solana_exports as Solana, allChains, allEvmChains, retry, sleep, toResult };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@heyanon/sdk",
3
- "version": "1.0.6",
3
+ "version": "2.0.1",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -42,6 +42,7 @@
42
42
  ],
43
43
  "dependencies": {
44
44
  "@real-wagmi/sdk": "^1.4.5",
45
+ "@solana/web3.js": "^1.98.0",
45
46
  "viem": "^2.22.7",
46
47
  "vitest": "^2.1.8"
47
48
  }
@@ -1,3 +0,0 @@
1
- import { ChainId } from './chains';
2
- export declare const chainNames: Record<ChainId, string>;
3
- export declare const allChainNames: string[];
@@ -1,23 +0,0 @@
1
- import { Token } from '@real-wagmi/sdk';
2
- /**
3
- * Known WETH9 implementation addresses, used in our implementation of Ether#wrapped
4
- */
5
- export declare const WETH9: {
6
- 1: Token;
7
- 10: Token;
8
- 56: Token;
9
- 137: Token;
10
- 250: Token;
11
- 324: Token;
12
- 2222: Token;
13
- 43114: Token;
14
- 42161: Token;
15
- 1088: Token;
16
- 8453: Token;
17
- 8822: Token;
18
- 146: Token;
19
- 11155111: Token;
20
- 421614: Token;
21
- 534352: Token;
22
- 100: Token;
23
- };
@@ -1,2 +0,0 @@
1
- import { ChainId } from '../constants';
2
- export declare function getChainFromName(chainName: string): ChainId;
@@ -1,2 +0,0 @@
1
- import { ChainId } from '../constants';
2
- export declare function getChainName(chainId: ChainId): string;
@@ -1,3 +0,0 @@
1
- import { Token } from '@real-wagmi/sdk';
2
- import { ChainId } from '../constants';
3
- export declare function getWrappedNative(chainId: ChainId): Token;
File without changes