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.
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/index.js +24 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.js +39 -10
- package/package.json +1 -1
package/dist/cjs/index.d.ts
CHANGED
|
@@ -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);
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
1081
|
+
extra: (_params$extra6 = params.extra) !== null && _params$extra6 !== void 0 ? _params$extra6 : '0x'
|
|
1053
1082
|
};
|
|
1054
1083
|
var amountIn = params.amountInWei;
|
|
1055
1084
|
|