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