@kimafinance/kima-transaction-widget 1.0.9 → 1.1.1
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 +324 -194
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +169 -84
- package/dist/index.modern.js.map +1 -1
- package/dist/utils/config.d.ts +1 -1
- package/dist/utils/constants.d.ts +1 -11
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -546,7 +546,7 @@ var Copy = function Copy(_ref) {
|
|
|
546
546
|
};
|
|
547
547
|
|
|
548
548
|
var SOLANA_USDK_ADDRESS = 'GkbnUDkymDTF4U6Z5wM5kKJn3GmGndMn2rN5typmyUHY';
|
|
549
|
-
var ETHEREUM_USDK_ADDRESS = '
|
|
549
|
+
var ETHEREUM_USDK_ADDRESS = '0x7C043d4D2b505740742dF6Fdb79C5caEe08728a5';
|
|
550
550
|
var POLYGON_USDK_ADDRESS = '0x5bd4865a6dEd507dA08ed1aBE3cd971a7e0405D7';
|
|
551
551
|
var AVAX_USDK_ADDRESS = '0x7C043d4D2b505740742dF6Fdb79C5caEe08728a5';
|
|
552
552
|
var FUSE_GDOLLAR_ADDRESS = '0x79BeecC4b165Ccf547662cB4f7C0e83b3796E5b3';
|
|
@@ -563,7 +563,7 @@ var _CHAIN_NAMES_TO_IDS, _CHAIN_NAMES_TO_STRIN, _CHAIN_NAMES_TO_EXPLO, _CHAIN_NA
|
|
|
563
563
|
})(exports.SupportNetworks || (exports.SupportNetworks = {}));
|
|
564
564
|
var SupportedChainId;
|
|
565
565
|
(function (SupportedChainId) {
|
|
566
|
-
SupportedChainId[SupportedChainId["ETHEREUM"] =
|
|
566
|
+
SupportedChainId[SupportedChainId["ETHEREUM"] = 11155111] = "ETHEREUM";
|
|
567
567
|
SupportedChainId[SupportedChainId["POLYGON"] = 80001] = "POLYGON";
|
|
568
568
|
SupportedChainId[SupportedChainId["AVALANCHE"] = 43113] = "AVALANCHE";
|
|
569
569
|
SupportedChainId[SupportedChainId["FUSE"] = 122] = "FUSE";
|
|
@@ -571,7 +571,7 @@ var SupportedChainId;
|
|
|
571
571
|
})(SupportedChainId || (SupportedChainId = {}));
|
|
572
572
|
var CHAIN_NAMES_TO_IDS = (_CHAIN_NAMES_TO_IDS = {}, _CHAIN_NAMES_TO_IDS[exports.SupportNetworks.ETHEREUM] = SupportedChainId.ETHEREUM, _CHAIN_NAMES_TO_IDS[exports.SupportNetworks.POLYGON] = SupportedChainId.POLYGON, _CHAIN_NAMES_TO_IDS[exports.SupportNetworks.AVALANCHE] = SupportedChainId.AVALANCHE, _CHAIN_NAMES_TO_IDS[exports.SupportNetworks.FUSE] = SupportedChainId.FUSE, _CHAIN_NAMES_TO_IDS[exports.SupportNetworks.CELO] = SupportedChainId.CELO, _CHAIN_NAMES_TO_IDS);
|
|
573
573
|
var CHAIN_NAMES_TO_STRING = (_CHAIN_NAMES_TO_STRIN = {}, _CHAIN_NAMES_TO_STRIN[exports.SupportNetworks.ETHEREUM] = 'Ethereum', _CHAIN_NAMES_TO_STRIN[exports.SupportNetworks.POLYGON] = 'Polygon', _CHAIN_NAMES_TO_STRIN[exports.SupportNetworks.AVALANCHE] = 'Avalanche', _CHAIN_NAMES_TO_STRIN[exports.SupportNetworks.FUSE] = 'Fuse', _CHAIN_NAMES_TO_STRIN[exports.SupportNetworks.CELO] = 'Celo', _CHAIN_NAMES_TO_STRIN[exports.SupportNetworks.SOLANA] = 'Solana', _CHAIN_NAMES_TO_STRIN);
|
|
574
|
-
var CHAIN_NAMES_TO_EXPLORER = (_CHAIN_NAMES_TO_EXPLO = {}, _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.ETHEREUM] = '
|
|
574
|
+
var CHAIN_NAMES_TO_EXPLORER = (_CHAIN_NAMES_TO_EXPLO = {}, _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.ETHEREUM] = 'sepolia.etherscan.io', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.POLYGON] = 'mumbai.polygonscan.com', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.AVALANCHE] = 'testnet.snowtrace.io', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.FUSE] = 'explorer.fuse.io', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.CELO] = 'explorer.celo.org', _CHAIN_NAMES_TO_EXPLO[exports.SupportNetworks.SOLANA] = 'solscan.io', _CHAIN_NAMES_TO_EXPLO);
|
|
575
575
|
var CHAIN_NAMES_TO_GECKO_ID = (_CHAIN_NAMES_TO_GECKO = {}, _CHAIN_NAMES_TO_GECKO[exports.SupportNetworks.ETHEREUM] = 'ethereum', _CHAIN_NAMES_TO_GECKO[exports.SupportNetworks.POLYGON] = 'matic-network', _CHAIN_NAMES_TO_GECKO[exports.SupportNetworks.AVALANCHE] = 'avalanche-2', _CHAIN_NAMES_TO_GECKO[exports.SupportNetworks.FUSE] = 'fuse-network-token', _CHAIN_NAMES_TO_GECKO[exports.SupportNetworks.CELO] = 'celo', _CHAIN_NAMES_TO_GECKO[exports.SupportNetworks.SOLANA] = 'solana', _CHAIN_NAMES_TO_GECKO);
|
|
576
576
|
var CHAIN_IDS_TO_NAMES = (_CHAIN_IDS_TO_NAMES = {}, _CHAIN_IDS_TO_NAMES[SupportedChainId.ETHEREUM] = exports.SupportNetworks.ETHEREUM, _CHAIN_IDS_TO_NAMES[SupportedChainId.POLYGON] = exports.SupportNetworks.POLYGON, _CHAIN_IDS_TO_NAMES[SupportedChainId.AVALANCHE] = exports.SupportNetworks.AVALANCHE, _CHAIN_IDS_TO_NAMES[SupportedChainId.FUSE] = exports.SupportNetworks.FUSE, _CHAIN_IDS_TO_NAMES[SupportedChainId.CELO] = exports.SupportNetworks.CELO, _CHAIN_IDS_TO_NAMES);
|
|
577
577
|
var networkOptions = [{
|
|
@@ -1011,6 +1011,25 @@ var useEthereumProvider = function useEthereumProvider() {
|
|
|
1011
1011
|
return React.useContext(EthereumProviderContext);
|
|
1012
1012
|
};
|
|
1013
1013
|
|
|
1014
|
+
// A type of promise-like that resolves synchronously and supports only one observer
|
|
1015
|
+
|
|
1016
|
+
const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator"))) : "@@iterator";
|
|
1017
|
+
|
|
1018
|
+
const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
|
|
1019
|
+
|
|
1020
|
+
// Asynchronously call a function and send errors to recovery continuation
|
|
1021
|
+
function _catch(body, recover) {
|
|
1022
|
+
try {
|
|
1023
|
+
var result = body();
|
|
1024
|
+
} catch(e) {
|
|
1025
|
+
return recover(e);
|
|
1026
|
+
}
|
|
1027
|
+
if (result && result.then) {
|
|
1028
|
+
return result.then(void 0, recover);
|
|
1029
|
+
}
|
|
1030
|
+
return result;
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1014
1033
|
var Loading180Ring = function Loading180Ring(_ref) {
|
|
1015
1034
|
var width = _ref.width,
|
|
1016
1035
|
height = _ref.height,
|
|
@@ -1191,17 +1210,24 @@ function useNetworkOptions() {
|
|
|
1191
1210
|
var nodeProviderQuery = reactRedux.useSelector(selectNodeProviderQuery);
|
|
1192
1211
|
React.useEffect(function () {
|
|
1193
1212
|
if (!nodeProviderQuery) return;
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
return
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1213
|
+
(function () {
|
|
1214
|
+
try {
|
|
1215
|
+
var _temp2 = _catch(function () {
|
|
1216
|
+
return Promise.resolve(fetchWrapper.get(nodeProviderQuery + "/kima-finance/kima/kima/getChains")).then(function (networks) {
|
|
1217
|
+
setOptions(networkOptions.filter(function (network) {
|
|
1218
|
+
return networks.Chains.findIndex(function (id) {
|
|
1219
|
+
return id === network.id;
|
|
1220
|
+
}) >= 0;
|
|
1221
|
+
}));
|
|
1222
|
+
});
|
|
1223
|
+
}, function (e) {
|
|
1224
|
+
console.log('rpc disconnected', e);
|
|
1225
|
+
});
|
|
1226
|
+
return _temp2 && _temp2.then ? _temp2.then(function () {}) : void 0;
|
|
1227
|
+
} catch (e) {
|
|
1228
|
+
Promise.reject(e);
|
|
1229
|
+
}
|
|
1230
|
+
})();
|
|
1205
1231
|
}, [nodeProviderQuery]);
|
|
1206
1232
|
return React.useMemo(function () {
|
|
1207
1233
|
return {
|
|
@@ -1244,26 +1270,40 @@ var Network = function Network(_ref) {
|
|
|
1244
1270
|
}, [networkOptions, isOriginChain, availableNetworks]);
|
|
1245
1271
|
React.useEffect(function () {
|
|
1246
1272
|
if (!nodeProviderQuery || mode !== exports.ModeOptions.bridge) return;
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1273
|
+
(function () {
|
|
1274
|
+
try {
|
|
1275
|
+
var _temp2 = _catch(function () {
|
|
1276
|
+
return Promise.resolve(fetchWrapper.get(nodeProviderQuery + "/kima-finance/kima/kima/get_available_chains/" + originNetwork)).then(function (networks) {
|
|
1277
|
+
setAvailableNetworks(networks.Chains);
|
|
1278
|
+
if (isOriginChain) {
|
|
1279
|
+
dispatch(setTargetNetwork(networks.Chains[0]));
|
|
1280
|
+
}
|
|
1281
|
+
});
|
|
1282
|
+
}, function (e) {
|
|
1283
|
+
console.log('rpc disconnected', e);
|
|
1284
|
+
});
|
|
1285
|
+
return _temp2 && _temp2.then ? _temp2.then(function () {}) : void 0;
|
|
1286
|
+
} catch (e) {
|
|
1287
|
+
Promise.reject(e);
|
|
1288
|
+
}
|
|
1289
|
+
})();
|
|
1257
1290
|
}, [nodeProviderQuery, originNetwork, mode, isOriginChain]);
|
|
1258
1291
|
React.useEffect(function () {
|
|
1259
1292
|
if (!nodeProviderQuery || mode !== exports.ModeOptions.payment) return;
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1293
|
+
(function () {
|
|
1294
|
+
try {
|
|
1295
|
+
var _temp4 = _catch(function () {
|
|
1296
|
+
return Promise.resolve(fetchWrapper.get(nodeProviderQuery + "/kima-finance/kima/kima/get_available_chains/" + targetNetwork)).then(function (networks) {
|
|
1297
|
+
setAvailableNetworks(networks.Chains);
|
|
1298
|
+
});
|
|
1299
|
+
}, function (e) {
|
|
1300
|
+
console.log('rpc disconnected', e);
|
|
1301
|
+
});
|
|
1302
|
+
return _temp4 && _temp4.then ? _temp4.then(function () {}) : void 0;
|
|
1303
|
+
} catch (e) {
|
|
1304
|
+
Promise.reject(e);
|
|
1305
|
+
}
|
|
1306
|
+
})();
|
|
1267
1307
|
}, [nodeProviderQuery, mode]);
|
|
1268
1308
|
React.useEffect(function () {
|
|
1269
1309
|
var _sliderRef$current, _sliderRef$current5, _sliderRef$current6, _sliderRef$current7;
|
|
@@ -2073,26 +2113,40 @@ var NetworkDropdown = function NetworkDropdown(_ref) {
|
|
|
2073
2113
|
var dispatch = reactRedux.useDispatch();
|
|
2074
2114
|
React.useEffect(function () {
|
|
2075
2115
|
if (!nodeProviderQuery || mode !== exports.ModeOptions.bridge) return;
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2116
|
+
(function () {
|
|
2117
|
+
try {
|
|
2118
|
+
var _temp2 = _catch(function () {
|
|
2119
|
+
return Promise.resolve(fetchWrapper.get(nodeProviderQuery + "/kima-finance/kima/kima/get_available_chains/" + originNetwork)).then(function (networks) {
|
|
2120
|
+
setAvailableNetworks(networks.Chains);
|
|
2121
|
+
if (isOriginChain) {
|
|
2122
|
+
dispatch(setTargetNetwork(networks.Chains[0]));
|
|
2123
|
+
}
|
|
2124
|
+
});
|
|
2125
|
+
}, function (e) {
|
|
2126
|
+
console.log('rpc disconnected', e);
|
|
2127
|
+
});
|
|
2128
|
+
return _temp2 && _temp2.then ? _temp2.then(function () {}) : void 0;
|
|
2129
|
+
} catch (e) {
|
|
2130
|
+
Promise.reject(e);
|
|
2131
|
+
}
|
|
2132
|
+
})();
|
|
2086
2133
|
}, [nodeProviderQuery, originNetwork, mode, isOriginChain]);
|
|
2087
2134
|
React.useEffect(function () {
|
|
2088
2135
|
if (!nodeProviderQuery || mode !== exports.ModeOptions.payment) return;
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2136
|
+
(function () {
|
|
2137
|
+
try {
|
|
2138
|
+
var _temp4 = _catch(function () {
|
|
2139
|
+
return Promise.resolve(fetchWrapper.get(nodeProviderQuery + "/kima-finance/kima/kima/get_available_chains/" + targetNetwork)).then(function (networks) {
|
|
2140
|
+
setAvailableNetworks(networks.Chains);
|
|
2141
|
+
});
|
|
2142
|
+
}, function (e) {
|
|
2143
|
+
console.log('rpc disconnected', e);
|
|
2144
|
+
});
|
|
2145
|
+
return _temp4 && _temp4.then ? _temp4.then(function () {}) : void 0;
|
|
2146
|
+
} catch (e) {
|
|
2147
|
+
Promise.reject(e);
|
|
2148
|
+
}
|
|
2149
|
+
})();
|
|
2096
2150
|
}, [nodeProviderQuery, mode]);
|
|
2097
2151
|
return React__default.createElement("div", {
|
|
2098
2152
|
className: "network-dropdown " + theme + " " + (collapsed ? 'collapsed' : ''),
|
|
@@ -2430,59 +2484,63 @@ var TransactionWidget = function TransactionWidget(_ref) {
|
|
|
2430
2484
|
if (!nodeProviderQuery || txId < 0) return;
|
|
2431
2485
|
var timerId = setInterval(function () {
|
|
2432
2486
|
try {
|
|
2433
|
-
return Promise.resolve(
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2487
|
+
return Promise.resolve(_catch(function () {
|
|
2488
|
+
return Promise.resolve(fetchWrapper.get(nodeProviderQuery + "/kima-finance/kima/kima/transaction_data/" + txId)).then(function (result) {
|
|
2489
|
+
var data = result === null || result === void 0 ? void 0 : result.transactionData;
|
|
2490
|
+
if (!data) return;
|
|
2491
|
+
var status = data.status;
|
|
2492
|
+
console.log(status);
|
|
2493
|
+
setData({
|
|
2494
|
+
sourceChain: data.originChain,
|
|
2495
|
+
targetChain: data.targetChain,
|
|
2496
|
+
tssPullHash: data.tssPullHash,
|
|
2497
|
+
tssReleaseHash: data.tssReleaseHash,
|
|
2498
|
+
amount: +data.amount,
|
|
2499
|
+
symbol: data.symbol,
|
|
2500
|
+
kimaTxHash: data.kimaTxHash
|
|
2501
|
+
});
|
|
2502
|
+
setErrorStep(-1);
|
|
2503
|
+
if (status === TransactionStatus.AVAILABLE) {
|
|
2504
|
+
setStep(1);
|
|
2505
|
+
setPercent(25);
|
|
2506
|
+
setLoadingStep(1);
|
|
2507
|
+
} else if (status === TransactionStatus.CONFIRMED) {
|
|
2508
|
+
setStep(2);
|
|
2509
|
+
setPercent(50);
|
|
2510
|
+
setLoadingStep(2);
|
|
2511
|
+
} else if (status.startsWith(TransactionStatus.UNAVAILABLE)) {
|
|
2512
|
+
setStep(1);
|
|
2513
|
+
setPercent(25);
|
|
2514
|
+
setErrorStep(1);
|
|
2515
|
+
setLoadingStep(-1);
|
|
2516
|
+
} else if (status === TransactionStatus.KEYSIGNED) {
|
|
2517
|
+
setStep(3);
|
|
2518
|
+
setPercent(75);
|
|
2519
|
+
setLoadingStep(3);
|
|
2520
|
+
} else if (status === TransactionStatus.PAID) {
|
|
2521
|
+
setStep(3);
|
|
2522
|
+
setPercent(90);
|
|
2523
|
+
setLoadingStep(3);
|
|
2524
|
+
} else if (status === TransactionStatus.FAILED) {
|
|
2525
|
+
setStep(3);
|
|
2526
|
+
setPercent(90);
|
|
2527
|
+
setErrorStep(3);
|
|
2528
|
+
setLoadingStep(-1);
|
|
2529
|
+
} else if (status === TransactionStatus.COMPLETED) {
|
|
2530
|
+
setStep(4);
|
|
2531
|
+
setPercent(100);
|
|
2532
|
+
clearInterval(timerId);
|
|
2533
|
+
setLoadingStep(-1);
|
|
2534
|
+
setTimeout(function () {
|
|
2535
|
+
successHandler({
|
|
2536
|
+
txId: txId
|
|
2537
|
+
});
|
|
2538
|
+
}, 3000);
|
|
2539
|
+
}
|
|
2446
2540
|
});
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
setPercent(25);
|
|
2451
|
-
setLoadingStep(1);
|
|
2452
|
-
} else if (status === TransactionStatus.CONFIRMED) {
|
|
2453
|
-
setStep(2);
|
|
2454
|
-
setPercent(50);
|
|
2455
|
-
setLoadingStep(2);
|
|
2456
|
-
} else if (status.startsWith(TransactionStatus.UNAVAILABLE)) {
|
|
2457
|
-
setStep(1);
|
|
2458
|
-
setPercent(25);
|
|
2459
|
-
setErrorStep(1);
|
|
2460
|
-
setLoadingStep(-1);
|
|
2461
|
-
} else if (status === TransactionStatus.KEYSIGNED) {
|
|
2462
|
-
setStep(3);
|
|
2463
|
-
setPercent(75);
|
|
2464
|
-
setLoadingStep(3);
|
|
2465
|
-
} else if (status === TransactionStatus.PAID) {
|
|
2466
|
-
setStep(3);
|
|
2467
|
-
setPercent(90);
|
|
2468
|
-
setLoadingStep(3);
|
|
2469
|
-
} else if (status === TransactionStatus.FAILED) {
|
|
2470
|
-
setStep(3);
|
|
2471
|
-
setPercent(90);
|
|
2472
|
-
setErrorStep(3);
|
|
2473
|
-
setLoadingStep(-1);
|
|
2474
|
-
} else if (status === TransactionStatus.COMPLETED) {
|
|
2475
|
-
setStep(4);
|
|
2476
|
-
setPercent(100);
|
|
2477
|
-
clearInterval(timerId);
|
|
2478
|
-
setLoadingStep(-1);
|
|
2479
|
-
setTimeout(function () {
|
|
2480
|
-
successHandler({
|
|
2481
|
-
txId: txId
|
|
2482
|
-
});
|
|
2483
|
-
}, 3000);
|
|
2484
|
-
}
|
|
2485
|
-
});
|
|
2541
|
+
}, function (e) {
|
|
2542
|
+
console.log('rpc disconnected', e);
|
|
2543
|
+
}));
|
|
2486
2544
|
} catch (e) {
|
|
2487
2545
|
return Promise.reject(e);
|
|
2488
2546
|
}
|
|
@@ -2558,25 +2616,6 @@ var TransactionWidget = function TransactionWidget(_ref) {
|
|
|
2558
2616
|
})));
|
|
2559
2617
|
};
|
|
2560
2618
|
|
|
2561
|
-
// A type of promise-like that resolves synchronously and supports only one observer
|
|
2562
|
-
|
|
2563
|
-
const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator"))) : "@@iterator";
|
|
2564
|
-
|
|
2565
|
-
const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
|
|
2566
|
-
|
|
2567
|
-
// Asynchronously call a function and send errors to recovery continuation
|
|
2568
|
-
function _catch(body, recover) {
|
|
2569
|
-
try {
|
|
2570
|
-
var result = body();
|
|
2571
|
-
} catch(e) {
|
|
2572
|
-
return recover(e);
|
|
2573
|
-
}
|
|
2574
|
-
if (result && result.then) {
|
|
2575
|
-
return result.then(void 0, recover);
|
|
2576
|
-
}
|
|
2577
|
-
return result;
|
|
2578
|
-
}
|
|
2579
|
-
|
|
2580
2619
|
var SingleForm = function SingleForm() {
|
|
2581
2620
|
var dispatch = reactRedux.useDispatch();
|
|
2582
2621
|
var mode = reactRedux.useSelector(selectMode);
|
|
@@ -6550,19 +6589,29 @@ function useAllowance() {
|
|
|
6550
6589
|
targetAddress = _useState3[0],
|
|
6551
6590
|
setTargetAddress = _useState3[1];
|
|
6552
6591
|
var isApproved = React.useMemo(function () {
|
|
6553
|
-
if (!isEVMChain(sourceChain))
|
|
6592
|
+
if (!isEVMChain(sourceChain)) {
|
|
6593
|
+
return allowance >= amount + serviceFee;
|
|
6594
|
+
}
|
|
6554
6595
|
if (allowance && amount && allowance.gte(units.parseUnits((amount + serviceFee).toString(), decimals))) return true;
|
|
6555
6596
|
return false;
|
|
6556
6597
|
}, [decimals, sourceChain, allowance, amount, splAllowance, serviceFee]);
|
|
6557
6598
|
var updatePoolAddress = function updatePoolAddress() {
|
|
6558
6599
|
try {
|
|
6559
|
-
return Promise.resolve(
|
|
6560
|
-
|
|
6561
|
-
|
|
6600
|
+
return Promise.resolve(_catch(function () {
|
|
6601
|
+
if (sourceChain === exports.SupportNetworks.SOLANA) {
|
|
6602
|
+
setTargetAddress('8ymXJ6RH9k8qSf1xsvxSWgzPB9RYgUuHPDgonkFzUEhT');
|
|
6562
6603
|
return;
|
|
6563
6604
|
}
|
|
6564
|
-
|
|
6565
|
-
|
|
6605
|
+
return Promise.resolve(fetchWrapper.get(nodeProviderQuery + "/kima-finance/kima/kima/tss_pubkey")).then(function (result) {
|
|
6606
|
+
var _result$tssPubkey;
|
|
6607
|
+
if ((result === null || result === void 0 ? void 0 : (_result$tssPubkey = result.tssPubkey) === null || _result$tssPubkey === void 0 ? void 0 : _result$tssPubkey.length) < 1) {
|
|
6608
|
+
return;
|
|
6609
|
+
}
|
|
6610
|
+
setTargetAddress(sourceChain === exports.SupportNetworks.SOLANA ? result.tssPubkey[0].ebdsa : result.tssPubkey[0].ecdsa);
|
|
6611
|
+
});
|
|
6612
|
+
}, function (e) {
|
|
6613
|
+
console.log('rpc disconnected', e);
|
|
6614
|
+
}));
|
|
6566
6615
|
} catch (e) {
|
|
6567
6616
|
return Promise.reject(e);
|
|
6568
6617
|
}
|
|
@@ -6574,15 +6623,35 @@ function useAllowance() {
|
|
|
6574
6623
|
React.useEffect(function () {
|
|
6575
6624
|
(function () {
|
|
6576
6625
|
try {
|
|
6626
|
+
var _exit2 = false;
|
|
6577
6627
|
return _catch(function () {
|
|
6578
|
-
|
|
6579
|
-
|
|
6580
|
-
|
|
6581
|
-
|
|
6582
|
-
|
|
6583
|
-
|
|
6628
|
+
function _temp2(_result2) {
|
|
6629
|
+
if (_exit2) return _result2;
|
|
6630
|
+
if (!tokenAddress || !targetAddress || !signer || !signerAddress) return;
|
|
6631
|
+
var erc20Contract = new contracts.Contract(tokenAddress, ERC20ABI.abi, signer);
|
|
6632
|
+
return Promise.resolve(erc20Contract.decimals()).then(function (decimals) {
|
|
6633
|
+
return Promise.resolve(erc20Contract.allowance(signerAddress, targetAddress)).then(function (userAllowance) {
|
|
6634
|
+
setDecimals(+decimals);
|
|
6635
|
+
setAllowance(userAllowance);
|
|
6636
|
+
});
|
|
6584
6637
|
});
|
|
6585
|
-
}
|
|
6638
|
+
}
|
|
6639
|
+
var _temp = function () {
|
|
6640
|
+
if (!isEVMChain(sourceChain) && publicKey && tokenAddress && connection) {
|
|
6641
|
+
var mint = new web3_js.PublicKey(tokenAddress);
|
|
6642
|
+
return Promise.resolve(getOrCreateAssociatedTokenAccount(connection, publicKey, mint, publicKey, signTransaction)).then(function (fromTokenAccount) {
|
|
6643
|
+
return Promise.resolve(connection.getParsedAccountInfo(fromTokenAccount.address)).then(function (accountInfo) {
|
|
6644
|
+
var _accountInfo$value, _parsedAccountInfo$pa, _parsedAccountInfo$pa2, _parsedAccountInfo$pa3, _parsedAccountInfo$pa4, _parsedAccountInfo$pa5;
|
|
6645
|
+
console.log('solana token account: ', accountInfo);
|
|
6646
|
+
setDecimals(COIN_LIST['USDK'].decimals);
|
|
6647
|
+
var parsedAccountInfo = accountInfo === null || accountInfo === void 0 ? void 0 : (_accountInfo$value = accountInfo.value) === null || _accountInfo$value === void 0 ? void 0 : _accountInfo$value.data;
|
|
6648
|
+
setAllowance(((_parsedAccountInfo$pa = parsedAccountInfo.parsed) === null || _parsedAccountInfo$pa === void 0 ? void 0 : (_parsedAccountInfo$pa2 = _parsedAccountInfo$pa.info) === null || _parsedAccountInfo$pa2 === void 0 ? void 0 : _parsedAccountInfo$pa2.delegate) === targetAddress ? (_parsedAccountInfo$pa3 = parsedAccountInfo.parsed) === null || _parsedAccountInfo$pa3 === void 0 ? void 0 : (_parsedAccountInfo$pa4 = _parsedAccountInfo$pa3.info) === null || _parsedAccountInfo$pa4 === void 0 ? void 0 : (_parsedAccountInfo$pa5 = _parsedAccountInfo$pa4.delegatedAmount) === null || _parsedAccountInfo$pa5 === void 0 ? void 0 : _parsedAccountInfo$pa5.uiAmount : 0);
|
|
6649
|
+
_exit2 = true;
|
|
6650
|
+
});
|
|
6651
|
+
});
|
|
6652
|
+
}
|
|
6653
|
+
}();
|
|
6654
|
+
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
|
|
6586
6655
|
}, function (error) {
|
|
6587
6656
|
errorHandler(error);
|
|
6588
6657
|
});
|
|
@@ -6590,13 +6659,13 @@ function useAllowance() {
|
|
|
6590
6659
|
Promise.reject(e);
|
|
6591
6660
|
}
|
|
6592
6661
|
})();
|
|
6593
|
-
}, [signerAddress, tokenAddress, targetAddress, isApproving, sourceChain]);
|
|
6662
|
+
}, [signerAddress, tokenAddress, targetAddress, isApproving, sourceChain, publicKey]);
|
|
6594
6663
|
var approve = React.useCallback(function () {
|
|
6595
6664
|
try {
|
|
6596
|
-
var
|
|
6597
|
-
if (
|
|
6665
|
+
var _temp8 = function _temp8(_result4) {
|
|
6666
|
+
if (_exit4) return _result4;
|
|
6598
6667
|
if (!signTransaction) return;
|
|
6599
|
-
var
|
|
6668
|
+
var _temp5 = _catch(function () {
|
|
6600
6669
|
dispatch(setApproving(true));
|
|
6601
6670
|
var mint = new web3_js.PublicKey(tokenAddress);
|
|
6602
6671
|
var toPublicKey = new web3_js.PublicKey(targetAddress);
|
|
@@ -6619,19 +6688,19 @@ function useAllowance() {
|
|
|
6619
6688
|
errorHandler(e);
|
|
6620
6689
|
dispatch(setApproving(false));
|
|
6621
6690
|
});
|
|
6622
|
-
if (
|
|
6691
|
+
if (_temp5 && _temp5.then) return _temp5.then(function () {});
|
|
6623
6692
|
};
|
|
6624
|
-
var
|
|
6625
|
-
var
|
|
6693
|
+
var _exit4 = false;
|
|
6694
|
+
var _temp9 = function () {
|
|
6626
6695
|
if (isEVMChain(sourceChain)) {
|
|
6627
|
-
var
|
|
6628
|
-
|
|
6696
|
+
var _temp10 = function _temp10() {
|
|
6697
|
+
_exit4 = true;
|
|
6629
6698
|
};
|
|
6630
6699
|
if (!decimals || !tokenAddress || !signer || !targetAddress) {
|
|
6631
|
-
|
|
6700
|
+
_exit4 = true;
|
|
6632
6701
|
return;
|
|
6633
6702
|
}
|
|
6634
|
-
var
|
|
6703
|
+
var _temp11 = _catch(function () {
|
|
6635
6704
|
var erc20Contract = new contracts.Contract(tokenAddress, ERC20ABI.abi, signer);
|
|
6636
6705
|
dispatch(setApproving(true));
|
|
6637
6706
|
return Promise.resolve(erc20Contract.approve(targetAddress, units.parseUnits((amount + serviceFee).toString(), decimals))).then(function (approve) {
|
|
@@ -6643,10 +6712,10 @@ function useAllowance() {
|
|
|
6643
6712
|
errorHandler(error);
|
|
6644
6713
|
dispatch(setApproving(false));
|
|
6645
6714
|
});
|
|
6646
|
-
return
|
|
6715
|
+
return _temp11 && _temp11.then ? _temp11.then(_temp10) : _temp10(_temp11);
|
|
6647
6716
|
}
|
|
6648
6717
|
}();
|
|
6649
|
-
return Promise.resolve(
|
|
6718
|
+
return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(_temp8) : _temp8(_temp9));
|
|
6650
6719
|
} catch (e) {
|
|
6651
6720
|
return Promise.reject(e);
|
|
6652
6721
|
}
|
|
@@ -6672,7 +6741,7 @@ var getFeeInUSD = function getFeeInUSD(sourceChain, targetChain, gasFee) {
|
|
|
6672
6741
|
if (targetChain === exports.SupportNetworks.SOLANA) {
|
|
6673
6742
|
targetFee = +gasFee[targetChain] * +targetTokenPrice;
|
|
6674
6743
|
} else targetFee = gasFee[targetChain] ? +gasFee[targetChain] * max_gas * +targetTokenPrice / 1e9 : 0;
|
|
6675
|
-
return [sourceFee, targetFee];
|
|
6744
|
+
return [isNaN(sourceFee) ? 0 : sourceFee, isNaN(targetFee) ? 0 : targetFee];
|
|
6676
6745
|
});
|
|
6677
6746
|
} catch (e) {
|
|
6678
6747
|
return Promise.reject(e);
|
|
@@ -6744,7 +6813,7 @@ function useServiceFee() {
|
|
|
6744
6813
|
});
|
|
6745
6814
|
});
|
|
6746
6815
|
}, function (e) {
|
|
6747
|
-
console.log(e);
|
|
6816
|
+
console.log('rpc disconnected', e);
|
|
6748
6817
|
});
|
|
6749
6818
|
return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
|
|
6750
6819
|
} catch (e) {
|
|
@@ -6756,7 +6825,7 @@ function useServiceFee() {
|
|
|
6756
6825
|
getServiceFee();
|
|
6757
6826
|
var timerId = setInterval(function () {
|
|
6758
6827
|
getServiceFee();
|
|
6759
|
-
},
|
|
6828
|
+
}, 20 * 1000);
|
|
6760
6829
|
return function () {
|
|
6761
6830
|
clearInterval(timerId);
|
|
6762
6831
|
};
|
|
@@ -6786,14 +6855,21 @@ function useCurrencyOptions() {
|
|
|
6786
6855
|
var targetNetwork = reactRedux.useSelector(selectTargetNetwork);
|
|
6787
6856
|
React.useEffect(function () {
|
|
6788
6857
|
if (!nodeProviderQuery || !originNetwork || !targetNetwork) return;
|
|
6789
|
-
|
|
6790
|
-
|
|
6791
|
-
var
|
|
6792
|
-
|
|
6793
|
-
|
|
6794
|
-
|
|
6795
|
-
|
|
6796
|
-
|
|
6858
|
+
(function () {
|
|
6859
|
+
try {
|
|
6860
|
+
var _temp2 = _catch(function () {
|
|
6861
|
+
return Promise.resolve(fetchWrapper.get(nodeProviderQuery + "/kima-finance/kima/kima/getCurrencies/" + originNetwork + "/" + targetNetwork)).then(function (coins) {
|
|
6862
|
+
var _coins$Currencies;
|
|
6863
|
+
setOptions(COIN_LIST[(_coins$Currencies = coins.Currencies) !== null && _coins$Currencies !== void 0 && _coins$Currencies.length ? coins.Currencies[0] : 'USDK']);
|
|
6864
|
+
});
|
|
6865
|
+
}, function (e) {
|
|
6866
|
+
console.log('rpc disconnected', e);
|
|
6867
|
+
});
|
|
6868
|
+
return _temp2 && _temp2.then ? _temp2.then(function () {}) : void 0;
|
|
6869
|
+
} catch (e) {
|
|
6870
|
+
Promise.reject(e);
|
|
6871
|
+
}
|
|
6872
|
+
})();
|
|
6797
6873
|
}, [nodeProviderQuery, originNetwork, targetNetwork]);
|
|
6798
6874
|
return React.useMemo(function () {
|
|
6799
6875
|
return {
|
|
@@ -6839,6 +6915,22 @@ var TransferWidget = function TransferWidget(_ref) {
|
|
|
6839
6915
|
var _useCurrencyOptions = useCurrencyOptions(),
|
|
6840
6916
|
selectedCoin = _useCurrencyOptions.options;
|
|
6841
6917
|
var backendUrl = reactRedux.useSelector(selectBackendUrl);
|
|
6918
|
+
var nodeProviderQuery = reactRedux.useSelector(selectNodeProviderQuery);
|
|
6919
|
+
React.useEffect(function () {
|
|
6920
|
+
if (!nodeProviderQuery) return;
|
|
6921
|
+
try {
|
|
6922
|
+
return Promise.resolve(fetchWrapper.get(nodeProviderQuery + "/kima-finance/kima/kima/pool_balance")).then(function (res) {
|
|
6923
|
+
console.table(res.poolBalance.map(function (item) {
|
|
6924
|
+
return {
|
|
6925
|
+
chain: CHAIN_NAMES_TO_STRING[item.chainName],
|
|
6926
|
+
balance: +item.balance
|
|
6927
|
+
};
|
|
6928
|
+
}));
|
|
6929
|
+
});
|
|
6930
|
+
} catch (e) {
|
|
6931
|
+
Promise.reject(e);
|
|
6932
|
+
}
|
|
6933
|
+
}, [nodeProviderQuery]);
|
|
6842
6934
|
React.useEffect(function () {
|
|
6843
6935
|
dispatch(setCurrencyOptions(selectedCoin));
|
|
6844
6936
|
}, [selectedCoin]);
|
|
@@ -6851,53 +6943,84 @@ var TransferWidget = function TransferWidget(_ref) {
|
|
|
6851
6943
|
React.useEffect(function () {
|
|
6852
6944
|
dispatch(setServiceFee(fee));
|
|
6853
6945
|
}, [fee]);
|
|
6946
|
+
var checkPoolBalance = function checkPoolBalance() {
|
|
6947
|
+
try {
|
|
6948
|
+
return Promise.resolve(fetchWrapper.get(nodeProviderQuery + "/kima-finance/kima/kima/pool_balance")).then(function (res) {
|
|
6949
|
+
var poolBalance = res.poolBalance;
|
|
6950
|
+
for (var i = 0; i < poolBalance.length; i++) {
|
|
6951
|
+
if (poolBalance[i].chainName === targetNetwork) {
|
|
6952
|
+
if (+poolBalance[i].balance >= amount + fee) {
|
|
6953
|
+
return true;
|
|
6954
|
+
}
|
|
6955
|
+
var symbol = targetNetwork === exports.SupportNetworks.FUSE || targetNetwork === exports.SupportNetworks.CELO ? 'G$' : 'USDK';
|
|
6956
|
+
console.log("Tried to transfer " + amount + " " + symbol + ", but " + CHAIN_NAMES_TO_STRING[targetNetwork] + " pool has only " + +poolBalance[i].balance + " " + symbol);
|
|
6957
|
+
return false;
|
|
6958
|
+
}
|
|
6959
|
+
}
|
|
6960
|
+
console.log(CHAIN_NAMES_TO_STRING[targetNetwork] + " pool error");
|
|
6961
|
+
return false;
|
|
6962
|
+
});
|
|
6963
|
+
} catch (e) {
|
|
6964
|
+
return Promise.reject(e);
|
|
6965
|
+
}
|
|
6966
|
+
};
|
|
6854
6967
|
var handleSubmit = function handleSubmit() {
|
|
6855
6968
|
try {
|
|
6969
|
+
var _exit3 = false;
|
|
6856
6970
|
if (!isApproved) {
|
|
6857
6971
|
approve();
|
|
6858
6972
|
return Promise.resolve();
|
|
6859
6973
|
}
|
|
6860
6974
|
return Promise.resolve(_catch(function () {
|
|
6975
|
+
var _exit2 = false;
|
|
6861
6976
|
dispatch(setSubmitting(true));
|
|
6862
|
-
|
|
6863
|
-
|
|
6864
|
-
|
|
6865
|
-
|
|
6866
|
-
|
|
6867
|
-
|
|
6868
|
-
|
|
6869
|
-
|
|
6870
|
-
|
|
6871
|
-
|
|
6872
|
-
|
|
6873
|
-
|
|
6874
|
-
|
|
6875
|
-
|
|
6876
|
-
|
|
6877
|
-
|
|
6878
|
-
|
|
6879
|
-
|
|
6880
|
-
|
|
6881
|
-
|
|
6882
|
-
|
|
6883
|
-
|
|
6884
|
-
|
|
6885
|
-
|
|
6886
|
-
|
|
6887
|
-
|
|
6977
|
+
return Promise.resolve(checkPoolBalance()).then(function (_checkPoolBalance) {
|
|
6978
|
+
if (!_checkPoolBalance) {
|
|
6979
|
+
dispatch(setSubmitting(false));
|
|
6980
|
+
_exit3 = true;
|
|
6981
|
+
return;
|
|
6982
|
+
}
|
|
6983
|
+
var params = JSON.stringify({
|
|
6984
|
+
originAddress: walletAddress,
|
|
6985
|
+
originChain: sourceChain,
|
|
6986
|
+
targetAddress: targetAddress,
|
|
6987
|
+
targetChain: targetNetwork,
|
|
6988
|
+
symbol: selectedCoin.label,
|
|
6989
|
+
amount: amount,
|
|
6990
|
+
fee: fee
|
|
6991
|
+
});
|
|
6992
|
+
console.log(params);
|
|
6993
|
+
return Promise.resolve(fetchWrapper.post(backendUrl + "/auth", params)).then(function () {
|
|
6994
|
+
return Promise.resolve(fetchWrapper.post(backendUrl + "/submit", params)).then(function (result) {
|
|
6995
|
+
console.log(result);
|
|
6996
|
+
if ((result === null || result === void 0 ? void 0 : result.code) !== 0) {
|
|
6997
|
+
errorHandler(result);
|
|
6998
|
+
dispatch(setSubmitting(false));
|
|
6999
|
+
return;
|
|
7000
|
+
}
|
|
7001
|
+
var txId = -1;
|
|
7002
|
+
for (var _iterator = _createForOfIteratorHelperLoose(result.events), _step; !(_step = _iterator()).done;) {
|
|
7003
|
+
var event = _step.value;
|
|
7004
|
+
if (event.type === 'transaction_requested') {
|
|
7005
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(event.attributes), _step2; !(_step2 = _iterator2()).done;) {
|
|
7006
|
+
var attr = _step2.value;
|
|
7007
|
+
if (attr.key === 'txId') {
|
|
7008
|
+
txId = attr.value;
|
|
7009
|
+
}
|
|
6888
7010
|
}
|
|
6889
7011
|
}
|
|
6890
7012
|
}
|
|
6891
|
-
|
|
6892
|
-
|
|
6893
|
-
|
|
6894
|
-
|
|
6895
|
-
|
|
7013
|
+
console.log(txId);
|
|
7014
|
+
dispatch(setTxId(txId));
|
|
7015
|
+
dispatch(setSubmitted(true));
|
|
7016
|
+
dispatch(setSubmitting(false));
|
|
7017
|
+
});
|
|
6896
7018
|
});
|
|
6897
7019
|
});
|
|
6898
7020
|
}, function (e) {
|
|
6899
7021
|
errorHandler(e);
|
|
6900
7022
|
dispatch(setSubmitting(false));
|
|
7023
|
+
console.log('rpc disconnected', e);
|
|
6901
7024
|
}));
|
|
6902
7025
|
} catch (e) {
|
|
6903
7026
|
return Promise.reject(e);
|
|
@@ -7053,13 +7176,20 @@ var KimaTransactionWidget = function KimaTransactionWidget(_ref) {
|
|
|
7053
7176
|
dispatch(setMode(mode));
|
|
7054
7177
|
if (mode === exports.ModeOptions.payment) {
|
|
7055
7178
|
dispatch(setTargetNetwork((transactionOption === null || transactionOption === void 0 ? void 0 : transactionOption.targetChain) || exports.SupportNetworks.ETHEREUM));
|
|
7056
|
-
|
|
7057
|
-
|
|
7058
|
-
|
|
7059
|
-
|
|
7060
|
-
|
|
7061
|
-
|
|
7062
|
-
|
|
7179
|
+
(function () {
|
|
7180
|
+
try {
|
|
7181
|
+
var _temp2 = _catch(function () {
|
|
7182
|
+
return Promise.resolve(fetchWrapper.get(kimaNodeProviderQuery + "/kima-finance/kima/kima/get_available_chains/" + ((transactionOption === null || transactionOption === void 0 ? void 0 : transactionOption.targetChain) || exports.SupportNetworks.ETHEREUM))).then(function (networks) {
|
|
7183
|
+
dispatch(setOriginNetwork(networks.Chains[0]));
|
|
7184
|
+
});
|
|
7185
|
+
}, function (e) {
|
|
7186
|
+
console.log('rpc disconnected', e);
|
|
7187
|
+
});
|
|
7188
|
+
return _temp2 && _temp2.then ? _temp2.then(function () {}) : void 0;
|
|
7189
|
+
} catch (e) {
|
|
7190
|
+
Promise.reject(e);
|
|
7191
|
+
}
|
|
7192
|
+
})();
|
|
7063
7193
|
dispatch(setTargetAddress((transactionOption === null || transactionOption === void 0 ? void 0 : transactionOption.targetAddress) || ''));
|
|
7064
7194
|
dispatch(setAmount((transactionOption === null || transactionOption === void 0 ? void 0 : transactionOption.amount) || 0));
|
|
7065
7195
|
} else if (mode === exports.ModeOptions.status) {
|