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.
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/index.js +24 -0
- package/dist/cjs/types.d.ts +13 -1
- package/dist/cjs/types.js +13 -1
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.js +39 -10
- package/dist/esm/types.d.ts +13 -1
- package/dist/esm/types.js +13 -1
- 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/cjs/types.d.ts
CHANGED
|
@@ -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
|
},
|
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
|
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -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
|
},
|