@lifi/sdk 3.3.1 → 3.4.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/package.json +4 -4
- package/src/_cjs/config.js +6 -5
- package/src/_cjs/config.js.map +1 -1
- package/src/_cjs/core/Solana/SolanaStepExecutor.js +12 -47
- package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -1
- package/src/_cjs/core/Solana/connection.js +30 -9
- package/src/_cjs/core/Solana/connection.js.map +1 -1
- package/src/_cjs/core/Solana/getSolanaBalance.js +5 -5
- package/src/_cjs/core/Solana/getSolanaBalance.js.map +1 -1
- package/src/_cjs/core/Solana/sendAndConfirmTransaction.js +68 -0
- package/src/_cjs/core/Solana/sendAndConfirmTransaction.js.map +1 -0
- package/src/_cjs/index.js +8 -2
- package/src/_cjs/index.js.map +1 -1
- package/src/_cjs/utils/withDedupe.js.map +1 -1
- package/src/_cjs/version.js +1 -1
- package/src/_esm/config.js +6 -5
- package/src/_esm/config.js.map +1 -1
- package/src/_esm/core/Solana/SolanaStepExecutor.js +14 -65
- package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -1
- package/src/_esm/core/Solana/connection.js +40 -10
- package/src/_esm/core/Solana/connection.js.map +1 -1
- package/src/_esm/core/Solana/getSolanaBalance.js +6 -6
- package/src/_esm/core/Solana/getSolanaBalance.js.map +1 -1
- package/src/_esm/core/Solana/sendAndConfirmTransaction.js +76 -0
- package/src/_esm/core/Solana/sendAndConfirmTransaction.js.map +1 -0
- package/src/_esm/index.js +3 -0
- package/src/_esm/index.js.map +1 -1
- package/src/_esm/utils/withDedupe.js.map +1 -1
- package/src/_esm/version.js +1 -1
- package/src/_types/config.d.ts +2 -2
- package/src/_types/config.d.ts.map +1 -1
- package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -1
- package/src/_types/core/Solana/connection.d.ts +14 -3
- package/src/_types/core/Solana/connection.d.ts.map +1 -1
- package/src/_types/core/Solana/getSolanaBalance.d.ts.map +1 -1
- package/src/_types/core/Solana/sendAndConfirmTransaction.d.ts +13 -0
- package/src/_types/core/Solana/sendAndConfirmTransaction.d.ts.map +1 -0
- package/src/_types/index.d.ts +6 -1
- package/src/_types/index.d.ts.map +1 -1
- package/src/_types/utils/withDedupe.d.ts +1 -1
- package/src/_types/utils/withDedupe.d.ts.map +1 -1
- package/src/_types/version.d.ts +1 -1
- package/src/config.ts +6 -6
- package/src/core/Solana/SolanaStepExecutor.ts +15 -86
- package/src/core/Solana/connection.ts +43 -10
- package/src/core/Solana/getSolanaBalance.ts +27 -7
- package/src/core/Solana/sendAndConfirmTransaction.ts +111 -0
- package/src/index.ts +10 -0
- package/src/utils/withDedupe.ts +3 -3
- package/src/version.ts +1 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
-
"@bigmi/core": "^0.0.
|
|
4
|
-
"@lifi/types": "^16.
|
|
3
|
+
"@bigmi/core": "^0.0.4",
|
|
4
|
+
"@lifi/types": "^16.1.1",
|
|
5
5
|
"@noble/curves": "^1.6.0",
|
|
6
6
|
"@noble/hashes": "^1.5.0",
|
|
7
7
|
"@solana/wallet-adapter-base": "^0.9.23",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"bech32": "^2.0.0",
|
|
10
10
|
"bitcoinjs-lib": "^7.0.0-rc.0",
|
|
11
11
|
"bs58": "^6.0.0",
|
|
12
|
-
"viem": "^2.21.
|
|
12
|
+
"viem": "^2.21.37"
|
|
13
13
|
},
|
|
14
14
|
"description": "LI.FI Any-to-Any Cross-Chain-Swap SDK",
|
|
15
15
|
"exports": {
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"sideEffects": false,
|
|
66
66
|
"types": "./src/_types/index.d.ts",
|
|
67
67
|
"typings": "./src/_types/index.d.ts",
|
|
68
|
-
"version": "3.
|
|
68
|
+
"version": "3.4.1"
|
|
69
69
|
}
|
package/src/_cjs/config.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.config = void 0;
|
|
4
|
+
const types_1 = require("@lifi/types");
|
|
4
5
|
exports.config = (() => {
|
|
5
6
|
const _config = {
|
|
6
7
|
integrator: 'lifi-sdk',
|
|
@@ -47,7 +48,7 @@ exports.config = (() => {
|
|
|
47
48
|
}
|
|
48
49
|
return rpcUrls;
|
|
49
50
|
}, {});
|
|
50
|
-
this.setRPCUrls(rpcUrls);
|
|
51
|
+
this.setRPCUrls(rpcUrls, [types_1.ChainId.SOL]);
|
|
51
52
|
_config.chains = chains;
|
|
52
53
|
_loading = undefined;
|
|
53
54
|
},
|
|
@@ -67,9 +68,9 @@ exports.config = (() => {
|
|
|
67
68
|
}
|
|
68
69
|
return chain;
|
|
69
70
|
},
|
|
70
|
-
setRPCUrls(rpcUrls) {
|
|
71
|
+
setRPCUrls(rpcUrls, skipChains) {
|
|
71
72
|
for (const rpcUrlsKey in rpcUrls) {
|
|
72
|
-
const chainId = rpcUrlsKey;
|
|
73
|
+
const chainId = Number(rpcUrlsKey);
|
|
73
74
|
const urls = rpcUrls[chainId];
|
|
74
75
|
if (!urls?.length) {
|
|
75
76
|
continue;
|
|
@@ -77,9 +78,9 @@ exports.config = (() => {
|
|
|
77
78
|
if (!_config.rpcUrls[chainId]?.length) {
|
|
78
79
|
_config.rpcUrls[chainId] = Array.from(urls);
|
|
79
80
|
}
|
|
80
|
-
else {
|
|
81
|
+
else if (!skipChains?.includes(chainId)) {
|
|
81
82
|
const filteredUrls = urls.filter((url) => !_config.rpcUrls[chainId]?.includes(url));
|
|
82
|
-
_config.rpcUrls[chainId]
|
|
83
|
+
_config.rpcUrls[chainId].push(...filteredUrls);
|
|
83
84
|
}
|
|
84
85
|
}
|
|
85
86
|
},
|
package/src/_cjs/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":";;;AAAA,uCAAyD;AAI5C,QAAA,MAAM,GAAG,CAAC,GAAG,EAAE;IAC1B,MAAM,OAAO,GAAkB;QAC7B,UAAU,EAAE,UAAU;QACtB,MAAM,EAAE,qBAAqB;QAC7B,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,KAAK;KACb,CAAA;IACD,IAAI,QAAmC,CAAA;IACvC,OAAO;QACL,IAAI,OAAO,CAAC,OAAsB;YAChC,QAAQ,GAAG,OAAO,CAAA;QACpB,CAAC;QACD,GAAG;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,GAAG,CAAC,OAAkB;YACpB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAA;YAC/D,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACxB,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;YAC9B,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YAC1B,CAAC;YACD,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,YAAY,CAAC,SAAwB;YACnC,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAC/D,CAAA;YACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;YAC1C,CAAC;YACD,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,SAAS,CAAC,MAAuB;YAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBAC/C,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;oBACpC,OAAO,CAAC,KAAK,CAAC,EAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAA;gBACvD,CAAC;gBACD,OAAO,OAAO,CAAA;YAChB,CAAC,EAAE,EAAa,CAAC,CAAA;YACjB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,eAAO,CAAC,GAAG,CAAC,CAAC,CAAA;YACvC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;YACvB,QAAQ,GAAG,SAAS,CAAA;QACtB,CAAC;QACD,KAAK,CAAC,SAAS;YACb,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,QAAQ,CAAA;YAChB,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,CAAA;QACvB,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,OAAgB;YACjC,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,QAAQ,CAAA;YAChB,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAA;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,YAAY,CAAC,CAAA;YACjD,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,UAAU,CAAC,OAAgB,EAAE,UAAsB;YACjD,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAY,CAAA;gBAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC7B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;oBAClB,SAAQ;gBACV,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;oBACtC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC7C,CAAC;qBAAM,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAClD,CAAA;oBACD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,CAAC,UAAU;YACd,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,QAAQ,CAAA;YAChB,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAA;QACxB,CAAC;KACF,CAAA;AACH,CAAC,CAAC,EAAE,CAAA"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SolanaStepExecutor = void 0;
|
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
-
const bs58_1 = require("bs58");
|
|
6
5
|
const viem_1 = require("viem");
|
|
7
6
|
const config_js_1 = require("../../config.js");
|
|
8
7
|
const constants_js_1 = require("../../errors/constants.js");
|
|
@@ -10,7 +9,6 @@ const errors_js_1 = require("../../errors/errors.js");
|
|
|
10
9
|
const api_js_1 = require("../../services/api.js");
|
|
11
10
|
const base64ToUint8Array_js_1 = require("../../utils/base64ToUint8Array.js");
|
|
12
11
|
const getTransactionMessage_js_1 = require("../../utils/getTransactionMessage.js");
|
|
13
|
-
const sleep_js_1 = require("../../utils/sleep.js");
|
|
14
12
|
const BaseStepExecutor_js_1 = require("../BaseStepExecutor.js");
|
|
15
13
|
const checkBalance_js_1 = require("../checkBalance.js");
|
|
16
14
|
const processMessages_js_1 = require("../processMessages.js");
|
|
@@ -18,6 +16,7 @@ const stepComparison_js_1 = require("../stepComparison.js");
|
|
|
18
16
|
const waitForReceivingTransaction_js_1 = require("../waitForReceivingTransaction.js");
|
|
19
17
|
const connection_js_1 = require("./connection.js");
|
|
20
18
|
const parseSolanaErrors_js_1 = require("./parseSolanaErrors.js");
|
|
19
|
+
const sendAndConfirmTransaction_js_1 = require("./sendAndConfirmTransaction.js");
|
|
21
20
|
class SolanaStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
|
|
22
21
|
constructor(options) {
|
|
23
22
|
super(options);
|
|
@@ -53,7 +52,6 @@ class SolanaStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
|
|
|
53
52
|
});
|
|
54
53
|
if (process.status !== 'DONE') {
|
|
55
54
|
try {
|
|
56
|
-
const connection = await (0, connection_js_1.getSolanaConnection)();
|
|
57
55
|
process = this.statusManager.updateProcess(step, process.type, 'STARTED');
|
|
58
56
|
await (0, checkBalance_js_1.checkBalance)(this.walletAdapter.publicKey.toString(), step);
|
|
59
57
|
if (!step.transactionRequest) {
|
|
@@ -75,9 +73,6 @@ class SolanaStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
|
|
|
75
73
|
let transactionRequest = {
|
|
76
74
|
data: step.transactionRequest.data,
|
|
77
75
|
};
|
|
78
|
-
const blockhashResult = await connection.getLatestBlockhash({
|
|
79
|
-
commitment: 'confirmed',
|
|
80
|
-
});
|
|
81
76
|
if (this.executionOptions?.updateTransactionRequestHook) {
|
|
82
77
|
const customizedTransactionRequest = await this.executionOptions.updateTransactionRequestHook({
|
|
83
78
|
requestType: 'transaction',
|
|
@@ -98,56 +93,26 @@ class SolanaStepExecutor extends BaseStepExecutor_js_1.BaseStepExecutor {
|
|
|
98
93
|
errorInstance: new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.TransactionExpired, 'Transaction has expired: blockhash is no longer recent enough.'),
|
|
99
94
|
});
|
|
100
95
|
process = this.statusManager.updateProcess(step, process.type, 'PENDING');
|
|
101
|
-
const simulationResult = await connection.simulateTransaction(signedTx, {
|
|
102
|
-
commitment: '
|
|
96
|
+
const simulationResult = await (0, connection_js_1.callSolanaWithRetry)((connection) => connection.simulateTransaction(signedTx, {
|
|
97
|
+
commitment: 'confirmed',
|
|
103
98
|
replaceRecentBlockhash: true,
|
|
104
|
-
});
|
|
99
|
+
}));
|
|
105
100
|
if (simulationResult.value.err) {
|
|
106
101
|
throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.TransactionSimulationFailed, 'Transaction simulation failed');
|
|
107
102
|
}
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
const abortController = new AbortController();
|
|
111
|
-
const confirmTransactionPromise = connection
|
|
112
|
-
.confirmTransaction({
|
|
113
|
-
signature: txSignature,
|
|
114
|
-
blockhash: blockhashResult.blockhash,
|
|
115
|
-
lastValidBlockHeight: lastValidBlockHeight,
|
|
116
|
-
abortSignal: abortController.signal,
|
|
117
|
-
}, 'confirmed')
|
|
118
|
-
.then((result) => result.value);
|
|
119
|
-
let confirmedTx = null;
|
|
120
|
-
let blockHeight = await connection.getBlockHeight();
|
|
121
|
-
const rawTransactionOptions = {
|
|
122
|
-
skipPreflight: true,
|
|
123
|
-
maxRetries: 0,
|
|
124
|
-
preflightCommitment: 'confirmed',
|
|
125
|
-
};
|
|
126
|
-
const signedTxSerialized = signedTx.serialize();
|
|
127
|
-
while (!confirmedTx && blockHeight < lastValidBlockHeight) {
|
|
128
|
-
await connection.sendRawTransaction(signedTxSerialized, rawTransactionOptions);
|
|
129
|
-
confirmedTx = await Promise.race([
|
|
130
|
-
confirmTransactionPromise,
|
|
131
|
-
(0, sleep_js_1.sleep)(1000),
|
|
132
|
-
]);
|
|
133
|
-
if (confirmedTx) {
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
blockHeight = await connection.getBlockHeight();
|
|
137
|
-
}
|
|
138
|
-
abortController.abort();
|
|
139
|
-
if (!confirmedTx) {
|
|
103
|
+
const confirmedTx = await (0, sendAndConfirmTransaction_js_1.sendAndConfirmTransaction)(signedTx);
|
|
104
|
+
if (!confirmedTx.signatureResult) {
|
|
140
105
|
throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.TransactionExpired, 'Transaction has expired: The block height has exceeded the maximum allowed limit.');
|
|
141
106
|
}
|
|
142
|
-
if (confirmedTx
|
|
143
|
-
const reason = typeof confirmedTx.err === 'object'
|
|
144
|
-
? JSON.stringify(confirmedTx.err)
|
|
145
|
-
: confirmedTx.err;
|
|
107
|
+
if (confirmedTx.signatureResult.err) {
|
|
108
|
+
const reason = typeof confirmedTx.signatureResult.err === 'object'
|
|
109
|
+
? JSON.stringify(confirmedTx.signatureResult.err)
|
|
110
|
+
: confirmedTx.signatureResult.err;
|
|
146
111
|
throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.TransactionFailed, `Transaction failed: ${reason}`);
|
|
147
112
|
}
|
|
148
113
|
process = this.statusManager.updateProcess(step, process.type, 'PENDING', {
|
|
149
|
-
txHash: txSignature,
|
|
150
|
-
txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${txSignature}`,
|
|
114
|
+
txHash: confirmedTx.txSignature,
|
|
115
|
+
txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${confirmedTx.txSignature}`,
|
|
151
116
|
});
|
|
152
117
|
if (isBridgeExecution) {
|
|
153
118
|
process = this.statusManager.updateProcess(step, process.type, 'DONE');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolanaStepExecutor.js","sourceRoot":"","sources":["../../../core/Solana/SolanaStepExecutor.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"SolanaStepExecutor.js","sourceRoot":"","sources":["../../../core/Solana/SolanaStepExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getSolanaConnections = exports.ensureConnections = void 0;
|
|
4
|
+
exports.callSolanaWithRetry = callSolanaWithRetry;
|
|
4
5
|
const types_1 = require("@lifi/types");
|
|
5
6
|
const web3_js_1 = require("@solana/web3.js");
|
|
6
7
|
const rpc_js_1 = require("../rpc.js");
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
const connections = new Map();
|
|
9
|
+
const ensureConnections = async () => {
|
|
10
|
+
const rpcUrls = await (0, rpc_js_1.getRpcUrls)(types_1.ChainId.SOL);
|
|
11
|
+
for (const rpcUrl of rpcUrls) {
|
|
12
|
+
if (!connections.get(rpcUrl)) {
|
|
13
|
+
const connection = new web3_js_1.Connection(rpcUrl);
|
|
14
|
+
connections.set(rpcUrl, connection);
|
|
15
|
+
}
|
|
13
16
|
}
|
|
14
|
-
return connection;
|
|
15
17
|
};
|
|
16
|
-
exports.
|
|
18
|
+
exports.ensureConnections = ensureConnections;
|
|
19
|
+
const getSolanaConnections = async () => {
|
|
20
|
+
await (0, exports.ensureConnections)();
|
|
21
|
+
return Array.from(connections.values());
|
|
22
|
+
};
|
|
23
|
+
exports.getSolanaConnections = getSolanaConnections;
|
|
24
|
+
async function callSolanaWithRetry(fn) {
|
|
25
|
+
await (0, exports.ensureConnections)();
|
|
26
|
+
let lastError = null;
|
|
27
|
+
for (const connection of connections.values()) {
|
|
28
|
+
try {
|
|
29
|
+
const result = await fn(connection);
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
lastError = error;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
throw lastError;
|
|
37
|
+
}
|
|
17
38
|
//# sourceMappingURL=connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../core/Solana/connection.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../core/Solana/connection.ts"],"names":[],"mappings":";;;AAkCA,kDAgBC;AAlDD,uCAAqC;AACrC,6CAA4C;AAC5C,sCAAsC;AAEtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAA;AAM1C,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IACzD,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAU,EAAC,eAAO,CAAC,GAAG,CAAC,CAAA;IAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,MAAM,CAAC,CAAA;YACzC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AARY,QAAA,iBAAiB,qBAQ7B;AAMM,MAAM,oBAAoB,GAAG,KAAK,IAA2B,EAAE;IACpE,MAAM,IAAA,yBAAiB,GAAE,CAAA;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;AACzC,CAAC,CAAA;AAHY,QAAA,oBAAoB,wBAGhC;AAOM,KAAK,UAAU,mBAAmB,CACvC,EAA0C;IAG1C,MAAM,IAAA,yBAAiB,GAAE,CAAA;IACzB,IAAI,SAAS,GAAQ,IAAI,CAAA;IACzB,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,CAAA;YACnC,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAA;QACnB,CAAC;IACH,CAAC;IAED,MAAM,SAAS,CAAA;AACjB,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getSolanaBalance = void 0;
|
|
4
4
|
const web3_js_1 = require("@solana/web3.js");
|
|
5
5
|
const constants_js_1 = require("../../constants.js");
|
|
6
|
+
const withDedupe_js_1 = require("../../utils/withDedupe.js");
|
|
6
7
|
const connection_js_1 = require("./connection.js");
|
|
7
8
|
const types_js_1 = require("./types.js");
|
|
8
9
|
const getSolanaBalance = async (walletAddress, tokens) => {
|
|
@@ -19,15 +20,14 @@ const getSolanaBalance = async (walletAddress, tokens) => {
|
|
|
19
20
|
};
|
|
20
21
|
exports.getSolanaBalance = getSolanaBalance;
|
|
21
22
|
const getSolanaBalanceDefault = async (_chainId, tokens, walletAddress) => {
|
|
22
|
-
const connection = await (0, connection_js_1.getSolanaConnection)();
|
|
23
23
|
const accountPublicKey = new web3_js_1.PublicKey(walletAddress);
|
|
24
24
|
const tokenProgramPublicKey = new web3_js_1.PublicKey(types_js_1.TokenProgramAddress);
|
|
25
25
|
const [slot, balance, tokenAccountsByOwner] = await Promise.allSettled([
|
|
26
|
-
connection.getSlot(),
|
|
27
|
-
connection.getBalance(accountPublicKey),
|
|
28
|
-
connection.getParsedTokenAccountsByOwner(accountPublicKey, {
|
|
26
|
+
(0, withDedupe_js_1.withDedupe)(() => (0, connection_js_1.callSolanaWithRetry)((connection) => connection.getSlot('confirmed')), { id: `${getSolanaBalanceDefault.name}.getSlot` }),
|
|
27
|
+
(0, withDedupe_js_1.withDedupe)(() => (0, connection_js_1.callSolanaWithRetry)((connection) => connection.getBalance(accountPublicKey, 'confirmed')), { id: `${getSolanaBalanceDefault.name}.getBalance` }),
|
|
28
|
+
(0, withDedupe_js_1.withDedupe)(() => (0, connection_js_1.callSolanaWithRetry)((connection) => connection.getParsedTokenAccountsByOwner(accountPublicKey, {
|
|
29
29
|
programId: tokenProgramPublicKey,
|
|
30
|
-
}),
|
|
30
|
+
}, 'confirmed')), { id: `${getSolanaBalanceDefault.name}.getParsedTokenAccountsByOwner` }),
|
|
31
31
|
]);
|
|
32
32
|
const blockNumber = slot.status === 'fulfilled' ? BigInt(slot.value) : 0n;
|
|
33
33
|
const solBalance = balance.status === 'fulfilled' ? BigInt(balance.value) : 0n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSolanaBalance.js","sourceRoot":"","sources":["../../../core/Solana/getSolanaBalance.ts"],"names":[],"mappings":";;;AACA,6CAA2C;AAC3C,qDAAqD;AACrD,mDAAqD;AACrD,yCAAgD;AAEzC,MAAM,gBAAgB,GAAG,KAAK,EACnC,aAAqB,EACrB,MAAe,EACS,EAAE;IAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA;AAChE,CAAC,CAAA;AAfY,QAAA,gBAAgB,oBAe5B;AAED,MAAM,uBAAuB,GAAG,KAAK,EACnC,QAAiB,EACjB,MAAe,EACf,aAAqB,EACG,EAAE;IAC1B,MAAM,
|
|
1
|
+
{"version":3,"file":"getSolanaBalance.js","sourceRoot":"","sources":["../../../core/Solana/getSolanaBalance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sendAndConfirmTransaction = sendAndConfirmTransaction;
|
|
4
|
+
const bs58_1 = require("bs58");
|
|
5
|
+
const sleep_js_1 = require("../../utils/sleep.js");
|
|
6
|
+
const connection_js_1 = require("./connection.js");
|
|
7
|
+
async function sendAndConfirmTransaction(signedTx) {
|
|
8
|
+
const connections = await (0, connection_js_1.getSolanaConnections)();
|
|
9
|
+
const signedTxSerialized = signedTx.serialize();
|
|
10
|
+
const txSignature = bs58_1.default.encode(signedTx.signatures[0]);
|
|
11
|
+
if (!txSignature) {
|
|
12
|
+
throw new Error('Transaction signature is missing.');
|
|
13
|
+
}
|
|
14
|
+
const rawTransactionOptions = {
|
|
15
|
+
skipPreflight: true,
|
|
16
|
+
maxRetries: 0,
|
|
17
|
+
preflightCommitment: 'confirmed',
|
|
18
|
+
};
|
|
19
|
+
for (const connection of connections) {
|
|
20
|
+
connection
|
|
21
|
+
.sendRawTransaction(signedTxSerialized, rawTransactionOptions)
|
|
22
|
+
.catch();
|
|
23
|
+
}
|
|
24
|
+
const abortControllers = [];
|
|
25
|
+
const confirmPromises = connections.map(async (connection) => {
|
|
26
|
+
const abortController = new AbortController();
|
|
27
|
+
abortControllers.push(abortController);
|
|
28
|
+
try {
|
|
29
|
+
const blockhashResult = await connection.getLatestBlockhash('confirmed');
|
|
30
|
+
const confirmTransactionPromise = connection
|
|
31
|
+
.confirmTransaction({
|
|
32
|
+
signature: txSignature,
|
|
33
|
+
blockhash: blockhashResult.blockhash,
|
|
34
|
+
lastValidBlockHeight: blockhashResult.lastValidBlockHeight,
|
|
35
|
+
abortSignal: abortController.signal,
|
|
36
|
+
}, 'confirmed')
|
|
37
|
+
.then((result) => result.value);
|
|
38
|
+
let signatureResult = null;
|
|
39
|
+
let blockHeight = await connection.getBlockHeight('confirmed');
|
|
40
|
+
while (!signatureResult &&
|
|
41
|
+
blockHeight < blockhashResult.lastValidBlockHeight) {
|
|
42
|
+
await connection.sendRawTransaction(signedTxSerialized, rawTransactionOptions);
|
|
43
|
+
signatureResult = await Promise.race([
|
|
44
|
+
confirmTransactionPromise,
|
|
45
|
+
(0, sleep_js_1.sleep)(1000),
|
|
46
|
+
]);
|
|
47
|
+
if (signatureResult || abortController.signal.aborted) {
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
blockHeight = await connection.getBlockHeight('confirmed');
|
|
51
|
+
}
|
|
52
|
+
abortController.abort();
|
|
53
|
+
return signatureResult;
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
if (abortController.signal.aborted) {
|
|
57
|
+
return Promise.reject(new Error('Confirmation aborted.'));
|
|
58
|
+
}
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
const signatureResult = await Promise.any(confirmPromises).catch(() => null);
|
|
63
|
+
for (const abortController of abortControllers) {
|
|
64
|
+
abortController.abort();
|
|
65
|
+
}
|
|
66
|
+
return { signatureResult, txSignature };
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=sendAndConfirmTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendAndConfirmTransaction.js","sourceRoot":"","sources":["../../../core/Solana/sendAndConfirmTransaction.ts"],"names":[],"mappings":"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"}
|
package/src/_cjs/index.js
CHANGED
|
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.
|
|
18
|
-
exports.SDKError = void 0;
|
|
17
|
+
exports.TransactionError = exports.ServerError = exports.RPCError = exports.ProviderError = exports.BalanceError = exports.LiFiErrorCode = exports.ErrorName = exports.ErrorMessage = exports.BaseError = exports.getNameServiceAddress = exports.getTokenBalancesByChain = exports.getTokenBalances = exports.getTokenBalance = exports.getTransactionHistory = exports.getTools = exports.getTokens = exports.getToken = exports.getStepTransaction = exports.getStatus = exports.getRoutes = exports.getQuote = exports.getGasRecommendation = exports.getContractCallsQuote = exports.getConnections = exports.getChains = exports.fetchTxErrorDetails = exports.convertQuoteToRoute = exports.checkPackageUpdates = exports.createConfig = exports.isUTXO = exports.UTXO = exports.isSolana = exports.Solana = exports.KeypairWalletName = exports.KeypairWalletAdapter = exports.isSVMAddress = exports.updateRouteExecution = exports.stopRouteExecution = exports.resumeRoute = exports.getActiveRoutes = exports.getActiveRoute = exports.executeRoute = exports.StatusManager = exports.isEVM = exports.setTokenAllowance = exports.revokeTokenApproval = exports.getTokenAllowanceMulticall = exports.getTokenAllowance = exports.EVM = exports.config = void 0;
|
|
18
|
+
exports.SDKError = exports.HTTPError = exports.ValidationError = exports.UnknownError = void 0;
|
|
19
19
|
__exportStar(require("@lifi/types"), exports);
|
|
20
20
|
var config_js_1 = require("./config.js");
|
|
21
21
|
Object.defineProperty(exports, "config", { enumerable: true, get: function () { return config_js_1.config; } });
|
|
@@ -27,6 +27,8 @@ Object.defineProperty(exports, "getTokenAllowanceMulticall", { enumerable: true,
|
|
|
27
27
|
var setAllowance_js_1 = require("./core/EVM/setAllowance.js");
|
|
28
28
|
Object.defineProperty(exports, "revokeTokenApproval", { enumerable: true, get: function () { return setAllowance_js_1.revokeTokenApproval; } });
|
|
29
29
|
Object.defineProperty(exports, "setTokenAllowance", { enumerable: true, get: function () { return setAllowance_js_1.setTokenAllowance; } });
|
|
30
|
+
var types_js_1 = require("./core/EVM/types.js");
|
|
31
|
+
Object.defineProperty(exports, "isEVM", { enumerable: true, get: function () { return types_js_1.isEVM; } });
|
|
30
32
|
var StatusManager_js_1 = require("./core/StatusManager.js");
|
|
31
33
|
Object.defineProperty(exports, "StatusManager", { enumerable: true, get: function () { return StatusManager_js_1.StatusManager; } });
|
|
32
34
|
var execution_js_1 = require("./core/execution.js");
|
|
@@ -43,8 +45,12 @@ Object.defineProperty(exports, "KeypairWalletAdapter", { enumerable: true, get:
|
|
|
43
45
|
Object.defineProperty(exports, "KeypairWalletName", { enumerable: true, get: function () { return KeypairWalletAdapter_js_1.KeypairWalletName; } });
|
|
44
46
|
var Solana_js_1 = require("./core/Solana/Solana.js");
|
|
45
47
|
Object.defineProperty(exports, "Solana", { enumerable: true, get: function () { return Solana_js_1.Solana; } });
|
|
48
|
+
var types_js_2 = require("./core/Solana/types.js");
|
|
49
|
+
Object.defineProperty(exports, "isSolana", { enumerable: true, get: function () { return types_js_2.isSolana; } });
|
|
46
50
|
var UTXO_js_1 = require("./core/UTXO/UTXO.js");
|
|
47
51
|
Object.defineProperty(exports, "UTXO", { enumerable: true, get: function () { return UTXO_js_1.UTXO; } });
|
|
52
|
+
var types_js_3 = require("./core/UTXO/types.js");
|
|
53
|
+
Object.defineProperty(exports, "isUTXO", { enumerable: true, get: function () { return types_js_3.isUTXO; } });
|
|
48
54
|
var createConfig_js_1 = require("./createConfig.js");
|
|
49
55
|
Object.defineProperty(exports, "createConfig", { enumerable: true, get: function () { return createConfig_js_1.createConfig; } });
|
|
50
56
|
var helpers_js_1 = require("./helpers.js");
|
package/src/_cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,8CAA2B;AAC3B,yCAAoC;AAA3B,mGAAA,MAAM,OAAA;AACf,4CAAuC;AAA9B,6FAAA,GAAG,OAAA;AACZ,8DAGmC;AAFjC,oHAAA,iBAAiB,OAAA;AACjB,6HAAA,0BAA0B,OAAA;AAE5B,8DAGmC;AAFjC,sHAAA,mBAAmB,OAAA;AACnB,oHAAA,iBAAiB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,8CAA2B;AAC3B,yCAAoC;AAA3B,mGAAA,MAAM,OAAA;AACf,4CAAuC;AAA9B,6FAAA,GAAG,OAAA;AACZ,8DAGmC;AAFjC,oHAAA,iBAAiB,OAAA;AACjB,6HAAA,0BAA0B,OAAA;AAE5B,8DAGmC;AAFjC,sHAAA,mBAAmB,OAAA;AACnB,oHAAA,iBAAiB,OAAA;AAEnB,gDAA2C;AAAlC,iGAAA,KAAK,OAAA;AAQd,4DAAuD;AAA9C,iHAAA,aAAa,OAAA;AACtB,oDAO4B;AAN1B,4GAAA,YAAY,OAAA;AACZ,8GAAA,cAAc,OAAA;AACd,+GAAA,eAAe,OAAA;AACf,2GAAA,WAAW,OAAA;AACX,kHAAA,kBAAkB,OAAA;AAClB,oHAAA,oBAAoB,OAAA;AAwBtB,iEAA4D;AAAnD,+GAAA,YAAY,OAAA;AACrB,iFAG8C;AAF5C,+HAAA,oBAAoB,OAAA;AACpB,4HAAA,iBAAiB,OAAA;AAEnB,qDAAgD;AAAvC,mGAAA,MAAM,OAAA;AACf,mDAAiD;AAAxC,oGAAA,QAAQ,OAAA;AAKjB,+CAA0C;AAAjC,+FAAA,IAAI,OAAA;AACb,iDAA6C;AAApC,kGAAA,MAAM,OAAA;AAEf,qDAAgD;AAAvC,+GAAA,YAAY,OAAA;AACrB,2CAIqB;AAHnB,iHAAA,mBAAmB,OAAA;AACnB,iHAAA,mBAAmB,OAAA;AACnB,iHAAA,mBAAmB,OAAA;AAErB,4CAa0B;AAZxB,mGAAA,SAAS,OAAA;AACT,wGAAA,cAAc,OAAA;AACd,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,kGAAA,QAAQ,OAAA;AACR,mGAAA,SAAS,OAAA;AACT,mGAAA,SAAS,OAAA;AACT,4GAAA,kBAAkB,OAAA;AAClB,kGAAA,QAAQ,OAAA;AACR,mGAAA,SAAS,OAAA;AACT,kGAAA,QAAQ,OAAA;AACR,+GAAA,qBAAqB,OAAA;AAEvB,oDAI8B;AAH5B,6GAAA,eAAe,OAAA;AACf,8GAAA,gBAAgB,OAAA;AAChB,qHAAA,uBAAuB,OAAA;AAEzB,gFAA2E;AAAlE,iIAAA,qBAAqB,OAAA;AAE9B,sDAAiD;AAAxC,yGAAA,SAAS,OAAA;AAClB,sDAI8B;AAH5B,4GAAA,YAAY,OAAA;AACZ,yGAAA,SAAS,OAAA;AACT,6GAAA,aAAa,OAAA;AAGf,gDAQ2B;AAPzB,yGAAA,YAAY,OAAA;AACZ,0GAAA,aAAa,OAAA;AACb,qGAAA,QAAQ,OAAA;AACR,wGAAA,WAAW,OAAA;AACX,6GAAA,gBAAgB,OAAA;AAChB,yGAAA,YAAY,OAAA;AACZ,4GAAA,eAAe,OAAA;AAEjB,sDAAiD;AAAxC,yGAAA,SAAS,OAAA;AAClB,oDAA+C;AAAtC,uGAAA,QAAQ,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withDedupe.js","sourceRoot":"","sources":["../../utils/withDedupe.ts"],"names":[],"mappings":";;;AA+BA,gCAaC;AAvCD,MAAa,MAAwB,SAAQ,GAAkB;IAG7D,YAAY,IAAY;QACtB,KAAK,EAAE,CAAA;QAHT;;;;;WAAe;QAIb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAEQ,GAAG,CAAC,GAAW,EAAE,KAAY;QACpC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACrB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAfD,wBAeC;AAGY,QAAA,YAAY,GAAiB,IAAI,MAAM,CAAe,IAAI,CAAC,CAAA;AAQxE,SAAgB,UAAU,CACxB,
|
|
1
|
+
{"version":3,"file":"withDedupe.js","sourceRoot":"","sources":["../../utils/withDedupe.ts"],"names":[],"mappings":";;;AA+BA,gCAaC;AAvCD,MAAa,MAAwB,SAAQ,GAAkB;IAG7D,YAAY,IAAY;QACtB,KAAK,EAAE,CAAA;QAHT;;;;;WAAe;QAIb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAEQ,GAAG,CAAC,GAAW,EAAE,KAAY;QACpC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACrB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAfD,wBAeC;AAGY,QAAA,YAAY,GAAiB,IAAI,MAAM,CAAe,IAAI,CAAC,CAAA;AAQxE,SAAgB,UAAU,CACxB,EAAoB,EACpB,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,EAAqB;IAEzC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;IACD,IAAI,oBAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,OAAO,oBAAY,CAAC,GAAG,CAAC,EAAE,CAAE,CAAA;IAC9B,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3D,oBAAY,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
package/src/_cjs/version.js
CHANGED
package/src/_esm/config.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ChainId } from '@lifi/types';
|
|
1
2
|
export const config = (() => {
|
|
2
3
|
const _config = {
|
|
3
4
|
integrator: 'lifi-sdk',
|
|
@@ -44,7 +45,7 @@ export const config = (() => {
|
|
|
44
45
|
}
|
|
45
46
|
return rpcUrls;
|
|
46
47
|
}, {});
|
|
47
|
-
this.setRPCUrls(rpcUrls);
|
|
48
|
+
this.setRPCUrls(rpcUrls, [ChainId.SOL]);
|
|
48
49
|
_config.chains = chains;
|
|
49
50
|
_loading = undefined;
|
|
50
51
|
},
|
|
@@ -64,9 +65,9 @@ export const config = (() => {
|
|
|
64
65
|
}
|
|
65
66
|
return chain;
|
|
66
67
|
},
|
|
67
|
-
setRPCUrls(rpcUrls) {
|
|
68
|
+
setRPCUrls(rpcUrls, skipChains) {
|
|
68
69
|
for (const rpcUrlsKey in rpcUrls) {
|
|
69
|
-
const chainId = rpcUrlsKey;
|
|
70
|
+
const chainId = Number(rpcUrlsKey);
|
|
70
71
|
const urls = rpcUrls[chainId];
|
|
71
72
|
if (!urls?.length) {
|
|
72
73
|
continue;
|
|
@@ -74,9 +75,9 @@ export const config = (() => {
|
|
|
74
75
|
if (!_config.rpcUrls[chainId]?.length) {
|
|
75
76
|
_config.rpcUrls[chainId] = Array.from(urls);
|
|
76
77
|
}
|
|
77
|
-
else {
|
|
78
|
+
else if (!skipChains?.includes(chainId)) {
|
|
78
79
|
const filteredUrls = urls.filter((url) => !_config.rpcUrls[chainId]?.includes(url));
|
|
79
|
-
_config.rpcUrls[chainId]
|
|
80
|
+
_config.rpcUrls[chainId].push(...filteredUrls);
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
83
|
},
|
package/src/_esm/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
|