@stableflow/bridges 3.1.5 → 3.1.6-rc-3ba84e51cd-20260803
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/index.js +155 -142
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +155 -142
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -837,8 +837,122 @@ var formatNumber = (value, precision, isSimple, options) => {
|
|
|
837
837
|
decimal: secondPart.replace(/[.]?0*$/, "")
|
|
838
838
|
};
|
|
839
839
|
};
|
|
840
|
+
var FRAXZERO_REQUIRED_DVN_COUNT = 3;
|
|
841
|
+
var FRAXZERO_CONFIG = {
|
|
842
|
+
Ethereum: {
|
|
843
|
+
...LAYERZZERO_CHAINS["Ethereum"],
|
|
844
|
+
remoteHop: "0x3ad4dC2319394bB4BE99A0e4aE2AbF7bCEbD648E",
|
|
845
|
+
lockbox: "0x566a6442a5a6e9895b9dca97cc7879d632c6e4b0",
|
|
846
|
+
confirmations: 15,
|
|
847
|
+
oftApprovalRequired: true
|
|
848
|
+
},
|
|
849
|
+
Arbitrum: {
|
|
850
|
+
...LAYERZZERO_CHAINS["Arbitrum"],
|
|
851
|
+
remoteHop: "0x29F5DBD0FE72d8f11271FCBE79Cb87E18a83C70A",
|
|
852
|
+
confirmations: 20,
|
|
853
|
+
oftApprovalRequired: true
|
|
854
|
+
},
|
|
855
|
+
Avalanche: {
|
|
856
|
+
...LAYERZZERO_CHAINS["Avalanche"],
|
|
857
|
+
remoteHop: "0x7a07D606c87b7251c2953A30Fa445d8c5F856C7A",
|
|
858
|
+
confirmations: 12,
|
|
859
|
+
oftApprovalRequired: true
|
|
860
|
+
},
|
|
861
|
+
Berachain: {
|
|
862
|
+
...LAYERZZERO_CHAINS["Berachain"],
|
|
863
|
+
remoteHop: "0xc71BF5Ee4740405030eF521F18A96eA14fec802D",
|
|
864
|
+
confirmations: 20,
|
|
865
|
+
oftApprovalRequired: true
|
|
866
|
+
},
|
|
867
|
+
"BNB Chain": {
|
|
868
|
+
...LAYERZZERO_CHAINS["BNB Chain"],
|
|
869
|
+
remoteHop: "0x452420df4AC1e3db5429b5FD629f3047482C543C",
|
|
870
|
+
confirmations: 20,
|
|
871
|
+
oftApprovalRequired: true
|
|
872
|
+
},
|
|
873
|
+
Optimism: {
|
|
874
|
+
...LAYERZZERO_CHAINS["Optimism"],
|
|
875
|
+
remoteHop: "0x31D982ebd82Ad900358984bd049207A4c2468640",
|
|
876
|
+
confirmations: 20,
|
|
877
|
+
oftApprovalRequired: true
|
|
878
|
+
},
|
|
879
|
+
Polygon: {
|
|
880
|
+
...LAYERZZERO_CHAINS["Polygon"],
|
|
881
|
+
remoteHop: "0xf74D38A26948E9DDa53eD85cF03C6b1188FbB30C",
|
|
882
|
+
confirmations: 512,
|
|
883
|
+
oftApprovalRequired: true
|
|
884
|
+
},
|
|
885
|
+
"X Layer": {
|
|
886
|
+
...LAYERZZERO_CHAINS["X Layer"],
|
|
887
|
+
remoteHop: "0x79152c303AD5aE429eDefa4553CB1Ad2c6EE1396",
|
|
888
|
+
confirmations: 225e3,
|
|
889
|
+
oftApprovalRequired: true
|
|
890
|
+
},
|
|
891
|
+
Solana: {
|
|
892
|
+
...LAYERZZERO_CHAINS["Solana"],
|
|
893
|
+
programId: "E1ht9dUh1ZkgWWRRPCuN3kExEoF2FXiyADXeN3XyMHaQ",
|
|
894
|
+
escrow: "84AFSH3TSzyjbEFJX9z8sjpV7npTWq7f8ZR5zkLG22hX",
|
|
895
|
+
confirmations: 32,
|
|
896
|
+
oftApprovalRequired: false
|
|
897
|
+
},
|
|
898
|
+
Fraxtal: {
|
|
899
|
+
...LAYERZZERO_CHAINS["Fraxtal"],
|
|
900
|
+
lockbox: "0x96A394058E2b84A89bac9667B19661Ed003cF5D4",
|
|
901
|
+
confirmations: 5,
|
|
902
|
+
oftApprovalRequired: true
|
|
903
|
+
},
|
|
904
|
+
Katana: {
|
|
905
|
+
...LAYERZZERO_CHAINS["Katana"],
|
|
906
|
+
remoteHop: "0x5d8eb59a12bc98708702305a7b032f4b69dd5b5c",
|
|
907
|
+
confirmations: 5,
|
|
908
|
+
oftApprovalRequired: true
|
|
909
|
+
}
|
|
910
|
+
};
|
|
911
|
+
var FRAXZERO_MIDDLE_TOKEN_USDC = core.usdcChains["eth"];
|
|
912
|
+
var FRAXZERO_MIDDLE_TOKEN_FRXUSD = core.frxusdChains["eth"];
|
|
913
|
+
var FRAXZERO_REDEEM_USDC_CONTRACT = "0x4F95C5bA0C7c69FB2f9340E190cCeE890B3bd87c";
|
|
914
|
+
var FRAXZERO_REDEEM_RWA_CONTRACT = "0x5fbAa3A3B489199338fbD85F7E3D444dc0504F33";
|
|
915
|
+
var FRAXZERO_REDEMPTION_CONTRACT = "0x4c21B7577C8FE8b0B0669165ee7C8f67fa1454Cf";
|
|
916
|
+
var FRAXZERO_REDEEM_AND_MINT_CONTRACT = "0xabA176B7e92c0A6DF8AC973e78d3fE987794bA4B";
|
|
917
|
+
var FRAXZERO_GAS_USED = {
|
|
918
|
+
// 358964n
|
|
919
|
+
MINT: {
|
|
920
|
+
TO_SOL: 0n,
|
|
921
|
+
// 756271n
|
|
922
|
+
TO_FRAXTAL: 0n,
|
|
923
|
+
// 660997n
|
|
924
|
+
TO_ETHEREUM: 0n,
|
|
925
|
+
// 334550n
|
|
926
|
+
SEND: 0n
|
|
927
|
+
// 756271n
|
|
928
|
+
}
|
|
929
|
+
};
|
|
930
|
+
var MIDDLE_TOKEN_CHAIN = core.usdcChains["arb"];
|
|
931
|
+
var CCTP_PROXY_RELAY_CONTRACT = "0x0da5336C5CEb9d15e7659Ae376CC41d86Edd8802";
|
|
932
|
+
var MIDDLE_CHAIN_REFOUND_ADDRESS = "0x654E7B96E1DE0b54E53D9ae8082fC2219E66dAC3";
|
|
933
|
+
var CCTP_DOMAINS = {
|
|
934
|
+
Ethereum: 0,
|
|
935
|
+
Arbitrum: 3,
|
|
936
|
+
Polygon: 7,
|
|
937
|
+
Optimism: 2,
|
|
938
|
+
Avalanche: 1,
|
|
939
|
+
Solana: 5,
|
|
940
|
+
Base: 6,
|
|
941
|
+
Pharos: 31
|
|
942
|
+
};
|
|
840
943
|
|
|
841
944
|
// src/utils/error.ts
|
|
945
|
+
var ONECLICK_SECOND_HOP_SERVICES = [
|
|
946
|
+
core.Service.FraxZeroOneClick,
|
|
947
|
+
core.Service.Usdt0OneClick,
|
|
948
|
+
core.Service.CCTPOneClick
|
|
949
|
+
];
|
|
950
|
+
var resolveAmountToken = (service, fromToken) => {
|
|
951
|
+
if (service === core.Service.FraxZeroOneClick) return FRAXZERO_MIDDLE_TOKEN_USDC;
|
|
952
|
+
if (service === core.Service.Usdt0OneClick) return MIDDLE_TOKEN_CHAIN2;
|
|
953
|
+
if (service === core.Service.CCTPOneClick) return MIDDLE_TOKEN_CHAIN;
|
|
954
|
+
return fromToken;
|
|
955
|
+
};
|
|
842
956
|
var formatQuoteError = (error, options) => {
|
|
843
957
|
const { service, fromToken } = options;
|
|
844
958
|
const defaultErrorMessage = "Failed to get quote, please try again later";
|
|
@@ -855,11 +969,13 @@ var formatQuoteError = (error, options) => {
|
|
|
855
969
|
return _messageResult;
|
|
856
970
|
}
|
|
857
971
|
if (apiMessage.includes("Amount is too low for bridge, try at least")) {
|
|
972
|
+
const amountToken = resolveAmountToken(service, fromToken);
|
|
973
|
+
const isMiddleToken = ONECLICK_SECOND_HOP_SERVICES.includes(service);
|
|
858
974
|
const match = apiMessage.match(/try at least\s+(\d+(?:\.\d+)?)/i);
|
|
859
|
-
const minWei = match ? match[1] : Big__default.default(1).times(10 **
|
|
860
|
-
const minAmount = Big__default.default(minWei).div(10 **
|
|
861
|
-
const readableAmount = formatNumber(minAmount,
|
|
862
|
-
_messageResult.message = `Amount is too low, at least ${readableAmount} ${
|
|
975
|
+
const minWei = match ? match[1] : Big__default.default(1).times(10 ** amountToken.decimals).toFixed(0);
|
|
976
|
+
const minAmount = Big__default.default(minWei).div(10 ** amountToken.decimals);
|
|
977
|
+
const readableAmount = formatNumber(minAmount, amountToken.decimals, true);
|
|
978
|
+
_messageResult.message = isMiddleToken ? `Middle token amount is too low, at least ${readableAmount} ${amountToken.symbol}` : `Amount is too low, at least ${readableAmount} ${amountToken.symbol}`;
|
|
863
979
|
return _messageResult;
|
|
864
980
|
}
|
|
865
981
|
if (apiMessage.includes("Cannot convert undefined or null to object")) {
|
|
@@ -1093,8 +1209,8 @@ var USDT0_DVN_COUNT = 2;
|
|
|
1093
1209
|
var USDT0_LEGACY_MESH_TRANSFTER_FEE = 3e-4;
|
|
1094
1210
|
var DATA_HEX_PROTOBUF_EXTRA = 3;
|
|
1095
1211
|
var SIGNATURE_SIZE = 67;
|
|
1096
|
-
var
|
|
1097
|
-
var
|
|
1212
|
+
var MIDDLE_CHAIN_REFOUND_ADDRESS2 = "0x654E7B96E1DE0b54E53D9ae8082fC2219E66dAC3";
|
|
1213
|
+
var MIDDLE_TOKEN_CHAIN2 = core.usdt0Chains["arb"];
|
|
1098
1214
|
var MIDDLE_CHAIN_LAYERZERO_EXECUTOR = "0x6f4042401823a97E3b02F1A533e62C40409a75fa";
|
|
1099
1215
|
|
|
1100
1216
|
// src/usdt0/contract.ts
|
|
@@ -4069,19 +4185,6 @@ var CCTP_TOKEN_PROXY_ABI = [
|
|
|
4069
4185
|
"type": "function"
|
|
4070
4186
|
}
|
|
4071
4187
|
];
|
|
4072
|
-
var MIDDLE_TOKEN_CHAIN2 = core.usdcChains["arb"];
|
|
4073
|
-
var CCTP_PROXY_RELAY_CONTRACT = "0x0da5336C5CEb9d15e7659Ae376CC41d86Edd8802";
|
|
4074
|
-
var MIDDLE_CHAIN_REFOUND_ADDRESS2 = "0x654E7B96E1DE0b54E53D9ae8082fC2219E66dAC3";
|
|
4075
|
-
var CCTP_DOMAINS = {
|
|
4076
|
-
Ethereum: 0,
|
|
4077
|
-
Arbitrum: 3,
|
|
4078
|
-
Polygon: 7,
|
|
4079
|
-
Optimism: 2,
|
|
4080
|
-
Avalanche: 1,
|
|
4081
|
-
Solana: 5,
|
|
4082
|
-
Base: 6,
|
|
4083
|
-
Pharos: 31
|
|
4084
|
-
};
|
|
4085
4188
|
var excludeFees3 = ["estimateGasUsd"];
|
|
4086
4189
|
var CCTPService = class {
|
|
4087
4190
|
constructor() {
|
|
@@ -4174,96 +4277,6 @@ var CCTPService = class {
|
|
|
4174
4277
|
}
|
|
4175
4278
|
};
|
|
4176
4279
|
var cctp_default = new CCTPService();
|
|
4177
|
-
var FRAXZERO_REQUIRED_DVN_COUNT = 3;
|
|
4178
|
-
var FRAXZERO_CONFIG = {
|
|
4179
|
-
Ethereum: {
|
|
4180
|
-
...LAYERZZERO_CHAINS["Ethereum"],
|
|
4181
|
-
remoteHop: "0x3ad4dC2319394bB4BE99A0e4aE2AbF7bCEbD648E",
|
|
4182
|
-
lockbox: "0x566a6442a5a6e9895b9dca97cc7879d632c6e4b0",
|
|
4183
|
-
confirmations: 15,
|
|
4184
|
-
oftApprovalRequired: true
|
|
4185
|
-
},
|
|
4186
|
-
Arbitrum: {
|
|
4187
|
-
...LAYERZZERO_CHAINS["Arbitrum"],
|
|
4188
|
-
remoteHop: "0x29F5DBD0FE72d8f11271FCBE79Cb87E18a83C70A",
|
|
4189
|
-
confirmations: 20,
|
|
4190
|
-
oftApprovalRequired: true
|
|
4191
|
-
},
|
|
4192
|
-
Avalanche: {
|
|
4193
|
-
...LAYERZZERO_CHAINS["Avalanche"],
|
|
4194
|
-
remoteHop: "0x7a07D606c87b7251c2953A30Fa445d8c5F856C7A",
|
|
4195
|
-
confirmations: 12,
|
|
4196
|
-
oftApprovalRequired: true
|
|
4197
|
-
},
|
|
4198
|
-
Berachain: {
|
|
4199
|
-
...LAYERZZERO_CHAINS["Berachain"],
|
|
4200
|
-
remoteHop: "0xc71BF5Ee4740405030eF521F18A96eA14fec802D",
|
|
4201
|
-
confirmations: 20,
|
|
4202
|
-
oftApprovalRequired: true
|
|
4203
|
-
},
|
|
4204
|
-
"BNB Chain": {
|
|
4205
|
-
...LAYERZZERO_CHAINS["BNB Chain"],
|
|
4206
|
-
remoteHop: "0x452420df4AC1e3db5429b5FD629f3047482C543C",
|
|
4207
|
-
confirmations: 20,
|
|
4208
|
-
oftApprovalRequired: true
|
|
4209
|
-
},
|
|
4210
|
-
Optimism: {
|
|
4211
|
-
...LAYERZZERO_CHAINS["Optimism"],
|
|
4212
|
-
remoteHop: "0x31D982ebd82Ad900358984bd049207A4c2468640",
|
|
4213
|
-
confirmations: 20,
|
|
4214
|
-
oftApprovalRequired: true
|
|
4215
|
-
},
|
|
4216
|
-
Polygon: {
|
|
4217
|
-
...LAYERZZERO_CHAINS["Polygon"],
|
|
4218
|
-
remoteHop: "0xf74D38A26948E9DDa53eD85cF03C6b1188FbB30C",
|
|
4219
|
-
confirmations: 512,
|
|
4220
|
-
oftApprovalRequired: true
|
|
4221
|
-
},
|
|
4222
|
-
"X Layer": {
|
|
4223
|
-
...LAYERZZERO_CHAINS["X Layer"],
|
|
4224
|
-
remoteHop: "0x79152c303AD5aE429eDefa4553CB1Ad2c6EE1396",
|
|
4225
|
-
confirmations: 225e3,
|
|
4226
|
-
oftApprovalRequired: true
|
|
4227
|
-
},
|
|
4228
|
-
Solana: {
|
|
4229
|
-
...LAYERZZERO_CHAINS["Solana"],
|
|
4230
|
-
programId: "E1ht9dUh1ZkgWWRRPCuN3kExEoF2FXiyADXeN3XyMHaQ",
|
|
4231
|
-
escrow: "84AFSH3TSzyjbEFJX9z8sjpV7npTWq7f8ZR5zkLG22hX",
|
|
4232
|
-
confirmations: 32,
|
|
4233
|
-
oftApprovalRequired: false
|
|
4234
|
-
},
|
|
4235
|
-
Fraxtal: {
|
|
4236
|
-
...LAYERZZERO_CHAINS["Fraxtal"],
|
|
4237
|
-
lockbox: "0x96A394058E2b84A89bac9667B19661Ed003cF5D4",
|
|
4238
|
-
confirmations: 5,
|
|
4239
|
-
oftApprovalRequired: true
|
|
4240
|
-
},
|
|
4241
|
-
Katana: {
|
|
4242
|
-
...LAYERZZERO_CHAINS["Katana"],
|
|
4243
|
-
remoteHop: "0x5d8eb59a12bc98708702305a7b032f4b69dd5b5c",
|
|
4244
|
-
confirmations: 5,
|
|
4245
|
-
oftApprovalRequired: true
|
|
4246
|
-
}
|
|
4247
|
-
};
|
|
4248
|
-
var FRAXZERO_MIDDLE_TOKEN_USDC = core.usdcChains["eth"];
|
|
4249
|
-
var FRAXZERO_MIDDLE_TOKEN_FRXUSD = core.frxusdChains["eth"];
|
|
4250
|
-
var FRAXZERO_REDEEM_USDC_CONTRACT = "0x4F95C5bA0C7c69FB2f9340E190cCeE890B3bd87c";
|
|
4251
|
-
var FRAXZERO_REDEEM_RWA_CONTRACT = "0x5fbAa3A3B489199338fbD85F7E3D444dc0504F33";
|
|
4252
|
-
var FRAXZERO_REDEMPTION_CONTRACT = "0x4c21B7577C8FE8b0B0669165ee7C8f67fa1454Cf";
|
|
4253
|
-
var FRAXZERO_REDEEM_AND_MINT_CONTRACT = "0xabA176B7e92c0A6DF8AC973e78d3fE987794bA4B";
|
|
4254
|
-
var FRAXZERO_GAS_USED = {
|
|
4255
|
-
// 358964n
|
|
4256
|
-
MINT: {
|
|
4257
|
-
TO_SOL: 0n,
|
|
4258
|
-
// 756271n
|
|
4259
|
-
TO_FRAXTAL: 0n,
|
|
4260
|
-
// 660997n
|
|
4261
|
-
TO_ETHEREUM: 0n,
|
|
4262
|
-
// 334550n
|
|
4263
|
-
SEND: 0n
|
|
4264
|
-
// 756271n
|
|
4265
|
-
}
|
|
4266
|
-
};
|
|
4267
4280
|
|
|
4268
4281
|
// src/fraxzero/contract.ts
|
|
4269
4282
|
var FRAXZERO_ABI = [
|
|
@@ -5352,14 +5365,14 @@ var Usdt0OneClickService = class {
|
|
|
5352
5365
|
}
|
|
5353
5366
|
const usdt0Params = {
|
|
5354
5367
|
...params,
|
|
5355
|
-
toToken:
|
|
5356
|
-
destinationChain:
|
|
5357
|
-
recipient:
|
|
5368
|
+
toToken: MIDDLE_TOKEN_CHAIN2,
|
|
5369
|
+
destinationChain: MIDDLE_TOKEN_CHAIN2.chainName,
|
|
5370
|
+
recipient: MIDDLE_CHAIN_REFOUND_ADDRESS2
|
|
5358
5371
|
};
|
|
5359
5372
|
const oneClickParams = {
|
|
5360
5373
|
...params,
|
|
5361
|
-
fromToken:
|
|
5362
|
-
originAsset:
|
|
5374
|
+
fromToken: MIDDLE_TOKEN_CHAIN2,
|
|
5375
|
+
originAsset: MIDDLE_TOKEN_CHAIN2.assetId,
|
|
5363
5376
|
swapType: core.OneClickSwapType.Flex,
|
|
5364
5377
|
isProxy: false,
|
|
5365
5378
|
refundTo: middleChainRecipientAddress,
|
|
@@ -5371,7 +5384,7 @@ var Usdt0OneClickService = class {
|
|
|
5371
5384
|
if (usdt0Result.errMsg) {
|
|
5372
5385
|
return usdt0Result;
|
|
5373
5386
|
}
|
|
5374
|
-
oneClickParams.amountWei = Big__default.default(usdt0Result.outputAmount || 0).times(10 **
|
|
5387
|
+
oneClickParams.amountWei = Big__default.default(usdt0Result.outputAmount || 0).times(10 ** MIDDLE_TOKEN_CHAIN2.decimals).toFixed(0, 0);
|
|
5375
5388
|
execTime.breakpoint();
|
|
5376
5389
|
const oneClickResult = await oneclick_default.quote(oneClickParams);
|
|
5377
5390
|
execTime.log("oneClickService.quote: %o", oneClickResult);
|
|
@@ -5414,7 +5427,7 @@ var Usdt0OneClickService = class {
|
|
|
5414
5427
|
quoteParam: {
|
|
5415
5428
|
...usdt0Result.quoteParam,
|
|
5416
5429
|
toToken: params.toToken,
|
|
5417
|
-
middleToken:
|
|
5430
|
+
middleToken: MIDDLE_TOKEN_CHAIN2,
|
|
5418
5431
|
recipient: params.recipient,
|
|
5419
5432
|
depositAddress: oneClickResult.quote.depositAddress
|
|
5420
5433
|
},
|
|
@@ -5455,17 +5468,17 @@ var OneClickUsdt0Service = class {
|
|
|
5455
5468
|
if (!middleChainRecipientAddress) {
|
|
5456
5469
|
throw new Error("evmAddress is required");
|
|
5457
5470
|
}
|
|
5458
|
-
let secondStepAmountWei = Big__default.default(params.amountWei || 0).div(10 ** fromToken.decimals).times(10 **
|
|
5471
|
+
let secondStepAmountWei = Big__default.default(params.amountWei || 0).div(10 ** fromToken.decimals).times(10 ** MIDDLE_TOKEN_CHAIN2.decimals).toFixed(0);
|
|
5459
5472
|
if (!core.isStableToken(fromToken)) {
|
|
5460
5473
|
const inputPrice = core.getPrice(prices, fromToken.symbol);
|
|
5461
5474
|
const inputValue = Big__default.default(params.amountWei || 0).div(10 ** fromToken.decimals).times(inputPrice);
|
|
5462
|
-
secondStepAmountWei = Big__default.default(inputValue).times(10 **
|
|
5475
|
+
secondStepAmountWei = Big__default.default(inputValue).times(10 ** MIDDLE_TOKEN_CHAIN2.decimals).toFixed(0);
|
|
5463
5476
|
}
|
|
5464
5477
|
const usdt0Params = {
|
|
5465
5478
|
...params,
|
|
5466
5479
|
amountWei: secondStepAmountWei,
|
|
5467
|
-
fromToken:
|
|
5468
|
-
originChain:
|
|
5480
|
+
fromToken: MIDDLE_TOKEN_CHAIN2,
|
|
5481
|
+
originChain: MIDDLE_TOKEN_CHAIN2.chainName,
|
|
5469
5482
|
refundTo: middleChainRecipientAddress,
|
|
5470
5483
|
wallet: middleChainWallet
|
|
5471
5484
|
};
|
|
@@ -5489,8 +5502,8 @@ var OneClickUsdt0Service = class {
|
|
|
5489
5502
|
const oneClickResult = await oneclick_default.quote({
|
|
5490
5503
|
...params,
|
|
5491
5504
|
amountWei: secondStepAmountWei,
|
|
5492
|
-
toToken:
|
|
5493
|
-
destinationAsset:
|
|
5505
|
+
toToken: MIDDLE_TOKEN_CHAIN2,
|
|
5506
|
+
destinationAsset: MIDDLE_TOKEN_CHAIN2.assetId,
|
|
5494
5507
|
swapType: core.OneClickSwapType.Output,
|
|
5495
5508
|
isProxy: true,
|
|
5496
5509
|
recipient: middleChainRecipientAddress,
|
|
@@ -5533,7 +5546,7 @@ var OneClickUsdt0Service = class {
|
|
|
5533
5546
|
...oneClickResult,
|
|
5534
5547
|
needPermit: true,
|
|
5535
5548
|
permitSpender: MIDDLE_CHAIN_LAYERZERO_EXECUTOR,
|
|
5536
|
-
permitToken:
|
|
5549
|
+
permitToken: MIDDLE_TOKEN_CHAIN2,
|
|
5537
5550
|
permitAmountWei: oneClickResult?.quote?.amountOut,
|
|
5538
5551
|
permitAdditionalData: {
|
|
5539
5552
|
amount_ld: usdt0SendParam?.amountLD,
|
|
@@ -5552,7 +5565,7 @@ var OneClickUsdt0Service = class {
|
|
|
5552
5565
|
quoteParam: {
|
|
5553
5566
|
...oneClickResult.quoteParam,
|
|
5554
5567
|
toToken: params.toToken,
|
|
5555
|
-
middleToken:
|
|
5568
|
+
middleToken: MIDDLE_TOKEN_CHAIN2,
|
|
5556
5569
|
recipient: params.recipient,
|
|
5557
5570
|
isOriginLegacy: usdt0Result.quoteParam?.isOriginLegacy,
|
|
5558
5571
|
isDestinationLegacy: usdt0Result.quoteParam?.isDestinationLegacy
|
|
@@ -5594,14 +5607,14 @@ var CCTPOneClickService = class {
|
|
|
5594
5607
|
}
|
|
5595
5608
|
const cctpParams = {
|
|
5596
5609
|
...params,
|
|
5597
|
-
toToken:
|
|
5598
|
-
destinationChain:
|
|
5599
|
-
recipient:
|
|
5610
|
+
toToken: MIDDLE_TOKEN_CHAIN,
|
|
5611
|
+
destinationChain: MIDDLE_TOKEN_CHAIN.chainName,
|
|
5612
|
+
recipient: MIDDLE_CHAIN_REFOUND_ADDRESS
|
|
5600
5613
|
};
|
|
5601
5614
|
const oneClickParams = {
|
|
5602
5615
|
...params,
|
|
5603
|
-
fromToken:
|
|
5604
|
-
originAsset:
|
|
5616
|
+
fromToken: MIDDLE_TOKEN_CHAIN,
|
|
5617
|
+
originAsset: MIDDLE_TOKEN_CHAIN.assetId,
|
|
5605
5618
|
swapType: core.OneClickSwapType.Flex,
|
|
5606
5619
|
isProxy: false,
|
|
5607
5620
|
refundTo: evmAddress,
|
|
@@ -5613,7 +5626,7 @@ var CCTPOneClickService = class {
|
|
|
5613
5626
|
if (cctpResult.errMsg) {
|
|
5614
5627
|
return cctpResult;
|
|
5615
5628
|
}
|
|
5616
|
-
oneClickParams.amountWei = Big__default.default(cctpResult.outputAmount || 0).times(10 **
|
|
5629
|
+
oneClickParams.amountWei = Big__default.default(cctpResult.outputAmount || 0).times(10 ** MIDDLE_TOKEN_CHAIN.decimals).toFixed(0, 0);
|
|
5617
5630
|
execTime.breakpoint();
|
|
5618
5631
|
const oneClickResult = await oneclick_default.quote(oneClickParams);
|
|
5619
5632
|
execTime.log("oneClickService.quote: %o", oneClickResult);
|
|
@@ -5656,7 +5669,7 @@ var CCTPOneClickService = class {
|
|
|
5656
5669
|
quoteParam: {
|
|
5657
5670
|
...cctpResult.quoteParam,
|
|
5658
5671
|
toToken: params.toToken,
|
|
5659
|
-
middleToken:
|
|
5672
|
+
middleToken: MIDDLE_TOKEN_CHAIN,
|
|
5660
5673
|
recipient: params.recipient,
|
|
5661
5674
|
depositAddress: oneClickResult.quote.depositAddress
|
|
5662
5675
|
},
|
|
@@ -5695,18 +5708,18 @@ var OneClickCCTPService = class {
|
|
|
5695
5708
|
if (!evmAddress) {
|
|
5696
5709
|
throw new Error("evmAddress is required");
|
|
5697
5710
|
}
|
|
5698
|
-
let secondStepAmountWei = Big__default.default(params.amountWei || 0).div(10 ** fromToken.decimals).times(10 **
|
|
5711
|
+
let secondStepAmountWei = Big__default.default(params.amountWei || 0).div(10 ** fromToken.decimals).times(10 ** MIDDLE_TOKEN_CHAIN.decimals).toFixed(0);
|
|
5699
5712
|
if (!core.isStableToken(fromToken)) {
|
|
5700
5713
|
const inputPrice = core.getPrice(prices, fromToken.symbol);
|
|
5701
5714
|
const inputValue = Big__default.default(params.amountWei || 0).div(10 ** fromToken.decimals).times(inputPrice);
|
|
5702
|
-
secondStepAmountWei = Big__default.default(inputValue).times(10 **
|
|
5715
|
+
secondStepAmountWei = Big__default.default(inputValue).times(10 ** MIDDLE_TOKEN_CHAIN.decimals).toFixed(0);
|
|
5703
5716
|
}
|
|
5704
5717
|
const cctpParams = {
|
|
5705
5718
|
...params,
|
|
5706
5719
|
amountWei: secondStepAmountWei,
|
|
5707
|
-
fromToken:
|
|
5708
|
-
originChain:
|
|
5709
|
-
refundTo:
|
|
5720
|
+
fromToken: MIDDLE_TOKEN_CHAIN,
|
|
5721
|
+
originChain: MIDDLE_TOKEN_CHAIN.chainName,
|
|
5722
|
+
refundTo: MIDDLE_CHAIN_REFOUND_ADDRESS,
|
|
5710
5723
|
wallet: evmWallet
|
|
5711
5724
|
};
|
|
5712
5725
|
execTime.breakpoint();
|
|
@@ -5729,8 +5742,8 @@ var OneClickCCTPService = class {
|
|
|
5729
5742
|
const oneClickResult = await oneclick_default.quote({
|
|
5730
5743
|
...params,
|
|
5731
5744
|
amountWei: secondStepAmountWei,
|
|
5732
|
-
toToken:
|
|
5733
|
-
destinationAsset:
|
|
5745
|
+
toToken: MIDDLE_TOKEN_CHAIN,
|
|
5746
|
+
destinationAsset: MIDDLE_TOKEN_CHAIN.assetId,
|
|
5734
5747
|
swapType: core.OneClickSwapType.Output,
|
|
5735
5748
|
isProxy: true,
|
|
5736
5749
|
recipient: evmAddress,
|
|
@@ -5774,7 +5787,7 @@ var OneClickCCTPService = class {
|
|
|
5774
5787
|
...oneClickResult,
|
|
5775
5788
|
needPermit: true,
|
|
5776
5789
|
permitSpender: CCTP_PROXY_RELAY_CONTRACT,
|
|
5777
|
-
permitToken:
|
|
5790
|
+
permitToken: MIDDLE_TOKEN_CHAIN,
|
|
5778
5791
|
permitAmountWei: oneClickResult?.quote?.amountOut,
|
|
5779
5792
|
permitAdditionalData: {
|
|
5780
5793
|
amount_wei: cctpSendParam?.[0]?.toString(),
|
|
@@ -5797,7 +5810,7 @@ var OneClickCCTPService = class {
|
|
|
5797
5810
|
quoteParam: {
|
|
5798
5811
|
...oneClickResult.quoteParam,
|
|
5799
5812
|
toToken: params.toToken,
|
|
5800
|
-
middleToken:
|
|
5813
|
+
middleToken: MIDDLE_TOKEN_CHAIN,
|
|
5801
5814
|
recipient: params.recipient
|
|
5802
5815
|
},
|
|
5803
5816
|
cctpSendParam,
|
|
@@ -6673,8 +6686,8 @@ var getHopMsgFee = async (params) => {
|
|
|
6673
6686
|
};
|
|
6674
6687
|
|
|
6675
6688
|
exports.BridgeSFA = BridgeSFA;
|
|
6676
|
-
exports.CCTP_MIDDLE_CHAIN_REFOUND_ADDRESS =
|
|
6677
|
-
exports.CCTP_MIDDLE_TOKEN_CHAIN =
|
|
6689
|
+
exports.CCTP_MIDDLE_CHAIN_REFOUND_ADDRESS = MIDDLE_CHAIN_REFOUND_ADDRESS;
|
|
6690
|
+
exports.CCTP_MIDDLE_TOKEN_CHAIN = MIDDLE_TOKEN_CHAIN;
|
|
6678
6691
|
exports.CCTP_PROXY_RELAY_CONTRACT = CCTP_PROXY_RELAY_CONTRACT;
|
|
6679
6692
|
exports.DATA_HEX_PROTOBUF_EXTRA = DATA_HEX_PROTOBUF_EXTRA;
|
|
6680
6693
|
exports.FRAXZERO_MIDDLE_TOKEN_FRXUSD = FRAXZERO_MIDDLE_TOKEN_FRXUSD;
|