@deserialize/multi-vm-wallet 1.2.11 → 1.2.22

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 (51) hide show
  1. package/dist/IChainWallet.d.ts +5 -1
  2. package/dist/IChainWallet.js.map +1 -1
  3. package/dist/constant.d.ts +16 -0
  4. package/dist/constant.js +37 -6
  5. package/dist/constant.js.map +1 -1
  6. package/dist/evm/evm.d.ts +6 -1
  7. package/dist/evm/evm.js +36 -45
  8. package/dist/evm/evm.js.map +1 -1
  9. package/dist/evm/transaction.utils.d.ts +362 -0
  10. package/dist/evm/transaction.utils.js +669 -0
  11. package/dist/evm/transaction.utils.js.map +1 -0
  12. package/dist/evm/transactionParsing.d.ts +55 -0
  13. package/dist/evm/transactionParsing.js +414 -0
  14. package/dist/evm/transactionParsing.js.map +1 -0
  15. package/dist/evm/utils.d.ts +10 -9
  16. package/dist/evm/utils.js +37 -16
  17. package/dist/evm/utils.js.map +1 -1
  18. package/dist/helpers/index.d.ts +4 -0
  19. package/dist/helpers/index.js +13 -0
  20. package/dist/helpers/index.js.map +1 -0
  21. package/dist/svm/constant.d.ts +15 -0
  22. package/dist/svm/constant.js +25 -0
  23. package/dist/svm/constant.js.map +1 -0
  24. package/dist/svm/svm.d.ts +5 -2
  25. package/dist/svm/svm.js +10 -0
  26. package/dist/svm/svm.js.map +1 -1
  27. package/dist/svm/transactionParsing.d.ts +28 -0
  28. package/dist/svm/transactionParsing.js +207 -0
  29. package/dist/svm/transactionParsing.js.map +1 -0
  30. package/dist/svm/utils.d.ts +3 -2
  31. package/dist/svm/utils.js +45 -4
  32. package/dist/svm/utils.js.map +1 -1
  33. package/dist/test.d.ts +1 -1
  34. package/dist/test.js +47 -9
  35. package/dist/test.js.map +1 -1
  36. package/dist/types.d.ts +5 -1
  37. package/dist/types.js.map +1 -1
  38. package/package.json +4 -2
  39. package/utils/IChainWallet.ts +6 -2
  40. package/utils/constant.ts +40 -7
  41. package/utils/evm/evm.ts +53 -48
  42. package/utils/evm/transaction.utils.ts +824 -0
  43. package/utils/evm/transactionParsing.ts +613 -0
  44. package/utils/evm/utils.ts +44 -25
  45. package/utils/helpers/index.ts +11 -0
  46. package/utils/svm/constant.ts +29 -0
  47. package/utils/svm/svm.ts +14 -2
  48. package/utils/svm/transactionParsing.ts +294 -0
  49. package/utils/svm/utils.ts +60 -13
  50. package/utils/test.ts +56 -6
  51. package/utils/types.ts +6 -1
