hermes-swap 0.1.0 → 0.1.2

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.
@@ -20,6 +20,11 @@ declare class Hermes {
20
20
  to: string;
21
21
  data: string;
22
22
  };
23
+ getBridgeCallData(params: IBridgeParams): {
24
+ to: string;
25
+ data: string;
26
+ value: bigint;
27
+ };
23
28
  bridge(params: IBridgeParams, txReq?: TransactionRequest): Promise<IReceipt>;
24
29
  estimateBridgeFee(params: IBridgeParams): Promise<bigint>;
25
30
  swapAndBridge(params: ISwapAndBridgeParams, txReq?: TransactionRequest): Promise<IReceipt>;
package/dist/cjs/index.js CHANGED
@@ -210,6 +210,30 @@ var Hermes = class {
210
210
  data: calldata
211
211
  };
212
212
  }
213
+ getBridgeCallData(params) {
214
+ this.validateParams(params);
215
+ if (!params.bridgeType || !params.tokenAddress) {
216
+ throw new Error("bridge path not provided");
217
+ }
218
+ const aggregatorAddress = this.getAggregatorAddress(params.chain);
219
+ console.log("aggregator address: ", aggregatorAddress);
220
+ const bridgeArgs = {
221
+ bridge: params.bridgeType,
222
+ token: params.tokenAddress,
223
+ amount: params.amountInWei,
224
+ bridgeAddress: params.bridgeAddress,
225
+ destChain: params.destChain,
226
+ destUser: params.destUser,
227
+ extra: params.extra ?? "0x"
228
+ };
229
+ const iface = new import_ethers.ethers.Interface(import_aggregator.default);
230
+ const calldata = iface.encodeFunctionData("bridge", [params.user, bridgeArgs]);
231
+ return {
232
+ to: aggregatorAddress,
233
+ data: calldata,
234
+ value: params.bridgeFee
235
+ };
236
+ }
213
237
  async bridge(params, txReq = {}) {
214
238
  this.validateParams(params);
215
239
  const aggregatorAddress = this.getAggregatorAddress(params.chain);
@@ -133,7 +133,9 @@ export declare enum BridgeType {
133
133
  ORIGINALTOKENBRIDGE = "original_token_bridge",
134
134
  WRAPPEDTOKENBRIDGE = "wrapped_token_bridge",
135
135
  CCIPBRIDGE = "ccip_bridge",
136
- WORMHOLEBRIDGE = "wormhole_bridge"
136
+ WORMHOLEBRIDGE = "wormhole_bridge",
137
+ WORMHOLENTTBRIDGE = "wormhole_ntt_bridge",
138
+ ACROSSBRIDGE = "across_bridge"
137
139
  }
138
140
  export declare enum ChainNameEnum {
139
141
  ETH = "ETH",// Ethereum Mainnet
@@ -300,6 +302,7 @@ export declare const AddressConst: {
300
302
  arb: string;
301
303
  base: string;
302
304
  etherlink: string;
305
+ bsc: string;
303
306
  };
304
307
  wfrax: {
305
308
  fraxtal: string;
@@ -333,6 +336,15 @@ export declare const AddressConst: {
333
336
  msq: {
334
337
  pol: string;
335
338
  };
339
+ ethfi: {
340
+ arb: string;
341
+ };
342
+ bdxn: {
343
+ eth: string;
344
+ };
345
+ l3: {
346
+ pol: string;
347
+ };
336
348
  sdcrv: {
337
349
  eth: string;
338
350
  };
package/dist/cjs/types.js CHANGED
@@ -73,6 +73,8 @@ var BridgeType = /* @__PURE__ */ ((BridgeType2) => {
73
73
  BridgeType2["WRAPPEDTOKENBRIDGE"] = "wrapped_token_bridge";
74
74
  BridgeType2["CCIPBRIDGE"] = "ccip_bridge";
75
75
  BridgeType2["WORMHOLEBRIDGE"] = "wormhole_bridge";
76
+ BridgeType2["WORMHOLENTTBRIDGE"] = "wormhole_ntt_bridge";
77
+ BridgeType2["ACROSSBRIDGE"] = "across_bridge";
76
78
  return BridgeType2;
77
79
  })(BridgeType || {});
78
80
  var ChainNameEnum = /* @__PURE__ */ ((ChainNameEnum2) => {
@@ -236,7 +238,8 @@ var AddressConst = {
236
238
  eth: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
237
239
  arb: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
238
240
  base: "0x4200000000000000000000000000000000000006",
239
- etherlink: "0xfc24f770F94edBca6D6f885E12d4317320BcB401"
241
+ etherlink: "0xfc24f770F94edBca6D6f885E12d4317320BcB401",
242
+ bsc: "0x2170Ed0880ac9A755fd29B2688956BD959F933F8"
240
243
  },
241
244
  wfrax: {
242
245
  fraxtal: "0xFc00000000000000000000000000000000000002"
@@ -270,6 +273,15 @@ var AddressConst = {
270
273
  msq: {
271
274
  pol: "0x6A8Ec2d9BfBDD20A7F5A4E89D640F7E7cebA4499"
272
275
  },
276
+ ethfi: {
277
+ arb: "0x7189fb5B6504bbfF6a852B13B7B82a3c118fDc27"
278
+ },
279
+ bdxn: {
280
+ eth: "0xBdBDBDd0c22888E63CB9098aD6D68439197CB091"
281
+ },
282
+ l3: {
283
+ pol: "0x46777C76dBbE40fABB2AAB99E33CE20058e76C59"
284
+ },
273
285
  sdcrv: {
274
286
  eth: "0xD1b5651E55D4CeeD36251c61c50C889B36F6abB5"
275
287
  },
@@ -20,6 +20,11 @@ declare class Hermes {
20
20
  to: string;
21
21
  data: string;
22
22
  };
23
+ getBridgeCallData(params: IBridgeParams): {
24
+ to: string;
25
+ data: string;
26
+ value: bigint;
27
+ };
23
28
  bridge(params: IBridgeParams, txReq?: TransactionRequest): Promise<IReceipt>;
24
29
  estimateBridgeFee(params: IBridgeParams): Promise<bigint>;
25
30
  swapAndBridge(params: ISwapAndBridgeParams, txReq?: TransactionRequest): Promise<IReceipt>;
package/dist/esm/index.js CHANGED
@@ -400,11 +400,40 @@ var Hermes = /*#__PURE__*/function () {
400
400
  data: calldata
401
401
  };
402
402
  }
403
+ }, {
404
+ key: "getBridgeCallData",
405
+ value: function getBridgeCallData(params) {
406
+ var _params$extra;
407
+ this.validateParams(params);
408
+ if (!params.bridgeType || !params.tokenAddress) {
409
+ throw new Error('bridge path not provided');
410
+ }
411
+ var aggregatorAddress = this.getAggregatorAddress(params.chain);
412
+ console.log('aggregator address: ', aggregatorAddress);
413
+
414
+ // 准备 bridge 参数
415
+ var bridgeArgs = {
416
+ bridge: params.bridgeType,
417
+ token: params.tokenAddress,
418
+ amount: params.amountInWei,
419
+ bridgeAddress: params.bridgeAddress,
420
+ destChain: params.destChain,
421
+ destUser: params.destUser,
422
+ extra: (_params$extra = params.extra) !== null && _params$extra !== void 0 ? _params$extra : '0x'
423
+ };
424
+ var iface = new ethers.Interface(AggregatorAbi);
425
+ var calldata = iface.encodeFunctionData('bridge', [params.user, bridgeArgs]);
426
+ return {
427
+ to: aggregatorAddress,
428
+ data: calldata,
429
+ value: params.bridgeFee
430
+ };
431
+ }
403
432
  }, {
404
433
  key: "bridge",
405
434
  value: function () {
406
435
  var _bridge = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(params) {
407
- var _params$extra;
436
+ var _params$extra2;
408
437
  var txReq,
409
438
  aggregatorAddress,
410
439
  wallet,
@@ -470,7 +499,7 @@ var Hermes = /*#__PURE__*/function () {
470
499
  bridgeAddress: params.bridgeAddress,
471
500
  destChain: params.destChain,
472
501
  destUser: params.destUser,
473
- extra: (_params$extra = params.extra) !== null && _params$extra !== void 0 ? _params$extra : '0x'
502
+ extra: (_params$extra2 = params.extra) !== null && _params$extra2 !== void 0 ? _params$extra2 : '0x'
474
503
  };
475
504
  if (txReq.value == null) {
476
505
  txReq = _objectSpread(_objectSpread({}, txReq), {}, {
@@ -535,7 +564,7 @@ var Hermes = /*#__PURE__*/function () {
535
564
  key: "estimateBridgeFee",
536
565
  value: function () {
537
566
  var _estimateBridgeFee = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(params) {
538
- var _params$extra2;
567
+ var _params$extra3;
539
568
  var wallet, address, quoter, bridgeArgs, bridgeFee;
540
569
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
541
570
  while (1) switch (_context5.prev = _context5.next) {
@@ -563,7 +592,7 @@ var Hermes = /*#__PURE__*/function () {
563
592
  bridgeAddress: params.bridgeAddress,
564
593
  destChain: params.destChain,
565
594
  destUser: params.destUser,
566
- extra: (_params$extra2 = params.extra) !== null && _params$extra2 !== void 0 ? _params$extra2 : '0x'
595
+ extra: (_params$extra3 = params.extra) !== null && _params$extra3 !== void 0 ? _params$extra3 : '0x'
567
596
  };
568
597
  _context5.next = 11;
569
598
  return quoter.quoteBridge.staticCall(bridgeArgs, {
@@ -587,7 +616,7 @@ var Hermes = /*#__PURE__*/function () {
587
616
  key: "swapAndBridge",
588
617
  value: function () {
589
618
  var _swapAndBridge = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(params) {
590
- var _params$extra3;
619
+ var _params$extra4;
591
620
  var txReq,
592
621
  aggregatorAddress,
593
622
  wallet,
@@ -649,7 +678,7 @@ var Hermes = /*#__PURE__*/function () {
649
678
  bridgeAddress: params.bridgeAddress,
650
679
  destChain: params.destChain,
651
680
  destUser: params.destUser,
652
- extra: (_params$extra3 = params.extra) !== null && _params$extra3 !== void 0 ? _params$extra3 : '0x'
681
+ extra: (_params$extra4 = params.extra) !== null && _params$extra4 !== void 0 ? _params$extra4 : '0x'
653
682
  };
654
683
  if (txReq.value == null) {
655
684
  txReq = _objectSpread(_objectSpread({}, txReq), {}, {
@@ -754,7 +783,7 @@ var Hermes = /*#__PURE__*/function () {
754
783
  key: "estimateGas",
755
784
  value: function () {
756
785
  var _estimateGas = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(estimateType, params) {
757
- var _params$extra4, _swapAndBridgeParams$;
786
+ var _params$extra5, _swapAndBridgeParams$;
758
787
  var aggregatorAddress, wallet, aggregator, bridgeArgs1, txOverrides1, gasInBridge, swapParams1, swapGas, swapAndBridgeParams, swapParams, bridgeArgs, txOverrides, gas;
759
788
  return _regeneratorRuntime().wrap(function _callee7$(_context7) {
760
789
  while (1) switch (_context7.prev = _context7.next) {
@@ -788,7 +817,7 @@ var Hermes = /*#__PURE__*/function () {
788
817
  bridgeAddress: params.bridgeAddress,
789
818
  destChain: params.destChain,
790
819
  destUser: params.destUser,
791
- extra: (_params$extra4 = params.extra) !== null && _params$extra4 !== void 0 ? _params$extra4 : '0x'
820
+ extra: (_params$extra5 = params.extra) !== null && _params$extra5 !== void 0 ? _params$extra5 : '0x'
792
821
  };
793
822
  txOverrides1 = {
794
823
  from: wallet.address,
@@ -1022,7 +1051,7 @@ var Hermes = /*#__PURE__*/function () {
1022
1051
  }, {
1023
1052
  key: "genSwapAndBridgeCalldata",
1024
1053
  value: function genSwapAndBridgeCalldata(params) {
1025
- var _params$extra5;
1054
+ var _params$extra6;
1026
1055
  this.validateParams(params);
1027
1056
  if (!params.path || params.path.length === 0) {
1028
1057
  throw new Error('Swap path not provided');
@@ -1049,7 +1078,7 @@ var Hermes = /*#__PURE__*/function () {
1049
1078
  bridgeAddress: params.bridgeAddress,
1050
1079
  destChain: params.destChain,
1051
1080
  destUser: params.destUser,
1052
- extra: (_params$extra5 = params.extra) !== null && _params$extra5 !== void 0 ? _params$extra5 : '0x'
1081
+ extra: (_params$extra6 = params.extra) !== null && _params$extra6 !== void 0 ? _params$extra6 : '0x'
1053
1082
  };
1054
1083
  var amountIn = params.amountInWei;
1055
1084
 
@@ -133,7 +133,9 @@ export declare enum BridgeType {
133
133
  ORIGINALTOKENBRIDGE = "original_token_bridge",
134
134
  WRAPPEDTOKENBRIDGE = "wrapped_token_bridge",
135
135
  CCIPBRIDGE = "ccip_bridge",
136
- WORMHOLEBRIDGE = "wormhole_bridge"
136
+ WORMHOLEBRIDGE = "wormhole_bridge",
137
+ WORMHOLENTTBRIDGE = "wormhole_ntt_bridge",
138
+ ACROSSBRIDGE = "across_bridge"
137
139
  }
138
140
  export declare enum ChainNameEnum {
139
141
  ETH = "ETH",// Ethereum Mainnet
@@ -300,6 +302,7 @@ export declare const AddressConst: {
300
302
  arb: string;
301
303
  base: string;
302
304
  etherlink: string;
305
+ bsc: string;
303
306
  };
304
307
  wfrax: {
305
308
  fraxtal: string;
@@ -333,6 +336,15 @@ export declare const AddressConst: {
333
336
  msq: {
334
337
  pol: string;
335
338
  };
339
+ ethfi: {
340
+ arb: string;
341
+ };
342
+ bdxn: {
343
+ eth: string;
344
+ };
345
+ l3: {
346
+ pol: string;
347
+ };
336
348
  sdcrv: {
337
349
  eth: string;
338
350
  };
package/dist/esm/types.js CHANGED
@@ -46,6 +46,8 @@ export var BridgeType = /*#__PURE__*/function (BridgeType) {
46
46
  BridgeType["WRAPPEDTOKENBRIDGE"] = "wrapped_token_bridge";
47
47
  BridgeType["CCIPBRIDGE"] = "ccip_bridge";
48
48
  BridgeType["WORMHOLEBRIDGE"] = "wormhole_bridge";
49
+ BridgeType["WORMHOLENTTBRIDGE"] = "wormhole_ntt_bridge";
50
+ BridgeType["ACROSSBRIDGE"] = "across_bridge";
49
51
  return BridgeType;
50
52
  }({});
51
53
  export var ChainNameEnum = /*#__PURE__*/function (ChainNameEnum) {
@@ -209,7 +211,8 @@ export var AddressConst = {
209
211
  eth: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
210
212
  arb: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
211
213
  base: '0x4200000000000000000000000000000000000006',
212
- etherlink: '0xfc24f770F94edBca6D6f885E12d4317320BcB401'
214
+ etherlink: '0xfc24f770F94edBca6D6f885E12d4317320BcB401',
215
+ bsc: '0x2170Ed0880ac9A755fd29B2688956BD959F933F8'
213
216
  },
214
217
  wfrax: {
215
218
  fraxtal: '0xFc00000000000000000000000000000000000002'
@@ -243,6 +246,15 @@ export var AddressConst = {
243
246
  msq: {
244
247
  pol: '0x6A8Ec2d9BfBDD20A7F5A4E89D640F7E7cebA4499'
245
248
  },
249
+ ethfi: {
250
+ arb: '0x7189fb5B6504bbfF6a852B13B7B82a3c118fDc27'
251
+ },
252
+ bdxn: {
253
+ eth: '0xBdBDBDd0c22888E63CB9098aD6D68439197CB091'
254
+ },
255
+ l3: {
256
+ pol: '0x46777C76dBbE40fABB2AAB99E33CE20058e76C59'
257
+ },
246
258
  sdcrv: {
247
259
  eth: '0xD1b5651E55D4CeeD36251c61c50C889B36F6abB5'
248
260
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hermes-swap",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "A TypeScript utility library for swap and bridge",
5
5
  "type": "module",
6
6
  "main": "dist/esm/index.js",