@deserialize/multi-vm-wallet 1.1.4 → 1.1.6

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.
package/dist/constant.js CHANGED
@@ -4,7 +4,7 @@ exports.DefaultChains = void 0;
4
4
  exports.DefaultChains = [{
5
5
  chainId: 501,
6
6
  name: "Solana Mainnet",
7
- rpcUrl: "https://api.mainnet-beta.solana.com",
7
+ rpcUrl: "https://solana-mainnet.g.alchemy.com/v2/vB5mKztdJeFdz9RkW99Qf",
8
8
  explorerUrl: "https://explorer.solana.com", // e.g. Solana Explorer
9
9
  nativeToken: {
10
10
  name: "Solana",
@@ -18,7 +18,7 @@ exports.DefaultChains = [{
18
18
  {
19
19
  chainId: 1,
20
20
  name: "Ethereum Mainnet",
21
- rpcUrl: "https://cloudflare-eth.com",
21
+ rpcUrl: "https://eth-mainnet.g.alchemy.com/v2/pwvhaDUZ4qZ8Oy2QcyWfCQa_avpkVPnL",
22
22
  explorerUrl: "https://etherscan.io",
23
23
  nativeToken: {
24
24
  name: "Ether",
@@ -54,6 +54,20 @@ exports.DefaultChains = [{
54
54
  testnet: false,
55
55
  logoUrl: "https://raw.githubusercontent.com/hyperlane-xyz/hyperlane-registry/a86c3b432b6f9ad7272ae09859f20eb3ade3bd6e/deployments/warp_routes/ES/logo.svg",
56
56
  vmType: "SVM"
57
+ },
58
+ {
59
+ chainId: 16661,
60
+ name: "0G Mainnet",
61
+ rpcUrl: "https://evmrpc.0g.ai",
62
+ explorerUrl: "https://chainscan.0g.ai/", // e.g. Solana Explorer
63
+ nativeToken: {
64
+ name: "OG Mainnet",
65
+ symbol: "0G",
66
+ decimals: 18,
67
+ },
68
+ testnet: false,
69
+ logoUrl: "https://chainscan.0g.ai/static/media/zg-logo-new.b22d59dabf457524325ca81c29a4e055.svg",
70
+ vmType: "EVM"
57
71
  }
58
72
  ];
59
73
  //# 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,qCAAqC;QAC7C,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,4BAA4B;QACpC,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;CAGA,CAAA"}
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"}
package/dist/evm/evm.d.ts CHANGED
@@ -7,7 +7,6 @@ import { ChainWallet } from "../IChainWallet";
7
7
  import { Balance, ChainWalletConfig, TokenInfo, TransactionResult } from "../types";
8
8
  import { VM } from "../vm";
9
9
  import { JsonRpcProvider, Wallet } from "ethers";
10
- export declare const createEvmVmPrivateKey: (phrase: string) => void;
11
10
  export declare class EVMVM extends VM<string, string, JsonRpcProvider> {
12
11
  derivationPath: string;
13
12
  constructor(seed: string);
@@ -31,6 +30,9 @@ export declare class EVMChainWallet extends ChainWallet<string, string, JsonRpcP
31
30
  transferToken(tokenAddress: TokenInfo, to: string, amount: number): Promise<TransactionResult>;
32
31
  swap(tokenAddress: TokenInfo, to: string, amount: number, slippage?: number): Promise<TransactionResult>;
33
32
  performCompleteSwap(tokenIn: TokenInfo, tokenOut: TokenInfo, amount: number, slippage?: number, recipient?: string, deadline?: number): Promise<TransactionResult>;
33
+ private performDebonkSwap;
34
+ private fail;
35
+ private performKyberSwap;
34
36
  getSwapQuote(tokenIn: TokenInfo, tokenOut: TokenInfo, amount: number): Promise<{
35
37
  amountOut: string;
36
38
  priceImpact: string;
package/dist/evm/evm.js CHANGED
@@ -8,15 +8,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  return (mod && mod.__esModule) ? mod : { "default": mod };
9
9
  };
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.EVMChainWallet = exports.EVMVM = exports.createEvmVmPrivateKey = void 0;
11
+ exports.EVMChainWallet = exports.EVMVM = void 0;
12
12
  const bip32_1 = require("../bip32");
13
13
  const IChainWallet_1 = require("../IChainWallet");
14
14
  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 createEvmVmPrivateKey = (phrase) => { };
19
- exports.createEvmVmPrivateKey = createEvmVmPrivateKey;
20
18
  class EVMVM extends vm_1.VM {
21
19
  constructor(seed) {
22
20
  super(seed, "EVM");
@@ -113,6 +111,153 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
113
111
  amount: amount,
114
112
  slippage: `${slippage / 100}%`
115
113
  });
114
+ // Check if this is a 0G chain that should use Debonk
115
+ if ((0, utils_1.isChainSupportedByDebonk)(chainId)) {
116
+ console.log('Using Debonk API for 0G chain swap');
117
+ return await this.performDebonkSwap(tokenIn, tokenOut, amount, slippage, recipient, deadline);
118
+ }
119
+ // Otherwise use Kyber (existing flow)
120
+ console.log('Using KyberSwap for non-0G chain swap');
121
+ return await this.performKyberSwap(tokenIn, tokenOut, amount, slippage, recipient, deadline);
122
+ }
123
+ catch (error) {
124
+ console.error('Swap failed:', error);
125
+ throw new Error(`Swap failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
126
+ }
127
+ }
128
+ async performDebonkSwap(tokenIn, tokenOut, amount, slippage = 50, // bps (e.g., 50 = 0.5%)
129
+ recipient, deadline) {
130
+ try {
131
+ const BASE_URL = 'https://evm-api.deserialize.xyz';
132
+ const tokenInAddress = tokenIn.address;
133
+ const tokenOutAddress = tokenOut.address;
134
+ // Convert amount to wei (multiply by 10^18 for 18 decimal tokens)
135
+ const amountInWei = (amount * Math.pow(10, tokenIn.decimals || 18)).toString();
136
+ console.log("amountInWei", amountInWei);
137
+ // Convert slippage from bps to percentage (e.g., 50 bps -> 0.5%)
138
+ 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
+ // Step 1: Get quote from API
147
+ console.log("Getting quote from Debonk API...");
148
+ const quotePayload = {
149
+ tokenA: tokenInAddress,
150
+ tokenB: tokenOutAddress,
151
+ amountIn: amountInWei, // Use wei amount
152
+ dexId: "ZERO_G"
153
+ };
154
+ console.log("Quote request payload:", quotePayload);
155
+ const quoteResponse = await fetch(`${BASE_URL}/quote`, {
156
+ method: 'POST',
157
+ headers: {
158
+ 'Content-Type': 'application/json',
159
+ },
160
+ body: JSON.stringify(quotePayload)
161
+ });
162
+ if (!quoteResponse.ok) {
163
+ const errorText = await quoteResponse.text();
164
+ console.error("Quote API error response:", errorText);
165
+ return this.fail(`Quote API failed: ${quoteResponse.status} ${errorText}`);
166
+ }
167
+ const quote = await quoteResponse.json();
168
+ console.log("Quote received:", JSON.stringify(quote, null, 2));
169
+ // Step 2: Fix the quote dexId for swap API (it expects "ALL")
170
+ const modifiedQuote = {
171
+ ...quote,
172
+ dexId: "ALL" // Change from "ZERO_G" to "ALL" as required by swap API
173
+ };
174
+ console.log("Modified quote for swap API:", JSON.stringify(modifiedQuote, null, 2));
175
+ // Step 3: Get wallet address
176
+ 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
+ const swapPayload = {
181
+ publicKey: walletAddress,
182
+ slippage: slippagePercentage,
183
+ quote: modifiedQuote
184
+ };
185
+ console.log("Swap request payload:", JSON.stringify(swapPayload, null, 2));
186
+ const swapResponse = await fetch(`${BASE_URL}/swap`, {
187
+ method: 'POST',
188
+ headers: {
189
+ 'Content-Type': 'application/json',
190
+ },
191
+ body: JSON.stringify(swapPayload)
192
+ });
193
+ if (!swapResponse.ok) {
194
+ const errorText = await swapResponse.text();
195
+ console.error("Swap API error response:", errorText);
196
+ return this.fail(`Swap API failed: ${swapResponse.status} ${errorText}`);
197
+ }
198
+ const swapData = await swapResponse.json();
199
+ console.log("Swap API response:", JSON.stringify(swapData, null, 2));
200
+ const wallet = this.getWallet();
201
+ let lastTxHash = '';
202
+ // Step 5: Execute each transaction sequentially
203
+ console.log(`Executing ${swapData.transactions.length} transactions...`);
204
+ for (let i = 0; i < swapData.transactions.length; i++) {
205
+ const transaction = swapData.transactions[i];
206
+ console.log(`Executing transaction ${i + 1} of ${swapData.transactions.length}`);
207
+ // Prepare transaction object
208
+ const txRequest = {
209
+ to: transaction.to,
210
+ data: transaction.data,
211
+ value: transaction.value,
212
+ // gasPrice: 70000000000,
213
+ // gasLimit: 70000, // Increase significantly
214
+ };
215
+ console.log("Prepared transaction request:", txRequest);
216
+ console.log(`Transaction ${i + 1} request:`, txRequest);
217
+ try {
218
+ const txResponse = await wallet.sendTransaction(txRequest);
219
+ console.log(`Transaction ${i + 1} sent:`, txResponse.hash);
220
+ // Wait for confirmation
221
+ const receipt = await txResponse.wait();
222
+ if (!receipt) {
223
+ return this.fail(`Transaction ${i + 1} failed - no receipt received`);
224
+ }
225
+ const txHash = receipt.hash || txResponse.hash;
226
+ lastTxHash = txHash;
227
+ console.log(`Transaction ${i + 1} confirmed:`, {
228
+ hash: txHash,
229
+ blockNumber: receipt.blockNumber,
230
+ gasUsed: receipt.gasUsed?.toString()
231
+ });
232
+ }
233
+ catch (txError) {
234
+ console.error(`Transaction ${i + 1} failed:`, txError);
235
+ return this.fail(`Transaction ${i + 1} failed: ${txError?.message ?? String(txError)}`);
236
+ }
237
+ }
238
+ console.log("All transactions completed successfully");
239
+ return {
240
+ success: true,
241
+ hash: lastTxHash // Return the hash of the last transaction
242
+ };
243
+ }
244
+ catch (error) {
245
+ console.error("Debonk API swap error:", error);
246
+ return this.fail(`Debonk API swap failed: ${error?.message ?? String(error)}`);
247
+ }
248
+ }
249
+ // Helper method for EVMChainWallet class
250
+ fail(message) {
251
+ return {
252
+ success: false,
253
+ hash: "",
254
+ error: message
255
+ };
256
+ }
257
+ async performKyberSwap(tokenIn, tokenOut, amount, slippage = 50, recipient, deadline) {
258
+ try {
259
+ const wallet = this.getWallet();
260
+ const chainId = (await this.connection.getNetwork()).chainId.toString();
116
261
  if (!(0, utils_1.isChainSupportedByKyber)(chainId)) {
117
262
  throw new Error(`Chain ${chainId} is not supported by KyberSwap`);
118
263
  }
@@ -129,7 +274,7 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
129
274
  tokenInDecimals = tokenBalance.decimal;
130
275
  }
131
276
  const { tokenInAddress, tokenOutAddress, formattedAmountIn } = (0, utils_1.prepareSwapParams)(tokenIn.address, tokenOut.address, amount.toString(), tokenInDecimals, isNativeIn, isNativeOut);
132
- console.log('Swap parameters:', {
277
+ console.log('Kyber swap parameters:', {
133
278
  tokenInAddress,
134
279
  tokenOutAddress,
135
280
  formattedAmountIn,
@@ -160,7 +305,7 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
160
305
  deadline: deadline ? Math.floor(Date.now() / 1000) + deadline : Math.floor(Date.now() / 1000) + 1200, // 20 minutes default
161
306
  clientId: 'EVMChainWallet'
162
307
  });
163
- console.log('Swap transaction prepared:', {
308
+ console.log('Kyber swap transaction prepared:', {
164
309
  to: swapTx.to,
165
310
  dataLength: swapTx.data?.length || 0,
166
311
  gasLimit: swapTx.gasLimit?.toString(),
@@ -189,20 +334,20 @@ class EVMChainWallet extends IChainWallet_1.ChainWallet {
189
334
  gasLimit: swapTx.gasLimit
190
335
  }, this.config.confirmationNo || 1);
191
336
  if (result.success) {
192
- console.log(' Swap completed successfully:', {
337
+ console.log(' Kyber swap completed successfully:', {
193
338
  hash: result.hash,
194
339
  gasUsed: result.gasUsed?.toString(),
195
340
  blockNumber: result.blockNumber
196
341
  });
197
342
  }
198
343
  else {
199
- console.log(' Swap failed:', result);
344
+ console.log(' Kyber swap failed:', result);
200
345
  }
201
346
  return result;
202
347
  }
203
348
  catch (error) {
204
- console.error('Swap failed:', error);
205
- throw new Error(`Swap failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
349
+ console.error('Kyber swap failed:', error);
350
+ throw new Error(`Kyber swap failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
206
351
  }
207
352
  }
208
353
  async getSwapQuote(tokenIn, tokenOut, amount) {
@@ -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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"}
@@ -0,0 +1,24 @@
1
+ export interface SwapParams {
2
+ privateKey: string;
3
+ tokenIn: string;
4
+ tokenOut: string;
5
+ tokenInDecimal: number;
6
+ amountIn: string;
7
+ adminAddress: string;
8
+ routerAddress: string;
9
+ minAmountOut: string;
10
+ rpcUrl: string;
11
+ feeTier?: number;
12
+ }
13
+ export declare const quote: (quoterAddress: string, rpc: string, tokenIn: string, tokenOut: string, amountIn: string, fee: number, sqrtPriceLimitX96?: string) => Promise<any>;
14
+ export declare const quickSwapSetup: (params: SwapParams) => Promise<{
15
+ success: boolean;
16
+ txHash: any;
17
+ amountOut: any;
18
+ error?: undefined;
19
+ } | {
20
+ success: boolean;
21
+ error: string;
22
+ txHash?: undefined;
23
+ amountOut?: undefined;
24
+ }>;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.quickSwapSetup = exports.quote = void 0;
4
+ const ethers_1 = require("ethers");
5
+ // Simplified ABI for Uniswap V3 Router
6
+ const ROUTER_ABI = [
7
+ 'function exactInputSingle((address tokenIn, address tokenIn, uint24 fee, address recipient, uint256 deadline, uint256 amountIn, uint256 amountOutMinimum, uint160 sqrtPriceLimitX96)) external payable returns (uint256 amountOut)',
8
+ 'function exactOutputSingle((address tokenIn, address tokenIn, uint24 fee, address recipient, uint256 deadline, uint256 amountOut, uint256 amountInMaximum, uint160 sqrtPriceLimitX96)) external payable returns (uint256 amountIn)'
9
+ ];
10
+ // ERC20 ABI (simplified)
11
+ const ERC20_ABI = [
12
+ 'function approve(address spender, uint256 amount) external returns (bool)',
13
+ 'function allowance(address owner, address spender) external view returns (uint256)',
14
+ 'function balanceOf(address account) external view returns (uint256)'
15
+ ];
16
+ const quote = async (quoterAddress, rpc, tokenIn, tokenOut, amountIn, fee, sqrtPriceLimitX96 = "0") => {
17
+ const provider = new ethers_1.ethers.JsonRpcProvider(rpc);
18
+ const viewABI = [
19
+ {
20
+ inputs: [
21
+ { internalType: "address", name: "tokenIn", type: "address" },
22
+ { internalType: "address", name: "tokenOut", type: "address" },
23
+ { internalType: "uint24", name: "fee", type: "uint24" },
24
+ { internalType: "uint256", name: "amountIn", type: "uint256" },
25
+ { internalType: "uint160", name: "sqrtPriceLimitX96", type: "uint160" },
26
+ ],
27
+ name: "quoteExactInputSingle",
28
+ outputs: [{ internalType: "uint256", name: "amountOut", type: "uint256" }],
29
+ stateMutability: "view",
30
+ type: "function",
31
+ },
32
+ ];
33
+ const quoter = new ethers_1.ethers.Contract(quoterAddress, viewABI, provider);
34
+ try {
35
+ const amountOut = await quoter.quoteExactInputSingle(tokenIn, tokenOut, fee, amountIn, sqrtPriceLimitX96);
36
+ console.log("Amount Out:", amountOut.toString());
37
+ return amountOut.toString();
38
+ }
39
+ catch (err) {
40
+ console.error("Quote failed:", err);
41
+ }
42
+ };
43
+ exports.quote = quote;
44
+ const quickSwapSetup = async (params) => {
45
+ const { privateKey, tokenIn, tokenOut, amountIn, tokenInDecimal, adminAddress, routerAddress, rpcUrl, minAmountOut, feeTier = 100 // 0.01% fee tier
46
+ } = params;
47
+ try {
48
+ // Setup provider and wallet
49
+ const provider = new ethers_1.ethers.JsonRpcProvider(rpcUrl);
50
+ const wallet = new ethers_1.ethers.Wallet(privateKey, provider);
51
+ // Create contract instances
52
+ const router = new ethers_1.ethers.Contract(routerAddress, ROUTER_ABI, wallet);
53
+ const tokenInContract = new ethers_1.ethers.Contract(tokenIn, ERC20_ABI, wallet);
54
+ // Convert amount to wei
55
+ const amountInWei = ethers_1.ethers.parseUnits(amountIn, tokenInDecimal); // Assuming 18 decimals
56
+ // Check and approve token allowance
57
+ const allowance = await tokenInContract.allowance(wallet.address, routerAddress);
58
+ if (allowance < amountInWei) {
59
+ console.log('Approving tokens...');
60
+ const approveTx = await tokenInContract.approve(routerAddress, amountInWei);
61
+ await approveTx.wait();
62
+ console.log('Approval confirmed');
63
+ }
64
+ // Calculate amount with fee (0.01% to admin)
65
+ const feeAmount = amountInWei * BigInt(1) / BigInt(10000); // 0.01%
66
+ const amountAfterFee = amountInWei - feeAmount;
67
+ // Transfer fee to admin
68
+ if (feeAmount > 0) {
69
+ console.log(`Transferring ${ethers_1.ethers.formatUnits(feeAmount, tokenIn)} fee to admin`);
70
+ const feeTransferTx = await tokenInContract.transfer(adminAddress, feeAmount);
71
+ await feeTransferTx.wait();
72
+ }
73
+ // Set deadline (10 minutes from now)
74
+ const deadline = Math.floor(Date.now() / 1000) + 600;
75
+ // Prepare swap parameters
76
+ const swapParams = {
77
+ tokenIn: tokenIn,
78
+ tokenOut: tokenOut,
79
+ fee: feeTier,
80
+ recipient: wallet.address,
81
+ deadline: deadline,
82
+ amountIn: amountAfterFee,
83
+ amountOutMinimum: minAmountOut,
84
+ sqrtPriceLimitX96: 0
85
+ };
86
+ console.log('Executing swap...');
87
+ // Execute swap
88
+ const swapTx = await router.exactInputSingle(swapParams);
89
+ const receipt = await swapTx.wait();
90
+ console.log('Swap successful!');
91
+ console.log('Transaction hash:', receipt.hash);
92
+ // Check final balances
93
+ const tokenOutContract = new ethers_1.ethers.Contract(tokenOut, ERC20_ABI, wallet);
94
+ const finalBalance = await tokenOutContract.balanceOf(wallet.address);
95
+ console.log(`Final ${tokenOut} balance:`, ethers_1.ethers.formatUnits(finalBalance, 18));
96
+ return {
97
+ success: true,
98
+ txHash: receipt.hash,
99
+ amountOut: finalBalance.toString()
100
+ };
101
+ }
102
+ catch (error) {
103
+ console.error('Swap failed:', error);
104
+ return {
105
+ success: false,
106
+ error: error instanceof Error ? error.message : 'Unknown error'
107
+ };
108
+ }
109
+ };
110
+ exports.quickSwapSetup = quickSwapSetup;
111
+ //# sourceMappingURL=script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../../utils/evm/script.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,9 @@ export interface KyberBuildResponse {
90
90
  routerAddress: string;
91
91
  };
92
92
  }
93
+ export declare const DESERIALIZED_SUPPORTED_CHAINS: {
94
+ [key: string]: string;
95
+ };
93
96
  interface KyberSwapParams {
94
97
  chainId: string;
95
98
  tokenIn: string;
@@ -204,6 +207,7 @@ export declare function getKyberSupportedChains(): {
204
207
  [key: string]: string;
205
208
  };
206
209
  export declare function isChainSupportedByKyber(chainId: string): boolean;
210
+ export declare function isChainSupportedByDebonk(chainId: string): boolean;
207
211
  export declare function getNativeTokenAddress(): string;
208
212
  export declare function formatAmountToWei(amount: string, decimals: number): string;
209
213
  export declare function formatAmountFromWei(amountWei: string, decimals: number): string;
@@ -212,4 +216,13 @@ export declare function prepareSwapParams(tokenIn: string, tokenOut: string, amo
212
216
  tokenOutAddress: string;
213
217
  formattedAmountIn: string;
214
218
  };
219
+ /**
220
+ * Normalize token address for Debonk
221
+ * Converts 'native' or variations to the standard 0xEeeee... address
222
+ */
223
+ /**
224
+ * Convert slippage from basis points to percentage for Debonk
225
+ * Input: 50 (0.5% in bps) -> Output: 0.5 (percentage)
226
+ */
227
+ export declare function convertSlippageForDebonk(slippageBps: number): number;
215
228
  export {};
package/dist/evm/utils.js CHANGED
@@ -3,16 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.safeApprove = exports.resetAllowance = exports.checkAndApprove = exports.approveTokenUnlimited = exports.approveToken = exports.isAllowanceSufficient = exports.checkAllowance = exports.estimateGas = exports.getGasPrices = exports.executeContractMethod = exports.sendERC20Token = exports.sendNativeToken = exports.signSendAndConfirm = exports.getTokenBalance = exports.getTokenInfo = exports.getNativeBalance = void 0;
6
+ exports.safeApprove = exports.resetAllowance = exports.checkAndApprove = exports.approveTokenUnlimited = exports.approveToken = exports.isAllowanceSufficient = exports.checkAllowance = exports.estimateGas = exports.getGasPrices = exports.executeContractMethod = exports.sendERC20Token = exports.sendNativeToken = exports.signSendAndConfirm = exports.getTokenBalance = exports.getTokenInfo = exports.getNativeBalance = exports.DESERIALIZED_SUPPORTED_CHAINS = void 0;
7
7
  exports.getKyberSwapRoute = getKyberSwapRoute;
8
8
  exports.buildKyberSwapTransaction = buildKyberSwapTransaction;
9
9
  exports.performSwap = performSwap;
10
10
  exports.getKyberSupportedChains = getKyberSupportedChains;
11
11
  exports.isChainSupportedByKyber = isChainSupportedByKyber;
12
+ exports.isChainSupportedByDebonk = isChainSupportedByDebonk;
12
13
  exports.getNativeTokenAddress = getNativeTokenAddress;
13
14
  exports.formatAmountToWei = formatAmountToWei;
14
15
  exports.formatAmountFromWei = formatAmountFromWei;
15
16
  exports.prepareSwapParams = prepareSwapParams;
17
+ exports.convertSlippageForDebonk = convertSlippageForDebonk;
16
18
  const ethers_1 = require("ethers");
17
19
  const bn_js_1 = __importDefault(require("bn.js"));
18
20
  const KYBER_BASE_URL = 'https://aggregator-api.kyberswap.com';
@@ -28,6 +30,9 @@ const KYBER_SUPPORTED_CHAINS = {
28
30
  '324': 'zksync',
29
31
  '59144': 'linea'
30
32
  };
33
+ exports.DESERIALIZED_SUPPORTED_CHAINS = {
34
+ '16661': '0gMainnet',
35
+ };
31
36
  // ERC-20 ABI
32
37
  const ERC20_ABI = [
33
38
  "function balanceOf(address owner) view returns (uint256)",
@@ -469,6 +474,9 @@ async function buildKyberSwapTransaction(chainId, routeSummary, sender, recipien
469
474
  }
470
475
  }
471
476
  async function performSwap(params) {
477
+ if (!KYBER_SUPPORTED_CHAINS[params.chainId]) {
478
+ throw new Error(`KyberSwap does not support chain ID: ${params.chainId}`);
479
+ }
472
480
  try {
473
481
  console.log('Starting KyberSwap aggregation...', {
474
482
  tokenIn: params.tokenIn,
@@ -554,6 +562,9 @@ function getKyberSupportedChains() {
554
562
  function isChainSupportedByKyber(chainId) {
555
563
  return chainId in KYBER_SUPPORTED_CHAINS;
556
564
  }
565
+ function isChainSupportedByDebonk(chainId) {
566
+ return chainId in exports.DESERIALIZED_SUPPORTED_CHAINS;
567
+ }
557
568
  function getNativeTokenAddress() {
558
569
  return '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE';
559
570
  }
@@ -579,7 +590,22 @@ function prepareSwapParams(tokenIn, tokenOut, amountIn, tokenInDecimals, isNativ
579
590
  formattedAmountIn
580
591
  };
581
592
  }
582
- //recent activity
583
- // token list with balance
584
- // discover tokens with balances
593
+ /**
594
+ * Normalize token address for Debonk
595
+ * Converts 'native' or variations to the standard 0xEeeee... address
596
+ */
597
+ // export function normalizeTokenAddressForDebonk(tokenAddress: string): string {
598
+ // if (tokenAddress === 'native' ||
599
+ // tokenAddress.toLowerCase() === '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee') {
600
+ // return getNativeTokenAddress();
601
+ // }
602
+ // return tokenAddress;
603
+ // }
604
+ /**
605
+ * Convert slippage from basis points to percentage for Debonk
606
+ * Input: 50 (0.5% in bps) -> Output: 0.5 (percentage)
607
+ */
608
+ function convertSlippageForDebonk(slippageBps) {
609
+ return slippageBps / 100;
610
+ }
585
611
  //# sourceMappingURL=utils.js.map