@lifi/sdk 3.15.5 → 3.15.7
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/core/EVM/permits/getNativePermit.js +8 -0
- package/src/_cjs/core/EVM/permits/getNativePermit.js.map +1 -1
- package/src/_cjs/core/Solana/connection.js +6 -3
- package/src/_cjs/core/Solana/connection.js.map +1 -1
- package/src/_cjs/version.js +1 -1
- package/src/_esm/core/EVM/permits/getNativePermit.js +17 -2
- package/src/_esm/core/EVM/permits/getNativePermit.js.map +1 -1
- package/src/_esm/core/Solana/connection.js +6 -4
- package/src/_esm/core/Solana/connection.js.map +1 -1
- package/src/_esm/version.js +1 -1
- package/src/_types/core/EVM/permits/getNativePermit.d.ts.map +1 -1
- package/src/_types/core/Solana/connection.d.ts.map +1 -1
- package/src/_types/version.d.ts +1 -1
- package/src/core/EVM/permits/getNativePermit.ts +21 -2
- package/src/core/Solana/connection.ts +9 -4
- package/src/version.ts +1 -1
package/package.json
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"url": "https://github.com/lifinance/sdk/issues"
|
|
4
4
|
},
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@bigmi/core": "^0.
|
|
6
|
+
"@bigmi/core": "^0.7.0",
|
|
7
7
|
"@bitcoinerlab/secp256k1": "^1.2.0",
|
|
8
|
-
"@lifi/types": "17.
|
|
8
|
+
"@lifi/types": "17.65.0",
|
|
9
9
|
"@mysten/sui": "^1.45.2",
|
|
10
10
|
"@mysten/wallet-standard": "^0.19.9",
|
|
11
11
|
"@noble/curves": "^1.9.7",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"bech32": "^2.0.0",
|
|
15
15
|
"bitcoinjs-lib": "^7.0.1",
|
|
16
16
|
"bs58": "^6.0.0",
|
|
17
|
-
"viem": "^2.
|
|
17
|
+
"viem": "^2.46.3"
|
|
18
18
|
},
|
|
19
19
|
"description": "LI.FI Any-to-Any Cross-Chain-Swap SDK",
|
|
20
20
|
"exports": {
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"sideEffects": false,
|
|
71
71
|
"types": "./src/_types/index.d.ts",
|
|
72
72
|
"typings": "./src/_types/index.d.ts",
|
|
73
|
-
"version": "3.15.
|
|
73
|
+
"version": "3.15.7"
|
|
74
74
|
}
|
|
@@ -7,6 +7,9 @@ const abi_js_1 = require("../abi.js");
|
|
|
7
7
|
const getActionWithFallback_js_1 = require("../getActionWithFallback.js");
|
|
8
8
|
const utils_js_1 = require("../utils.js");
|
|
9
9
|
const constants_js_1 = require("./constants.js");
|
|
10
|
+
const EIP7702_DELEGATION_BLOCKLIST = [
|
|
11
|
+
'36d3CBD83961868398d056EfBf50f5CE15528c0D',
|
|
12
|
+
];
|
|
10
13
|
function makeDomainSeparator({ name, version, chainId, verifyingContract, withSalt = false, }) {
|
|
11
14
|
const nameHash = (0, viem_1.keccak256)((0, viem_1.toBytes)(name));
|
|
12
15
|
const versionHash = (0, viem_1.keccak256)((0, viem_1.toBytes)(version));
|
|
@@ -75,6 +78,11 @@ const canAccountUseNativePermits = async (client) => {
|
|
|
75
78
|
return true;
|
|
76
79
|
}
|
|
77
80
|
if ((0, utils_js_1.isDelegationDesignatorCode)(accountCode)) {
|
|
81
|
+
const codeLC = accountCode.toLowerCase();
|
|
82
|
+
const isBlocked = EIP7702_DELEGATION_BLOCKLIST.some((blockedAddress) => codeLC.includes(blockedAddress.toLowerCase()));
|
|
83
|
+
if (isBlocked) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
78
86
|
return true;
|
|
79
87
|
}
|
|
80
88
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNativePermit.js","sourceRoot":"","sources":["../../../../core/EVM/permits/getNativePermit.ts"],"names":[],"mappings":";;;AACA,+BAQa;AACb,0CAA+D;AAC/D,sCAAsC;AACtC,0EAAmE;AACnE,0CAA6E;AAC7E,iDAKuB;
|
|
1
|
+
{"version":3,"file":"getNativePermit.js","sourceRoot":"","sources":["../../../../core/EVM/permits/getNativePermit.ts"],"names":[],"mappings":";;;AACA,+BAQa;AACb,0CAA+D;AAC/D,sCAAsC;AACtC,0EAAmE;AACnE,0CAA6E;AAC7E,iDAKuB;AAQvB,MAAM,4BAA4B,GAAa;IAE7C,0CAA0C;CAC3C,CAAA;AASD,SAAS,mBAAmB,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,QAAQ,GAAG,KAAK,GAOjB;IACC,MAAM,QAAQ,GAAG,IAAA,gBAAS,EAAC,IAAA,cAAO,EAAC,IAAI,CAAC,CAAC,CAAA;IACzC,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,CAAC,CAAA;IAE/C,MAAM,OAAO,GAAG,QAAQ;QACtB,CAAC,CAAC,IAAA,0BAAmB,EACjB,IAAA,yBAAkB,EAAC,6CAA6C,CAAC,EACjE;YACE,+CAAgC;YAChC,QAAQ;YACR,WAAW;YACX,iBAAiB;YACjB,IAAA,UAAG,EAAC,IAAA,YAAK,EAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;SAClC,CACF;QACH,CAAC,CAAC,IAAA,0BAAmB,EACjB,IAAA,yBAAkB,EAAC,6CAA6C,CAAC,EACjE;YACE,qCAAsB;YACtB,QAAQ;YACR,WAAW;YACX,MAAM,CAAC,OAAO,CAAC;YACf,iBAAiB;SAClB,CACF,CAAA;IAEL,OAAO,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED,SAAS,uBAAuB,CAAC,EAC/B,IAAI,EACJ,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,eAAe,GAOhB;IACC,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,EAAE;SACX,CAAA;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,mBAAmB,CAAC;YACrC,IAAI;YACJ,OAAO;YACP,OAAO;YACP,iBAAiB;YACjB,QAAQ;SACT,CAAC,CAAA;QACF,IAAI,eAAe,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ;oBACd,CAAC,CAAC;wBACE,IAAI;wBACJ,OAAO;wBACP,iBAAiB;wBACjB,IAAI,EAAE,IAAA,UAAG,EAAC,IAAA,YAAK,EAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;qBACxC;oBACH,CAAC,CAAC;wBACE,IAAI;wBACJ,OAAO;wBACP,OAAO;wBACP,iBAAiB;qBAClB;aACN,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,EAAE;KACX,CAAA;AACH,CAAC;AAWD,MAAM,0BAA0B,GAAG,KAAK,EAAE,MAAc,EAAoB,EAAE;IAC5E,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,IAAA,gDAAqB,EAC7C,MAAM,EACN,iBAAO,EACP,SAAS,EACT;YACE,OAAO,EAAE,MAAM,CAAC,OAAQ,CAAC,OAAO;SACjC,CACF,CAAA;QAGD,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzC,OAAO,IAAI,CAAA;QACb,CAAC;QAGD,IAAI,IAAA,qCAA0B,EAAC,WAAW,CAAC,EAAE,CAAC;YAE5C,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,EAAE,CAAA;YACxC,MAAM,SAAS,GAAG,4BAA4B,CAAC,IAAI,CACjD,CAAC,cAAsB,EAAE,EAAE,CACzB,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAChD,CAAA;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,KAAK,CAAA;YACd,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAID,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,MAAM,CAAC;QAEP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAUD,MAAM,mBAAmB,GAAG,KAAK,EAC/B,MAAc,EACd,OAAe,EACf,YAAqB,EACrB,EAAE;IACF,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,IAAA,8BAAmB,EAAC,OAAO,CAAC,CAAA;QAE3D,MAAM,aAAa,GAAG;YACpB;gBACE,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,mBAAU;gBACf,YAAY,EAAE,cAAc;aAC7B;YACD;gBACE,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,mBAAU;gBACf,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,CAAC,MAAM,CAAC,OAAQ,CAAC,OAAO,CAAC;aAChC;SACO,CAAA;QAEV,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,GAAG,MAAM,IAAA,gDAAqB,EACpE,MAAM,EACN,mBAAS,EACT,WAAW,EACX;oBACE,SAAS,EAAE,aAAa;oBACxB,gBAAgB;iBACjB,CACF,CAAA;gBAED,IACE,kBAAkB,CAAC,MAAM,KAAK,SAAS;oBACvC,YAAY,CAAC,MAAM,KAAK,SAAS;oBACjC,CAAC,kBAAkB,CAAC,MAAM;oBAC1B,YAAY,CAAC,MAAM,KAAK,SAAS,EACjC,CAAC;oBAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;gBAC9C,CAAC;gBAED,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAC5D,kBAAkB,CAAC,MAAM,CAAA;gBAE3B,IACE,MAAM,CAAC,YAAY,CAAC,KAAK,OAAO;oBAChC,iBAAiB,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,EAC9D,CAAC;oBACD,OAAO,SAAS,CAAA;gBAClB,CAAC;gBAID,MAAM,OAAO,GAAG,IAAI,KAAK,eAAQ,CAAA;gBACjC,MAAM,MAAM,GAAG,OAAO;oBACpB,CAAC,CAAC;wBACE,IAAI;wBACJ,OAAO;wBACP,iBAAiB,EAAE,YAAY;wBAC/B,IAAI;qBACL;oBACH,CAAC,CAAC;wBACE,IAAI;wBACJ,OAAO;wBACP,OAAO;wBACP,iBAAiB,EAAE,YAAY;qBAChC,CAAA;gBAEL,OAAO;oBACL,IAAI;oBACJ,OAAO;oBACP,MAAM;oBACN,cAAc,EAAE,SAAS;oBACzB,KAAK,EAAE,YAAY,CAAC,MAAM;iBAC3B,CAAA;YACH,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC;QAGD,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,CAClE,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzB,IAAA,gDAAqB,EAAC,MAAM,EAAE,sBAAY,EAAE,cAAc,EAAE,IAAI,CAAC,CAClE,CACF,CAKA,CAAA;QAED,IACE,kBAAkB,CAAC,MAAM,KAAK,WAAW;YACzC,YAAY,CAAC,MAAM,KAAK,WAAW,EACnC,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAC5D,kBAAkB,CAAC,KAAK,CAAA;QAE1B,IACE,MAAM,CAAC,YAAY,CAAC,KAAK,OAAO;YAChC,iBAAiB,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,EAC9D,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QAID,MAAM,OAAO,GAAG,IAAI,KAAK,eAAQ,CAAA;QACjC,MAAM,MAAM,GAAG,OAAO;YACpB,CAAC,CAAC;gBACE,IAAI;gBACJ,OAAO;gBACP,iBAAiB,EAAE,YAAY;gBAC/B,IAAI;aACL;YACH,CAAC,CAAC;gBACE,IAAI;gBACJ,OAAO;gBACP,OAAO;gBACP,iBAAiB,EAAE,YAAY;aAChC,CAAA;QAEL,OAAO;YACL,IAAI;YACJ,OAAO;YACP,MAAM;YACN,cAAc,EAAE,SAAS;YACzB,KAAK,EAAE,YAAY,CAAC,KAAK;SAC1B,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,KAAK,EAC3B,MAAc,EACd,OAAe,EACf,YAAqB,EACrB,EAAE;IACF,IAAI,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAC5E,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,WAAW,CAAA;QACpB,CAAC;QAGD,MAAM,gBAAgB,GAAG,MAAM,IAAA,8BAAmB,EAAC,OAAO,CAAC,CAAA;QAE3D,MAAM,aAAa,GAAG;YACpB;gBACE,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,mBAAU;gBACf,YAAY,EAAE,MAAM;aACrB;YACD;gBACE,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,mBAAU;gBACf,YAAY,EAAE,kBAAkB;aACjC;YACD;gBACE,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,mBAAU;gBACf,YAAY,EAAE,iBAAiB;aAChC;YACD;gBACE,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,mBAAU;gBACf,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE,CAAC,MAAM,CAAC,OAAQ,CAAC,OAAO,CAAC;aAChC;YACD;gBACE,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,mBAAU;gBACf,YAAY,EAAE,SAAS;aACxB;SACO,CAAA;QAEV,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,CACJ,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACd,GAAG,MAAM,IAAA,gDAAqB,EAAC,MAAM,EAAE,mBAAS,EAAE,WAAW,EAAE;oBAC9D,SAAS,EAAE,aAAa;oBACxB,gBAAgB;iBACjB,CAAC,CAAA;gBAEF,IACE,UAAU,CAAC,MAAM,KAAK,SAAS;oBAC/B,qBAAqB,CAAC,MAAM,KAAK,SAAS;oBAC1C,YAAY,CAAC,MAAM,KAAK,SAAS;oBACjC,CAAC,UAAU,CAAC,MAAM;oBAClB,CAAC,qBAAqB,CAAC,MAAM;oBAC7B,YAAY,CAAC,MAAM,KAAK,SAAS,EACjC,CAAC;oBAED,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;gBACrC,CAAC;gBAGD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAAC;oBAClD,IAAI,EAAE,UAAU,CAAC,MAAM;oBACvB,OAAO,EAAE,aAAa,CAAC,MAAM,IAAI,GAAG;oBACpC,OAAO;oBACP,iBAAiB,EAAE,YAAY;oBAC/B,eAAe,EAAE,qBAAqB,CAAC,MAAM;iBAC9C,CAAC,CAAA;gBAEF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,SAAS,CAAA;gBAClB,CAAC;gBAED,OAAO;oBACL,IAAI,EAAE,UAAU,CAAC,MAAM;oBACvB,MAAM;oBACN,cAAc,EAAE,oBAAoB,CAAC,MAAM;oBAC3C,KAAK,EAAE,YAAY,CAAC,MAAM;oBAC1B,OAAO,EAAE,aAAa,CAAC,MAAM,IAAI,GAAG;iBACrC,CAAA;YACH,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC;QAED,MAAM,CACJ,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACd,GAAG,CAAC,MAAM,OAAO,CAAC,UAAU,CAC3B,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzB,IAAA,gDAAqB,EAAC,MAAM,EAAE,sBAAY,EAAE,cAAc,EAAE,IAAI,CAAC,CAClE,CACF,CAMA,CAAA;QAED,IACE,UAAU,CAAC,MAAM,KAAK,WAAW;YACjC,qBAAqB,CAAC,MAAM,KAAK,WAAW;YAC5C,YAAY,CAAC,MAAM,KAAK,WAAW,EACnC,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAA;QAC7B,MAAM,OAAO,GACX,aAAa,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA;QAGlE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,uBAAuB,CAAC;YAClD,IAAI;YACJ,OAAO;YACP,OAAO;YACP,iBAAiB,EAAE,YAAY;YAC/B,eAAe,EAAE,qBAAqB,CAAC,KAAK;SAC7C,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO;YACL,IAAI;YACJ,MAAM;YACN,cAAc,EACZ,oBAAoB,CAAC,MAAM,KAAK,WAAW;gBACzC,CAAC,CAAC,oBAAoB,CAAC,KAAK;gBAC5B,CAAC,CAAC,SAAS;YACf,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,OAAO;SACR,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA;AAUM,MAAM,eAAe,GAAG,KAAK,EAClC,MAAc,EACd,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAyB,EACjC,EAAE;IAEzC,MAAM,aAAa,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IACzE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAA;IAClB,CAAC;IAID,IAAI,YAAY,CAAC,cAAc,KAAK,uCAAwB,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;IAE3E,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,MAAM,CAAC,OAAQ,CAAC,OAAO;QAC9B,OAAO,EAAE,cAAc;QACvB,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE;QACxB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE;QACpC,QAAQ;KACT,CAAA;IAED,OAAO;QACL,WAAW,EAAE,QAAQ;QACrB,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,KAAK,EAAE,2BAAY;QACnB,OAAO;KACR,CAAA;AACH,CAAC,CAAA;AArCY,QAAA,eAAe,mBAqC3B"}
|
|
@@ -4,6 +4,7 @@ exports.getJitoConnections = exports.getSolanaConnections = void 0;
|
|
|
4
4
|
exports.callSolanaWithRetry = callSolanaWithRetry;
|
|
5
5
|
const types_1 = require("@lifi/types");
|
|
6
6
|
const web3_js_1 = require("@solana/web3.js");
|
|
7
|
+
const config_js_1 = require("../../config.js");
|
|
7
8
|
const rpc_js_1 = require("../rpc.js");
|
|
8
9
|
const JitoConnection_js_1 = require("./jito/JitoConnection.js");
|
|
9
10
|
const connections = new Map();
|
|
@@ -11,7 +12,9 @@ const ensureConnections = async () => {
|
|
|
11
12
|
const rpcUrls = await (0, rpc_js_1.getRpcUrls)(types_1.ChainId.SOL);
|
|
12
13
|
for (const rpcUrl of rpcUrls) {
|
|
13
14
|
if (!connections.get(rpcUrl)) {
|
|
14
|
-
const
|
|
15
|
+
const isJitoConnection = Boolean(config_js_1.config.get().routeOptions?.jitoBundle) &&
|
|
16
|
+
(await JitoConnection_js_1.JitoConnection.isJitoRpc(rpcUrl));
|
|
17
|
+
const connection = isJitoConnection
|
|
15
18
|
? new JitoConnection_js_1.JitoConnection(rpcUrl)
|
|
16
19
|
: new web3_js_1.Connection(rpcUrl);
|
|
17
20
|
connections.set(rpcUrl, connection);
|
|
@@ -29,9 +32,9 @@ const getJitoConnections = async () => {
|
|
|
29
32
|
};
|
|
30
33
|
exports.getJitoConnections = getJitoConnections;
|
|
31
34
|
async function callSolanaWithRetry(fn) {
|
|
32
|
-
await
|
|
35
|
+
const solanaConnections = await (0, exports.getSolanaConnections)();
|
|
33
36
|
let lastError = null;
|
|
34
|
-
for (const connection of
|
|
37
|
+
for (const connection of solanaConnections) {
|
|
35
38
|
try {
|
|
36
39
|
const result = await fn(connection);
|
|
37
40
|
return result;
|
|
@@ -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":";;;AA0DA,kDAeC;AAzED,uCAAqC;AACrC,6CAA4C;AAC5C,+CAAwC;AACxC,sCAAsC;AACtC,gEAAyD;AAEzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuC,CAAA;AAMlE,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IAClD,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,gBAAgB,GACpB,OAAO,CAAC,kBAAM,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;gBAC9C,CAAC,MAAM,kCAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;YAE1C,MAAM,UAAU,GAAG,gBAAgB;gBACjC,CAAC,CAAC,IAAI,kCAAc,CAAC,MAAM,CAAC;gBAC5B,CAAC,CAAC,IAAI,oBAAU,CAAC,MAAM,CAAC,CAAA;YAE1B,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAOM,MAAM,oBAAoB,GAAG,KAAK,IAA2B,EAAE;IACpE,MAAM,iBAAiB,EAAE,CAAA;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,IAAI,EAAsB,EAAE,CAC3B,IAAI,YAAY,oBAAU,IAAI,CAAC,CAAC,IAAI,YAAY,kCAAc,CAAC,CAClE,CAAA;AACH,CAAC,CAAA;AANY,QAAA,oBAAoB,wBAMhC;AAMM,MAAM,kBAAkB,GAAG,KAAK,IAA+B,EAAE;IACtE,MAAM,iBAAiB,EAAE,CAAA;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,IAAI,EAA0B,EAAE,CAAC,IAAI,YAAY,kCAAc,CACjE,CAAA;AACH,CAAC,CAAA;AALY,QAAA,kBAAkB,sBAK9B;AAOM,KAAK,UAAU,mBAAmB,CACvC,EAA0C;IAE1C,MAAM,iBAAiB,GAAG,MAAM,IAAA,4BAAoB,GAAE,CAAA;IACtD,IAAI,SAAS,GAAQ,IAAI,CAAA;IACzB,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAC3C,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,IAAI,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;AACrE,CAAC"}
|
package/src/_cjs/version.js
CHANGED
|
@@ -4,6 +4,15 @@ import { eip2612Abi } from '../abi.js';
|
|
|
4
4
|
import { getActionWithFallback } from '../getActionWithFallback.js';
|
|
5
5
|
import { getMulticallAddress, isDelegationDesignatorCode } from '../utils.js';
|
|
6
6
|
import { DAI_LIKE_PERMIT_TYPEHASH, EIP712_DOMAIN_TYPEHASH, EIP712_DOMAIN_TYPEHASH_WITH_SALT, eip2612Types, } from './constants.js';
|
|
7
|
+
/**
|
|
8
|
+
* Blocklist of EIP-7702 delegation addresses that should not use native permits
|
|
9
|
+
* These delegations may have incompatibilities or security concerns with permit signatures
|
|
10
|
+
* Addresses should be lowercase without 0x prefix for case-insensitive matching
|
|
11
|
+
*/
|
|
12
|
+
const EIP7702_DELEGATION_BLOCKLIST = [
|
|
13
|
+
// OKX delegation isn't compatible at this moment
|
|
14
|
+
'36d3CBD83961868398d056EfBf50f5CE15528c0D',
|
|
15
|
+
];
|
|
7
16
|
function makeDomainSeparator({ name, version, chainId, verifyingContract, withSalt = false, }) {
|
|
8
17
|
const nameHash = keccak256(toBytes(name));
|
|
9
18
|
const versionHash = keccak256(toBytes(version));
|
|
@@ -67,7 +76,7 @@ function validateDomainSeparator({ name, version, chainId, verifyingContract, do
|
|
|
67
76
|
* Checks if the account can use native permits based on its code.
|
|
68
77
|
* Returns true if:
|
|
69
78
|
* 1. Account has no code (EOA)
|
|
70
|
-
* 2. Account is EOA and has EIP-7702 delegation designator code
|
|
79
|
+
* 2. Account is EOA and has EIP-7702 delegation designator code (and not in blocklist)
|
|
71
80
|
*
|
|
72
81
|
* @param client - The Viem client instance
|
|
73
82
|
* @returns Promise<boolean> - Whether the account can use native permits
|
|
@@ -81,8 +90,14 @@ const canAccountUseNativePermits = async (client) => {
|
|
|
81
90
|
if (!accountCode || accountCode === '0x') {
|
|
82
91
|
return true;
|
|
83
92
|
}
|
|
84
|
-
// If has code but it's EIP-7702 delegation designator -
|
|
93
|
+
// If has code but it's EIP-7702 delegation designator - check blocklist
|
|
85
94
|
if (isDelegationDesignatorCode(accountCode)) {
|
|
95
|
+
// Check if the code contains any blocklisted delegation address
|
|
96
|
+
const codeLC = accountCode.toLowerCase();
|
|
97
|
+
const isBlocked = EIP7702_DELEGATION_BLOCKLIST.some((blockedAddress) => codeLC.includes(blockedAddress.toLowerCase()));
|
|
98
|
+
if (isBlocked) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
86
101
|
return true;
|
|
87
102
|
}
|
|
88
103
|
// If has code but not EIP-7702 delegation - cannot use native permits
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNativePermit.js","sourceRoot":"","sources":["../../../../core/EVM/permits/getNativePermit.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,GAAG,EACH,kBAAkB,EAClB,OAAO,EACP,KAAK,EACL,QAAQ,GACT,MAAM,MAAM,CAAA;AACb,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,gCAAgC,EAChC,YAAY,GACb,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"getNativePermit.js","sourceRoot":"","sources":["../../../../core/EVM/permits/getNativePermit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChainId } from '@lifi/types';
|
|
2
2
|
import { Connection } from '@solana/web3.js';
|
|
3
|
+
import { config } from '../../config.js';
|
|
3
4
|
import { getRpcUrls } from '../rpc.js';
|
|
4
5
|
import { JitoConnection } from './jito/JitoConnection.js';
|
|
5
6
|
const connections = new Map();
|
|
@@ -11,7 +12,9 @@ const ensureConnections = async () => {
|
|
|
11
12
|
const rpcUrls = await getRpcUrls(ChainId.SOL);
|
|
12
13
|
for (const rpcUrl of rpcUrls) {
|
|
13
14
|
if (!connections.get(rpcUrl)) {
|
|
14
|
-
const
|
|
15
|
+
const isJitoConnection = Boolean(config.get().routeOptions?.jitoBundle) &&
|
|
16
|
+
(await JitoConnection.isJitoRpc(rpcUrl));
|
|
17
|
+
const connection = isJitoConnection
|
|
15
18
|
? new JitoConnection(rpcUrl)
|
|
16
19
|
: new Connection(rpcUrl);
|
|
17
20
|
connections.set(rpcUrl, connection);
|
|
@@ -41,10 +44,9 @@ export const getJitoConnections = async () => {
|
|
|
41
44
|
* @returns - The result of the function call.
|
|
42
45
|
*/
|
|
43
46
|
export async function callSolanaWithRetry(fn) {
|
|
44
|
-
|
|
45
|
-
await ensureConnections();
|
|
47
|
+
const solanaConnections = await getSolanaConnections();
|
|
46
48
|
let lastError = null;
|
|
47
|
-
for (const connection of
|
|
49
|
+
for (const connection of solanaConnections) {
|
|
48
50
|
try {
|
|
49
51
|
const result = await fn(connection);
|
|
50
52
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../core/Solana/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuC,CAAA;AAElE;;;GAGG;AACH,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IAClD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,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,
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../core/Solana/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuC,CAAA;AAElE;;;GAGG;AACH,MAAM,iBAAiB,GAAG,KAAK,IAAmB,EAAE;IAClD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,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,gBAAgB,GACpB,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;gBAC9C,CAAC,MAAM,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;YAE1C,MAAM,UAAU,GAAG,gBAAgB;gBACjC,CAAC,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC;gBAC5B,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;YAE1B,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAA2B,EAAE;IACpE,MAAM,iBAAiB,EAAE,CAAA;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,IAAI,EAAsB,EAAE,CAC3B,IAAI,YAAY,UAAU,IAAI,CAAC,CAAC,IAAI,YAAY,cAAc,CAAC,CAClE,CAAA;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,IAA+B,EAAE;IACtE,MAAM,iBAAiB,EAAE,CAAA;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,IAAI,EAA0B,EAAE,CAAC,IAAI,YAAY,cAAc,CACjE,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAA0C;IAE1C,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,EAAE,CAAA;IACtD,IAAI,SAAS,GAAQ,IAAI,CAAA;IACzB,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QAC3C,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;IACD,mCAAmC;IACnC,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;AACrE,CAAC"}
|
package/src/_esm/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNativePermit.d.ts","sourceRoot":"","sources":["../../../../core/EVM/permits/getNativePermit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAwB,MAAM,MAAM,CAAA;AAoBjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"getNativePermit.d.ts","sourceRoot":"","sources":["../../../../core/EVM/permits/getNativePermit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAwB,MAAM,MAAM,CAAA;AAoBjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAYlD,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,OAAO,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AA8bD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,mDAAmD,qBAAqB,KACvE,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAkCtC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../core/Solana/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../core/Solana/connection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAyBzD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAa,OAAO,CAAC,UAAU,EAAE,CAMjE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,cAAc,EAAE,CAKnE,CAAA;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,CAAC,CAAC,CAaZ"}
|
package/src/_types/version.d.ts
CHANGED
|
@@ -20,6 +20,16 @@ import {
|
|
|
20
20
|
} from './constants.js'
|
|
21
21
|
import type { NativePermitData } from './types.js'
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Blocklist of EIP-7702 delegation addresses that should not use native permits
|
|
25
|
+
* These delegations may have incompatibilities or security concerns with permit signatures
|
|
26
|
+
* Addresses should be lowercase without 0x prefix for case-insensitive matching
|
|
27
|
+
*/
|
|
28
|
+
const EIP7702_DELEGATION_BLOCKLIST: string[] = [
|
|
29
|
+
// OKX delegation isn't compatible at this moment
|
|
30
|
+
'36d3CBD83961868398d056EfBf50f5CE15528c0D',
|
|
31
|
+
]
|
|
32
|
+
|
|
23
33
|
type GetNativePermitParams = {
|
|
24
34
|
chainId: number
|
|
25
35
|
tokenAddress: Address
|
|
@@ -126,7 +136,7 @@ function validateDomainSeparator({
|
|
|
126
136
|
* Checks if the account can use native permits based on its code.
|
|
127
137
|
* Returns true if:
|
|
128
138
|
* 1. Account has no code (EOA)
|
|
129
|
-
* 2. Account is EOA and has EIP-7702 delegation designator code
|
|
139
|
+
* 2. Account is EOA and has EIP-7702 delegation designator code (and not in blocklist)
|
|
130
140
|
*
|
|
131
141
|
* @param client - The Viem client instance
|
|
132
142
|
* @returns Promise<boolean> - Whether the account can use native permits
|
|
@@ -147,8 +157,17 @@ const canAccountUseNativePermits = async (client: Client): Promise<boolean> => {
|
|
|
147
157
|
return true
|
|
148
158
|
}
|
|
149
159
|
|
|
150
|
-
// If has code but it's EIP-7702 delegation designator -
|
|
160
|
+
// If has code but it's EIP-7702 delegation designator - check blocklist
|
|
151
161
|
if (isDelegationDesignatorCode(accountCode)) {
|
|
162
|
+
// Check if the code contains any blocklisted delegation address
|
|
163
|
+
const codeLC = accountCode.toLowerCase()
|
|
164
|
+
const isBlocked = EIP7702_DELEGATION_BLOCKLIST.some(
|
|
165
|
+
(blockedAddress: string) =>
|
|
166
|
+
codeLC.includes(blockedAddress.toLowerCase())
|
|
167
|
+
)
|
|
168
|
+
if (isBlocked) {
|
|
169
|
+
return false
|
|
170
|
+
}
|
|
152
171
|
return true
|
|
153
172
|
}
|
|
154
173
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChainId } from '@lifi/types'
|
|
2
2
|
import { Connection } from '@solana/web3.js'
|
|
3
|
+
import { config } from '../../config.js'
|
|
3
4
|
import { getRpcUrls } from '../rpc.js'
|
|
4
5
|
import { JitoConnection } from './jito/JitoConnection.js'
|
|
5
6
|
|
|
@@ -13,9 +14,14 @@ const ensureConnections = async (): Promise<void> => {
|
|
|
13
14
|
const rpcUrls = await getRpcUrls(ChainId.SOL)
|
|
14
15
|
for (const rpcUrl of rpcUrls) {
|
|
15
16
|
if (!connections.get(rpcUrl)) {
|
|
16
|
-
const
|
|
17
|
+
const isJitoConnection =
|
|
18
|
+
Boolean(config.get().routeOptions?.jitoBundle) &&
|
|
19
|
+
(await JitoConnection.isJitoRpc(rpcUrl))
|
|
20
|
+
|
|
21
|
+
const connection = isJitoConnection
|
|
17
22
|
? new JitoConnection(rpcUrl)
|
|
18
23
|
: new Connection(rpcUrl)
|
|
24
|
+
|
|
19
25
|
connections.set(rpcUrl, connection)
|
|
20
26
|
}
|
|
21
27
|
}
|
|
@@ -53,10 +59,9 @@ export const getJitoConnections = async (): Promise<JitoConnection[]> => {
|
|
|
53
59
|
export async function callSolanaWithRetry<R>(
|
|
54
60
|
fn: (connection: Connection) => Promise<R>
|
|
55
61
|
): Promise<R> {
|
|
56
|
-
|
|
57
|
-
await ensureConnections()
|
|
62
|
+
const solanaConnections = await getSolanaConnections()
|
|
58
63
|
let lastError: any = null
|
|
59
|
-
for (const connection of
|
|
64
|
+
for (const connection of solanaConnections) {
|
|
60
65
|
try {
|
|
61
66
|
const result = await fn(connection)
|
|
62
67
|
return result
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/sdk'
|
|
2
|
-
export const version = '3.15.
|
|
2
|
+
export const version = '3.15.7'
|