@@ -1,4 +1,6 @@
1
- import { Balance, ChainWalletConfig, TokenInfo, TransactionResult } from "./types";
1
+ import { EVMTransactionHistoryItem } from "./evm/transactionParsing";
2
+ import { SVMTransactionHistoryItem } from "./svm/transactionParsing";
3
+ import { Balance, ChainWalletConfig, TokenInfo, TransactionResult, UserTokenBalance } from "./types";
2
4
  export declare abstract class ChainWallet<AddressType, PrivateKeyType, ConnectionType> {
3
5
  protected privateKey: PrivateKeyType;
4
6
  config: ChainWalletConfig;
@@ -12,6 +14,8 @@ export declare abstract class ChainWallet<AddressType, PrivateKeyType, Connectio
12
14
  abstract transferNative(to: AddressType, amount: number): Promise<TransactionResult>;
13
15
  abstract transferToken(tokenAddress: TokenInfo, to: AddressType, amount: number): Promise<TransactionResult>;
14
16
  abstract swap(tokenAddress: TokenInfo, to: AddressType, amount: number, slippage?: number): Promise<TransactionResult>;
17
+ abstract discoverToken(): Promise<UserTokenBalance<AddressType>[]>;
18
+ abstract getTransactionHistory(): Promise<(SVMTransactionHistoryItem | EVMTransactionHistoryItem)[]>;
15
19
  getAddress(): AddressType;
16
20
  getChainWalletConfig(): ChainWalletConfig;
17
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IChainWallet.js","sourceRoot":"","sources":["../utils/IChainWallet.ts"],"names":[],"mappings":";;;AAEA,MAAsB,WAAW;IAO7B,YAAY,MAAyB,EAAE,UAA0B,EAAE,KAAc;QAC7E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAEvB,CAAC;IASD,+GAA+G;IAC/G,mEAAmE;IACnE,mFAAmF;IACnF,oDAAoD;IAEpD,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,oBAAoB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CAEJ;AAnCD,kCAmCC"}
1
+ {"version":3,"file":"IChainWallet.js","sourceRoot":"","sources":["../utils/IChainWallet.ts"],"names":[],"mappings":";;;AAIA,MAAsB,WAAW;IAO7B,YAAY,MAAyB,EAAE,UAA0B,EAAE,KAAc;QAC7E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAEvB,CAAC;IAWD,+GAA+G;IAC/G,mEAAmE;IACnE,mFAAmF;IACnF,oDAAoD;IAEpD,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,oBAAoB;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CAEJ;AArCD,kCAqCC"}
@@ -1,2 +1,18 @@
1
1
  import { ChainWalletConfig } from "./types";
2
2
  export declare const DefaultChains: ChainWalletConfig[];
3
+ export declare const TRANSACTION_TYPE: {
4
+ readonly NATIVE_TRANSFER: "NATIVE_TRANSFER";
5
+ readonly TOKEN_TRANSFER: "TOKEN_TRANSFER";
6
+ readonly NFT_TRANSFER: "NFT_TRANSFER";
7
+ readonly DEPOSIT: "DEPOSIT";
8
+ readonly WITHDRAWAL: "WITHDRAWAL";
9
+ readonly CONTRACT_INTERACTION: "CONTRACT_INTERACTION";
10
+ readonly SWAP: "SWAP";
11
+ readonly STAKING: "STAKING";
12
+ readonly TOKEN_INTERACTIONS: "TOKEN_INTERACTIONS";
13
+ readonly CONTRACT_CREATION: "CONTRACT_CREATION";
14
+ readonly PROGRAM_INTERACTION: "PROGRAM_INTERACTION";
15
+ readonly SYSTEM: "SYSTEM";
16
+ readonly UNKNOWN: "UNKNOWN";
17
+ };
18
+ export type TransactionType = keyof typeof TRANSACTION_TYPE;
package/dist/constant.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultChains = void 0;
3
+ exports.TRANSACTION_TYPE = exports.DefaultChains = void 0;
4
+ const chains_1 = require("viem/chains");
4
5
  exports.DefaultChains = [{
5
- chainId: 501,
6
+ chainId: 123456789,
6
7
  name: "Solana Mainnet",
7
8
  rpcUrl: "https://solana-mainnet.g.alchemy.com/v2/vB5mKztdJeFdz9RkW99Qf",
8
9
  explorerUrl: "https://explorer.solana.com", // e.g. Solana Explorer
@@ -12,7 +13,7 @@ exports.DefaultChains = [{
12
13
  decimals: 9,
13
14
  },
14
15
  testnet: false,
15
- logoUrl: "https://cryptologos.cc/logos/solana-sol-logo.png?v=040",
16
+ logoUrl: "https://solana.com/src/img/branding/solanaLogoMark.svg",
16
17
  vmType: "SVM"
17
18
  },
18
19
  {
@@ -26,7 +27,7 @@ exports.DefaultChains = [{
26
27
  decimals: 18,
27
28
  },
28
29
  testnet: false,
29
- logoUrl: "https://cryptologos.cc/logos/ethereum-eth-logo.png?v=040",
30
+ logoUrl: "https://cryptologos.cc/logos/ethereum-eth-logo.svg?v=040",
30
31
  vmType: "EVM"
31
32
  }, {
32
33
  chainId: 56,
@@ -39,10 +40,10 @@ exports.DefaultChains = [{
39
40
  decimals: 18,
40
41
  },
41
42
  testnet: false,
42
- logoUrl: "https://cryptologos.cc/logos/bnb-bnb-logo.png?v=040",
43
+ logoUrl: "https://cryptologos.cc/logos/bnb-bnb-logo.svg?v=040",
43
44
  vmType: "EVM"
44
45
  }, {
45
- chainId: 501,
46
+ chainId: 123456791,
46
47
  name: "Eclipse Mainnet",
47
48
  rpcUrl: "https://mainnetbeta-rpc.eclipse.xyz",
48
49
  explorerUrl: "https://explorer.eclipse.xyz/", // e.g. Solana Explorer
@@ -68,6 +69,36 @@ exports.DefaultChains = [{
68
69
  testnet: false,
69
70
  logoUrl: "https://chainscan.0g.ai/static/media/zg-logo-new.b22d59dabf457524325ca81c29a4e055.svg",
70
71
  vmType: "EVM"
72
+ },
73
+ {
74
+ chainId: chains_1.base.id,
75
+ name: chains_1.base.name,
76
+ rpcUrl: chains_1.base.rpcUrls.default.http[0],
77
+ explorerUrl: chains_1.base.blockExplorers?.default.url || "",
78
+ nativeToken: {
79
+ name: chains_1.base.nativeCurrency.name,
80
+ symbol: chains_1.base.nativeCurrency.symbol,
81
+ decimals: chains_1.base.nativeCurrency.decimals,
82
+ },
83
+ testnet: chains_1.base.testnet,
84
+ logoUrl: "https://avatars.githubusercontent.com/u/108554348?s=200&v=4",
85
+ vmType: "EVM"
71
86
  }
72
87
  ];
88
+ exports.TRANSACTION_TYPE = {
89
+ // CAPITALIZE THE VALUES
90
+ NATIVE_TRANSFER: 'NATIVE_TRANSFER',
91
+ TOKEN_TRANSFER: 'TOKEN_TRANSFER',
92
+ NFT_TRANSFER: 'NFT_TRANSFER',
93
+ DEPOSIT: 'DEPOSIT',
94
+ WITHDRAWAL: 'WITHDRAWAL',
95
+ CONTRACT_INTERACTION: 'CONTRACT_INTERACTION',
96
+ SWAP: 'SWAP',
97
+ STAKING: 'STAKING',
98
+ TOKEN_INTERACTIONS: 'TOKEN_INTERACTIONS',
99
+ CONTRACT_CREATION: 'CONTRACT_CREATION',
100
+ PROGRAM_INTERACTION: 'PROGRAM_INTERACTION',
101
+ SYSTEM: 'SYSTEM',
102
+ UNKNOWN: 'UNKNOWN'
103
+ };
73
104
  //# sourceMappingURL=constant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constant.js","sourceRoot":"","sources":["../utils/constant.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAAwB,CAAC;QAC/C,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,+DAA+D;QACvE,WAAW,EAAE,6BAA6B,EAAE,uBAAuB;QACnE,WAAW,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,CAAC;SACd;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,wDAAwD;QACjE,MAAM,EAAE,KAAK;KAEhB;IACK;QACF,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,uEAAuE;QAC/E,WAAW,EAAE,sBAAsB;QACnC,WAAW,EAAE;YACT,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,0DAA0D;QACnE,MAAM,EAAE,KAAK;KAChB,EAAE;QACC,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,mCAAmC;QAC3C,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACT,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,qDAAqD;QAC9D,MAAM,EAAE,KAAK;KAChB,EAAE;QACC,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,qCAAqC;QAC7C,WAAW,EAAE,+BAA+B,EAAE,uBAAuB;QACrE,WAAW,EAAE;YACT,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,CAAC;SACd;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,iJAAiJ;QAC1J,MAAM,EAAE,KAAK;KAChB;IACD;QACI,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,sBAAsB;QAC9B,WAAW,EAAE,0BAA0B,EAAE,uBAAuB;QAChE,WAAW,EAAE;YACT,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,EAAE;SACf;QACD,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,uFAAuF;QAChG,MAAM,EAAE,KAAK;KAChB;CAGA,CAAA"}
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../utils/constant.ts"],"names":[],"mappings":"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"}
package/dist/evm/evm.d.ts CHANGED
@@ -4,9 +4,11 @@
4
4
  * this is a class that will be responsible for creating several evm wallets code
5
5
  */
6
6
  import { ChainWallet } from "../IChainWallet";
7
- import { Balance, ChainWalletConfig, TokenInfo, TransactionResult } from "../types";
7
+ import { Balance, ChainWalletConfig, UserTokenBalance, TokenInfo, TransactionResult } from "../types";
8
8
  import { VM } from "../vm";
9
9
  import { JsonRpcProvider, Wallet } from "ethers";
10
+ import { EVMTransactionHistoryItem } from "./transactionParsing";
11
+ import { PublicClient } from "viem";
10
12
  export declare class EVMVM extends VM<string, string, JsonRpcProvider> {
11
13
  derivationPath: string;
12
14
  constructor(seed: string);
@@ -21,13 +23,16 @@ export declare class EVMVM extends VM<string, string, JsonRpcProvider> {
21
23
  static getTokenBalance(address: string, tokenAddress: string, connection: JsonRpcProvider): Promise<Balance>;
22
24
  }
23
25
  export declare class EVMChainWallet extends ChainWallet<string, string, JsonRpcProvider> {
26
+ client: PublicClient;
24
27
  constructor(config: ChainWalletConfig, privateKey: string, index: number);
25
28
  getWallet(): Wallet;
26
29
  generateAddress(): string;
27
30
  getNativeBalance(): Promise<Balance>;
28
31
  getTokenBalance(tokenAddress: string): Promise<Balance>;
32
+ discoverToken(): Promise<UserTokenBalance<string>[]>;
29
33
  transferNative(to: string, amount: number): Promise<TransactionResult>;
30
34
  transferToken(tokenAddress: TokenInfo, to: string, amount: number): Promise<TransactionResult>;
35
+ getTransactionHistory(): Promise<EVMTransactionHistoryItem[]>;
31
36
  swap(tokenAddress: TokenInfo, to: string, amount: number, slippage?: number): Promise<TransactionResult>;
32
37
  performCompleteSwap(tokenIn: TokenInfo, tokenOut: TokenInfo, amount: number, slippage?: number, recipient?: string, deadline?: number): Promise<TransactionResult>;
33
38
  private performDebonkSwap;
package/dist/evm/evm.js CHANGED
@@ -15,6 +15,8 @@ const vm_1 = require("../vm");
15
15
  const ethers_1 = require("ethers");
16
16
  const bn_js_1 = __importDefault(require("bn.js"));
17
17
  const utils_1 = require("./utils");
18
+ const transactionParsing_1 = require("./transactionParsing");
19
+ const viem_1 = require("viem");
18
20
  class EVMVM extends vm_1.VM {
19
21
  constructor(seed) {
20
22
  super(seed, "EVM");
@@ -59,6 +61,32 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
59
61
  this.address = wallet.address;
60
62
  this.privateKey = privateKey;
61
63
  this.connection = new ethers_1.JsonRpcProvider(config.rpcUrl);
64
+ //client for viem
65
+ this.client = (0, viem_1.createPublicClient)({
66
+ chain: {
67
+ rpcUrls: {
68
+ default: {
69
+ http: [config.rpcUrl]
70
+ }
71
+ },
72
+ id: config.chainId,
73
+ name: config.name,
74
+ nativeCurrency: {
75
+ name: config.nativeToken.name,
76
+ symbol: config.nativeToken.symbol,
77
+ decimals: config.nativeToken.decimals
78
+ },
79
+ blockExplorers: {
80
+ default: {
81
+ name: config.name + " Explorer",
82
+ url: config.explorerUrl,
83
+ apiUrl: config.explorerUrl
84
+ },
85
+ },
86
+ testnet: config.testnet || false
87
+ },
88
+ transport: (0, viem_1.http)(config.rpcUrl)
89
+ });
62
90
  }
63
91
  getWallet() {
64
92
  return new ethers_1.Wallet(this.privateKey, this.connection);
@@ -74,6 +102,10 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
74
102
  // Implement token balance retrieval logic here
75
103
  return await EVMVM.getTokenBalance(this.address, tokenAddress, this.connection);
76
104
  }
105
+ async discoverToken() {
106
+ // Implement token discovery logic here
107
+ return await (0, utils_1.discoverTokens)(this.address, this.config);
108
+ }
77
109
  async transferNative(to, amount) {
78
110
  // Implement native transfer logic here
79
111
  const wallet = this.getWallet();
@@ -84,6 +116,10 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
84
116
  const wallet = this.getWallet();
85
117
  return await (0, utils_1.sendERC20Token)(wallet, tokenAddress.address, to, amount.toString(), undefined, this.config.confirmationNo || 5);
86
118
  }
119
+ async getTransactionHistory() {
120
+ const wallet = this.getWallet();
121
+ return await (0, transactionParsing_1.getEVMTransactionHistory)(this.client, wallet.address);
122
+ }
87
123
  // Updated swap method signature to match base class so created another method to use it inside swap
88
124
  async swap(tokenAddress, to, amount, slippage = 50) {
89
125
  if (amount <= 0) {
@@ -133,25 +169,15 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
133
169
  const tokenOutAddress = tokenOut.address;
134
170
  // Convert amount to wei (multiply by 10^18 for 18 decimal tokens)
135
171
  const amountInWei = (amount * Math.pow(10, tokenIn.decimals || 18)).toString();
136
- console.log("amountInWei", amountInWei);
137
172
  // Convert slippage from bps to percentage (e.g., 50 bps -> 0.5%)
138
173
  const slippagePercentage = slippage / 100;
139
- console.log("Debonk API swap params:", {
140
- tokenA: tokenInAddress,
141
- tokenB: tokenOutAddress,
142
- amountIn: amount,
143
- amountInWei: amountInWei,
144
- slippage: slippagePercentage,
145
- });
146
174
  // Step 1: Get quote from API
147
- console.log("Getting quote from Debonk API...");
148
175
  const quotePayload = {
149
176
  tokenA: tokenInAddress,
150
177
  tokenB: tokenOutAddress,
151
178
  amountIn: amountInWei, // Use wei amount
152
179
  dexId: "ZERO_G"
153
180
  };
154
- console.log("Quote request payload:", quotePayload);
155
181
  const quoteResponse = await fetch(`${BASE_URL}/quote`, {
156
182
  method: 'POST',
157
183
  headers: {
@@ -165,24 +191,18 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
165
191
  return this.fail(`Quote API failed: ${quoteResponse.status} ${errorText}`);
166
192
  }
167
193
  const quote = await quoteResponse.json();
168
- console.log("Quote received:", JSON.stringify(quote, null, 2));
169
194
  // Step 2: Fix the quote dexId for swap API (it expects "ALL")
170
195
  const modifiedQuote = {
171
196
  ...quote,
172
197
  dexId: "ALL" // Change from "ZERO_G" to "ALL" as required by swap API
173
198
  };
174
- console.log("Modified quote for swap API:", JSON.stringify(modifiedQuote, null, 2));
175
199
  // Step 3: Get wallet address
176
200
  const walletAddress = await this.getWallet().getAddress();
177
- console.log("Wallet address:", walletAddress);
178
- // Step 4: Call swap API with modified quote
179
- console.log("Calling swap API...");
180
201
  const swapPayload = {
181
202
  publicKey: walletAddress,
182
203
  slippage: slippagePercentage,
183
204
  quote: modifiedQuote
184
205
  };
185
- console.log("Swap request payload:", JSON.stringify(swapPayload, null, 2));
186
206
  const swapResponse = await fetch(`${BASE_URL}/swap`, {
187
207
  method: 'POST',
188
208
  headers: {
@@ -196,14 +216,11 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
196
216
  return this.fail(`Swap API failed: ${swapResponse.status} ${errorText}`);
197
217
  }
198
218
  const swapData = await swapResponse.json();
199
- console.log("Swap API response:", JSON.stringify(swapData, null, 2));
200
219
  const wallet = this.getWallet();
201
220
  let lastTxHash = '';
202
221
  // Step 5: Execute each transaction sequentially
203
- console.log(`Executing ${swapData.transactions.length} transactions...`);
204
222
  for (let i = 0; i < swapData.transactions.length; i++) {
205
223
  const transaction = swapData.transactions[i];
206
- console.log(`Executing transaction ${i + 1} of ${swapData.transactions.length}`);
207
224
  // Prepare transaction object
208
225
  const txRequest = {
209
226
  to: transaction.to,
@@ -212,8 +229,6 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
212
229
  // gasPrice: 70000000000,
213
230
  // gasLimit: 70000, // Increase significantly
214
231
  };
215
- console.log("Prepared transaction request:", txRequest);
216
- console.log(`Transaction ${i + 1} request:`, txRequest);
217
232
  try {
218
233
  const txResponse = await wallet.sendTransaction(txRequest);
219
234
  console.log(`Transaction ${i + 1} sent:`, txResponse.hash);
@@ -224,18 +239,12 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
224
239
  }
225
240
  const txHash = receipt.hash || txResponse.hash;
226
241
  lastTxHash = txHash;
227
- console.log(`Transaction ${i + 1} confirmed:`, {
228
- hash: txHash,
229
- blockNumber: receipt.blockNumber,
230
- gasUsed: receipt.gasUsed?.toString()
231
- });
232
242
  }
233
243
  catch (txError) {
234
244
  console.error(`Transaction ${i + 1} failed:`, txError);
235
245
  return this.fail(`Transaction ${i + 1} failed: ${txError?.message ?? String(txError)}`);
236
246
  }
237
247
  }
238
- console.log("All transactions completed successfully");
239
248
  return {
240
249
  success: true,
241
250
  hash: lastTxHash // Return the hash of the last transaction
@@ -274,12 +283,6 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
274
283
  tokenInDecimals = tokenBalance.decimal;
275
284
  }
276
285
  const { tokenInAddress, tokenOutAddress, formattedAmountIn } = (0, utils_1.prepareSwapParams)(tokenIn.address, tokenOut.address, amount.toString(), tokenInDecimals, isNativeIn, isNativeOut);
277
- console.log('Kyber swap parameters:', {
278
- tokenInAddress,
279
- tokenOutAddress,
280
- formattedAmountIn,
281
- tokenInDecimals
282
- });
283
286
  if (isNativeIn) {
284
287
  const nativeBalance = await this.getNativeBalance();
285
288
  const requiredAmount = new bn_js_1.default(formattedAmountIn);
@@ -312,7 +315,6 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
312
315
  value: swapTx.value?.toString()
313
316
  });
314
317
  if (!isNativeIn) {
315
- console.log('Checking token approval...');
316
318
  const approvalResult = await (0, utils_1.checkAndApprove)(wallet, tokenIn.address, swapTx.to, formattedAmountIn, undefined, undefined, this.config.confirmationNo || 1);
317
319
  if (approvalResult.approvalNeeded && approvalResult.approvalResult) {
318
320
  if (!approvalResult.approvalResult.success) {
@@ -333,20 +335,9 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
333
335
  value: swapTx.value || '0',
334
336
  gasLimit: swapTx.gasLimit
335
337
  }, this.config.confirmationNo || 1);
336
- if (result.success) {
337
- console.log(' Kyber swap completed successfully:', {
338
- hash: result.hash,
339
- gasUsed: result.gasUsed?.toString(),
340
- blockNumber: result.blockNumber
341
- });
342
- }
343
- else {
344
- console.log(' Kyber swap failed:', result);
345
- }
346
338
  return result;
347
339
  }
348
340
  catch (error) {
349
- console.error('Kyber swap failed:', error);
350
341
  throw new Error(`Kyber swap failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
351
342
  }
352
343
  }
@@ -1 +1 @@
1
- {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../utils/evm/evm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../utils/evm/evm.ts"],"names":[],"mappings":"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"}