hermes-swap 0.1.1 → 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);
@@ -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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hermes-swap",
3
- "version": "0.1.1",
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",