@across-protocol/sdk 4.4.10 → 4.4.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/providers/retryProvider.js +9 -7
- package/dist/cjs/src/providers/retryProvider.js.map +1 -1
- package/dist/cjs/src/providers/solana/utils.js +2 -1
- package/dist/cjs/src/providers/solana/utils.js.map +1 -1
- package/dist/cjs/src/providers/utils.d.ts +1 -0
- package/dist/cjs/src/providers/utils.js +27 -0
- package/dist/cjs/src/providers/utils.js.map +1 -1
- package/dist/esm/src/providers/retryProvider.js +15 -10
- package/dist/esm/src/providers/retryProvider.js.map +1 -1
- package/dist/esm/src/providers/solana/utils.d.ts +2 -1
- package/dist/esm/src/providers/solana/utils.js +4 -3
- package/dist/esm/src/providers/solana/utils.js.map +1 -1
- package/dist/esm/src/providers/utils.d.ts +12 -0
- package/dist/esm/src/providers/utils.js +43 -0
- package/dist/esm/src/providers/utils.js.map +1 -1
- package/dist/types/src/providers/retryProvider.d.ts.map +1 -1
- package/dist/types/src/providers/solana/utils.d.ts +2 -1
- package/dist/types/src/providers/solana/utils.d.ts.map +1 -1
- package/dist/types/src/providers/utils.d.ts +12 -0
- package/dist/types/src/providers/utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/providers/retryProvider.ts +27 -10
- package/src/providers/solana/utils.ts +4 -3
- package/src/providers/utils.ts +49 -0
|
@@ -49,7 +49,7 @@ class RetryProvider extends ethers_1.ethers.providers.StaticJsonRpcProvider {
|
|
|
49
49
|
return this._trySend(provider, method, params)
|
|
50
50
|
.then((result) => [provider, result])
|
|
51
51
|
.catch((err) => {
|
|
52
|
-
errors.push([provider,
|
|
52
|
+
errors.push([provider, (0, utils_2.summarizeProviderError)(err)]);
|
|
53
53
|
if (fallbackProviders.length === 0) {
|
|
54
54
|
throw err;
|
|
55
55
|
}
|
|
@@ -72,7 +72,7 @@ class RetryProvider extends ethers_1.ethers.providers.StaticJsonRpcProvider {
|
|
|
72
72
|
if (values.slice(1).every(([, output]) => (0, utils_2.compareRpcResults)(method, values[0][1], output))) {
|
|
73
73
|
return values[0][1];
|
|
74
74
|
}
|
|
75
|
-
const getMismatchedProviders = (values) => {
|
|
75
|
+
const getMismatchedProviders = (quorumResult, values) => {
|
|
76
76
|
return values
|
|
77
77
|
.filter(([, result]) => !(0, utils_2.compareRpcResults)(method, result, quorumResult))
|
|
78
78
|
.map(([provider]) => (0, NetworkUtils_1.getOriginFromURL)(provider.connection.url));
|
|
@@ -89,10 +89,12 @@ class RetryProvider extends ethers_1.ethers.providers.StaticJsonRpcProvider {
|
|
|
89
89
|
erroringProviders: errors.map(([provider, errorText]) => (0, utils_2.formatProviderError)(provider, errorText)),
|
|
90
90
|
});
|
|
91
91
|
};
|
|
92
|
-
const throwQuorumError = (
|
|
92
|
+
const throwQuorumError = (quorum) => {
|
|
93
93
|
const errorTexts = errors.map(([provider, errorText]) => (0, utils_2.formatProviderError)(provider, errorText));
|
|
94
94
|
const successfulProviderUrls = values.map(([provider]) => (0, NetworkUtils_1.getOriginFromURL)(provider.connection.url));
|
|
95
|
-
const mismatchedProviders =
|
|
95
|
+
const mismatchedProviders = quorum
|
|
96
|
+
? getMismatchedProviders(quorum.quorumResult, [...values, ...quorum.fallbackValues])
|
|
97
|
+
: [];
|
|
96
98
|
logQuorumMismatchOrFailureDetails(method, params, successfulProviderUrls, mismatchedProviders, errors);
|
|
97
99
|
throw new Error("Not enough providers agreed to meet quorum.\n" +
|
|
98
100
|
"Providers that errored:\n" +
|
|
@@ -106,7 +108,7 @@ class RetryProvider extends ethers_1.ethers.providers.StaticJsonRpcProvider {
|
|
|
106
108
|
const fallbackResults = await Promise.allSettled(fallbackProviders.map((provider) => this._trySend(provider, method, params)
|
|
107
109
|
.then((result) => [provider, result])
|
|
108
110
|
.catch((err) => {
|
|
109
|
-
errors.push([provider,
|
|
111
|
+
errors.push([provider, (0, utils_2.summarizeProviderError)(err)]);
|
|
110
112
|
throw new Error("No fallbacks during quorum search");
|
|
111
113
|
})));
|
|
112
114
|
const fallbackValues = fallbackResults.filter(utils_1.isPromiseFulfilled).map((promise) => promise.value);
|
|
@@ -124,9 +126,9 @@ class RetryProvider extends ethers_1.ethers.providers.StaticJsonRpcProvider {
|
|
|
124
126
|
counts.sort(([, a], [, b]) => b - a);
|
|
125
127
|
const [quorumResult, count] = counts[0];
|
|
126
128
|
if (count < quorumThreshold) {
|
|
127
|
-
throwQuorumError(fallbackValues);
|
|
129
|
+
throwQuorumError({ quorumResult, fallbackValues });
|
|
128
130
|
}
|
|
129
|
-
const mismatchedProviders = getMismatchedProviders([...values, ...fallbackValues]);
|
|
131
|
+
const mismatchedProviders = getMismatchedProviders(quorumResult, [...values, ...fallbackValues]);
|
|
130
132
|
const quorumProviders = [...values, ...fallbackValues]
|
|
131
133
|
.filter(([, result]) => (0, utils_2.compareRpcResults)(method, result, quorumResult))
|
|
132
134
|
.map(([provider]) => (0, NetworkUtils_1.getOriginFromURL)(provider.connection.url));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retryProvider.js","sourceRoot":"","sources":["../../../../src/providers/retryProvider.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,4CAAyC;AACzC,oCAAmF;AACnF,wDAAyD;AACzD,qDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"retryProvider.js","sourceRoot":"","sources":["../../../../src/providers/retryProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,13 +4,14 @@ exports.formatRpcError = formatRpcError;
|
|
|
4
4
|
exports.shouldFailImmediate = shouldFailImmediate;
|
|
5
5
|
exports.isChainWideFailure = isChainWideFailure;
|
|
6
6
|
const svm_1 = require("../../arch/svm");
|
|
7
|
+
const utils_1 = require("../utils");
|
|
7
8
|
function formatRpcError(error) {
|
|
8
9
|
if ((0, svm_1.isSolanaError)(error)) {
|
|
9
10
|
const { __code: code, __serverMessage: serverMessage } = error.context;
|
|
10
11
|
const message = serverMessage ?? error.message ?? "";
|
|
11
12
|
return `SolanaError [${code}]: ${message}`;
|
|
12
13
|
}
|
|
13
|
-
return
|
|
14
|
+
return (0, utils_1.summarizeProviderError)(error);
|
|
14
15
|
}
|
|
15
16
|
function shouldFailImmediate(method, error) {
|
|
16
17
|
if (!(0, svm_1.isSolanaError)(error)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/providers/solana/utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/providers/solana/utils.ts"],"names":[],"mappings":";;AAuEA,wCAOC;AAQD,kDAkBC;AAWD,gDAeC;AAhID,wCAKwB;AACxB,oCAAkD;AA+DlD,SAAgB,cAAc,CAAC,KAAc;IAC3C,IAAI,IAAA,mBAAa,EAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QACvE,MAAM,OAAO,GAAG,aAAa,IAAK,KAA8B,CAAC,OAAO,IAAI,EAAE,CAAC;QAC/E,OAAO,gBAAgB,IAAI,MAAM,OAAO,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAQD,SAAgB,mBAAmB,CAAC,MAAc,EAAE,KAAc;IAChE,IAAI,CAAC,IAAA,mBAAa,EAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IACvC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,cAAc;YAEjB,OAAO,CAAC,sBAAgB,EAAE,wCAAkC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/E,KAAK,iBAAiB;YAEpB,OAAO,IAAI,KAAK,uCAAiC,CAAC;QACpD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAWD,SAAgB,kBAAkB,CAAC,MAAc,EAAE,KAAc;IAC/D,IAAI,CAAC,IAAA,mBAAa,EAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IACvC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,cAAc;YACjB,OAAO,IAAI,KAAK,sBAAgB,CAAC;QACnC,KAAK,iBAAiB;YACpB,OAAO,IAAI,KAAK,uCAAiC,CAAC;QACpD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -11,6 +11,7 @@ export interface RateLimitTask {
|
|
|
11
11
|
}
|
|
12
12
|
export declare function formatProviderError(provider: providers.StaticJsonRpcProvider, rawErrorText: string): string;
|
|
13
13
|
export declare function createSendErrorWithMessage(message: string, sendError: unknown): Error;
|
|
14
|
+
export declare function summarizeProviderError(err: unknown): string;
|
|
14
15
|
export declare function parseJsonRpcError(response: unknown): {
|
|
15
16
|
code: number;
|
|
16
17
|
message: string;
|
|
@@ -7,6 +7,7 @@ exports.compareResultsAndFilterIgnoredKeys = compareResultsAndFilterIgnoredKeys;
|
|
|
7
7
|
exports.compareArrayResultsWithIgnoredKeys = compareArrayResultsWithIgnoredKeys;
|
|
8
8
|
exports.formatProviderError = formatProviderError;
|
|
9
9
|
exports.createSendErrorWithMessage = createSendErrorWithMessage;
|
|
10
|
+
exports.summarizeProviderError = summarizeProviderError;
|
|
10
11
|
exports.parseJsonRpcError = parseJsonRpcError;
|
|
11
12
|
exports.compareRpcResults = compareRpcResults;
|
|
12
13
|
exports.compareSvmRpcResults = compareSvmRpcResults;
|
|
@@ -77,6 +78,32 @@ function formatProviderError(provider, rawErrorText) {
|
|
|
77
78
|
function createSendErrorWithMessage(message, sendError) {
|
|
78
79
|
return new Error(message, { cause: sendError });
|
|
79
80
|
}
|
|
81
|
+
function summarizeProviderError(err) {
|
|
82
|
+
if (err === null || err === undefined) {
|
|
83
|
+
return "unknown error";
|
|
84
|
+
}
|
|
85
|
+
if (typeof err === "string") {
|
|
86
|
+
return err;
|
|
87
|
+
}
|
|
88
|
+
if (typeof err !== "object") {
|
|
89
|
+
return String(err);
|
|
90
|
+
}
|
|
91
|
+
const e = err;
|
|
92
|
+
const rpcError = parseJsonRpcError(err) ?? parseJsonRpcError(e.error);
|
|
93
|
+
if (rpcError?.message) {
|
|
94
|
+
return rpcError.message;
|
|
95
|
+
}
|
|
96
|
+
if (typeof e.reason === "string" && e.reason.length > 0) {
|
|
97
|
+
return e.reason;
|
|
98
|
+
}
|
|
99
|
+
if (e.code === undefined && typeof e.message === "string" && e.message.length > 0) {
|
|
100
|
+
return e.message;
|
|
101
|
+
}
|
|
102
|
+
if (typeof e.code === "string" && e.code.length > 0) {
|
|
103
|
+
return e.code;
|
|
104
|
+
}
|
|
105
|
+
return "unknown error";
|
|
106
|
+
}
|
|
80
107
|
function parseJsonRpcError(response) {
|
|
81
108
|
if (!types_1.RpcError.is(response)) {
|
|
82
109
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/providers/utils.ts"],"names":[],"mappings":";;;AA2BA,kDAEC;AAUD,wBASC;AAmBD,gFAWC;AAED,gFAUC;AAiDD,kDAEC;AAID,gEAEC;AAOD,8CAeC;AAWD,8CAkBC;AAED,oDAEC;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/providers/utils.ts"],"names":[],"mappings":";;;AA2BA,kDAEC;AAUD,wBASC;AAmBD,gFAWC;AAED,gFAUC;AAiDD,kDAEC;AAID,gEAEC;AAaD,wDAoCC;AAOD,8CAeC;AAWD,8CAkBC;AAED,oDAEC;;AA1PD,4DAA4B;AAE5B,mCAAyC;AACzC,oCAAuD;AACvD,mCAA4E;AAC5E,2DAAqC;AACrC,yDAAmC;AACnC,qDAA+B;AAC/B,+DAAyC;AAKzC,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,OAAO,CAAC,MAAM;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,IAAI,EAAE,IAAI,CAAC,MAAM;IACjB,SAAS,EAAE,SAAS,CAAC,MAAM;CAC5B,CAAC;AAOF,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnD,CAAC;AAUD,SAAgB,MAAM,CACpB,QAAqB,EACrB,OAAe,EACf,MAAc,EACd,YAA0B,OAAO;IAEjC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAA,gBAAM,EAAC,MAAM,EAAE,6BAA6B,QAAQ,GAAG,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAQD,SAAS,iBAAiB,CAAC,WAAqB,EAAE,GAA4B;IAC5E,IAAI,CAAC,IAAA,iBAAS,EAAC,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,kCAAkC,CAChD,WAAqB,EACrB,KAA8B,EAC9B,KAA8B;IAG9B,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAGxD,OAAO,IAAA,gBAAO,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,kCAAkC,CAAC,WAAqB,EAAE,IAAe,EAAE,IAAe;IAExG,MAAM,SAAS,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAA8B,CAAC,CAAC,CAAC;IACrG,MAAM,SAAS,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAA8B,CAAC,CAAC,CAAC;IAGrG,MAAM,QAAQ,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAClD,OAAO,CACL,IAAA,iBAAS,EAAC,SAAS,CAAC,IAAI,IAAA,iBAAS,EAAC,SAAS,CAAC,IAAI,IAAA,gBAAO,EAAC,IAAA,eAAM,EAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAA,eAAM,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAClH,CAAC;AACJ,CAAC;AAMD,MAAM,cAAc,GAAG;IAQrB,oBAAoB,EAAE;QACpB,OAAO;QACP,eAAe;QACf,kBAAkB;QAClB,cAAc;QACd,MAAM;QACN,iBAAiB;QACjB,WAAW;QACX,cAAc;QACd,aAAa;QACb,WAAW;QACX,UAAU;KACX;IACD,WAAW,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,eAAe,EAAE,SAAS,CAAC;CACnF,CAAC;AAqBF,SAAgB,mBAAmB,CAAC,QAAyC,EAAE,YAAoB;IACjG,OAAO,YAAY,IAAA,wBAAgB,EAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,uBAAuB,YAAY,EAAE,CAAC;AACpG,CAAC;AAID,SAAgB,0BAA0B,CAAC,OAAe,EAAE,SAAkB;IAC5E,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;AAClD,CAAC;AAaD,SAAgB,sBAAsB,CAAC,GAAY;IACjD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,CAAC,GAAG,GAA4E,CAAC;IAIvF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtE,IAAI,QAAQ,EAAE,OAAO,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAID,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IAID,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClF,OAAO,CAAC,CAAC,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,CAAC,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAOD,SAAgB,iBAAiB,CAAC,QAAiB;IACjD,IAAI,CAAC,gBAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,oBAAY,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO;AACT,CAAC;AAWD,SAAgB,iBAAiB,CAAC,MAAc,EAAE,UAAmB,EAAE,UAAmB;IACxF,IAAI,MAAM,KAAK,sBAAsB,EAAE,CAAC;QAGtC,OAAO,kCAAkC,CACvC,cAAc,CAAC,oBAAoB,EACnC,UAAqC,EACrC,UAAqC,CACtC,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,kCAAkC,CACvC,cAAc,CAAC,WAAW,EAC1B,UAAuB,EACvB,UAAuB,CACxB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,IAAA,gBAAO,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAe,EAAE,UAAmB,EAAE,UAAmB;IAC5F,OAAO,IAAA,gBAAO,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,yCAAI,CAAA;IACJ,iDAAQ,CAAA;IACR,6CAAM,CAAA;IACN,yEAAoB,CAAA;AACtB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB"}
|
|
@@ -3,7 +3,7 @@ import { CHAIN_IDs } from "../constants";
|
|
|
3
3
|
import { delay, isDefined, isPromiseFulfilled, isPromiseRejected } from "../utils";
|
|
4
4
|
import { getOriginFromURL } from "../utils/NetworkUtils";
|
|
5
5
|
import { CacheProvider } from "./cachedProvider";
|
|
6
|
-
import { compareRpcResults, createSendErrorWithMessage, formatProviderError, parseJsonRpcError } from "./utils";
|
|
6
|
+
import { compareRpcResults, createSendErrorWithMessage, formatProviderError, parseJsonRpcError, summarizeProviderError, } from "./utils";
|
|
7
7
|
import { PROVIDER_CACHE_TTL } from "./constants";
|
|
8
8
|
export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
9
9
|
nodeQuorumThreshold;
|
|
@@ -52,9 +52,11 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
|
52
52
|
return this._trySend(provider, method, params)
|
|
53
53
|
.then((result) => [provider, result])
|
|
54
54
|
.catch((err) => {
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
|
|
55
|
+
// Record a short, log-safe summary of the failure. We intentionally do not retain
|
|
56
|
+
// `err.stack` / `err.toString()` here: for ethers transport errors those embed the
|
|
57
|
+
// failed RPC URL (including its API key) and a multi-line stack trace, which then
|
|
58
|
+
// get concatenated into the aggregate error message and surfaced to logs.
|
|
59
|
+
errors.push([provider, summarizeProviderError(err)]);
|
|
58
60
|
// If there are no new fallback providers to use, terminate the recursion by throwing an error.
|
|
59
61
|
// Otherwise, we can try to call another provider.
|
|
60
62
|
if (fallbackProviders.length === 0) {
|
|
@@ -87,7 +89,7 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
|
87
89
|
if (values.slice(1).every(([, output]) => compareRpcResults(method, values[0][1], output))) {
|
|
88
90
|
return values[0][1];
|
|
89
91
|
}
|
|
90
|
-
const getMismatchedProviders = (values) => {
|
|
92
|
+
const getMismatchedProviders = (quorumResult, values) => {
|
|
91
93
|
return values
|
|
92
94
|
.filter(([, result]) => !compareRpcResults(method, result, quorumResult))
|
|
93
95
|
.map(([provider]) => getOriginFromURL(provider.connection.url));
|
|
@@ -104,10 +106,13 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
|
104
106
|
erroringProviders: errors.map(([provider, errorText]) => formatProviderError(provider, errorText)),
|
|
105
107
|
});
|
|
106
108
|
};
|
|
107
|
-
const throwQuorumError = (
|
|
109
|
+
const throwQuorumError = (quorum) => {
|
|
108
110
|
const errorTexts = errors.map(([provider, errorText]) => formatProviderError(provider, errorText));
|
|
109
111
|
const successfulProviderUrls = values.map(([provider]) => getOriginFromURL(provider.connection.url));
|
|
110
|
-
|
|
112
|
+
// On the early-exit path (no fallback providers left) no quorum result exists to compare mismatches against.
|
|
113
|
+
const mismatchedProviders = quorum
|
|
114
|
+
? getMismatchedProviders(quorum.quorumResult, [...values, ...quorum.fallbackValues])
|
|
115
|
+
: [];
|
|
111
116
|
logQuorumMismatchOrFailureDetails(method, params, successfulProviderUrls, mismatchedProviders, errors);
|
|
112
117
|
throw new Error("Not enough providers agreed to meet quorum.\n" +
|
|
113
118
|
"Providers that errored:\n" +
|
|
@@ -123,7 +128,7 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
|
123
128
|
const fallbackResults = await Promise.allSettled(fallbackProviders.map((provider) => this._trySend(provider, method, params)
|
|
124
129
|
.then((result) => [provider, result])
|
|
125
130
|
.catch((err) => {
|
|
126
|
-
errors.push([provider, err
|
|
131
|
+
errors.push([provider, summarizeProviderError(err)]);
|
|
127
132
|
throw new Error("No fallbacks during quorum search");
|
|
128
133
|
})));
|
|
129
134
|
// This filters only the fallbacks that succeeded.
|
|
@@ -150,10 +155,10 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
|
150
155
|
const [quorumResult, count] = counts[0];
|
|
151
156
|
// If this count is less than we need for quorum, throw the quorum error.
|
|
152
157
|
if (count < quorumThreshold) {
|
|
153
|
-
throwQuorumError(fallbackValues);
|
|
158
|
+
throwQuorumError({ quorumResult, fallbackValues });
|
|
154
159
|
}
|
|
155
160
|
// If we've achieved quorum, then we should still log the providers that mismatched with the quorum result.
|
|
156
|
-
const mismatchedProviders = getMismatchedProviders([...values, ...fallbackValues]);
|
|
161
|
+
const mismatchedProviders = getMismatchedProviders(quorumResult, [...values, ...fallbackValues]);
|
|
157
162
|
const quorumProviders = [...values, ...fallbackValues]
|
|
158
163
|
.filter(([, result]) => compareRpcResults(method, result, quorumResult))
|
|
159
164
|
.map(([provider]) => getOriginFromURL(provider.connection.url));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retryProvider.js","sourceRoot":"","sources":["../../../../src/providers/retryProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"retryProvider.js","sourceRoot":"","sources":["../../../../src/providers/retryProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,8 @@ export interface JitoInterface extends SolanaRpcApi {
|
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Render an RPC error for log/wrap messages. For SolanaErrors, includes the numeric JSON-RPC
|
|
68
|
-
* code alongside the server message; otherwise falls back to
|
|
68
|
+
* code alongside the server message; otherwise falls back to a short, log-safe summary
|
|
69
|
+
* (`error.stack` / `error.toString()` can embed the failed RPC URL, including its API key).
|
|
69
70
|
*/
|
|
70
71
|
export declare function formatRpcError(error: unknown): string;
|
|
71
72
|
/**
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { isSolanaError, SVM_SLOT_SKIPPED, SVM_LONG_TERM_STORAGE_SLOT_SKIPPED, SVM_TRANSACTION_PREFLIGHT_FAILURE, } from "../../arch/svm";
|
|
2
|
+
import { summarizeProviderError } from "../utils";
|
|
2
3
|
/**
|
|
3
4
|
* Render an RPC error for log/wrap messages. For SolanaErrors, includes the numeric JSON-RPC
|
|
4
|
-
* code alongside the server message; otherwise falls back to
|
|
5
|
+
* code alongside the server message; otherwise falls back to a short, log-safe summary
|
|
6
|
+
* (`error.stack` / `error.toString()` can embed the failed RPC URL, including its API key).
|
|
5
7
|
*/
|
|
6
8
|
export function formatRpcError(error) {
|
|
7
9
|
if (isSolanaError(error)) {
|
|
@@ -9,8 +11,7 @@ export function formatRpcError(error) {
|
|
|
9
11
|
const message = serverMessage ?? error.message ?? "";
|
|
10
12
|
return `SolanaError [${code}]: ${message}`;
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
return error?.stack || error?.toString?.() || String(error);
|
|
14
|
+
return summarizeProviderError(error);
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* Determine whether a Solana RPC error indicates an unrecoverable error that should not be retried.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/providers/solana/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kCAAkC,EAClC,iCAAiC,GAClC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/providers/solana/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kCAAkC,EAClC,iCAAiC,GAClC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AA0DlD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QACvE,MAAM,OAAO,GAAG,aAAa,IAAK,KAA8B,CAAC,OAAO,IAAI,EAAE,CAAC;QAC/E,OAAO,gBAAgB,IAAI,MAAM,OAAO,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,KAAc;IAChE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0EAA0E;IAC1E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IACvC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,cAAc;YACjB,mFAAmF;YACnF,OAAO,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/E,KAAK,iBAAiB;YACpB,iHAAiH;YACjH,OAAO,IAAI,KAAK,iCAAiC,CAAC;QACpD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,KAAc;IAC/D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IACvC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,cAAc;YACjB,OAAO,IAAI,KAAK,gBAAgB,CAAC;QACnC,KAAK,iBAAiB;YACpB,OAAO,IAAI,KAAK,iCAAiC,CAAC;QACpD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
|
|
@@ -33,6 +33,18 @@ export interface RateLimitTask {
|
|
|
33
33
|
*/
|
|
34
34
|
export declare function formatProviderError(provider: providers.StaticJsonRpcProvider, rawErrorText: string): string;
|
|
35
35
|
export declare function createSendErrorWithMessage(message: string, sendError: unknown): Error;
|
|
36
|
+
/**
|
|
37
|
+
* Render a single-line, log-safe summary of a provider error.
|
|
38
|
+
*
|
|
39
|
+
* Prefers the parsed JSON-RPC error message (e.g. `execution reverted: …`),
|
|
40
|
+
* falling back to ethers' short `.reason` and `.code` fields. Avoids
|
|
41
|
+
* `err.message` / `err.stack` for ethers-shaped errors because, at the
|
|
42
|
+
* transport layer, they embed the failed RPC URL with its API key.
|
|
43
|
+
*
|
|
44
|
+
* The original error remains reachable via `error.cause` on the aggregate
|
|
45
|
+
* thrown error, so callers that want full forensic detail still have it.
|
|
46
|
+
*/
|
|
47
|
+
export declare function summarizeProviderError(err: unknown): string;
|
|
36
48
|
/**
|
|
37
49
|
* Validate and parse a possible JSON-RPC error response.
|
|
38
50
|
* @param error An unknown error object received in response to a JSON-RPC request.
|
|
@@ -110,6 +110,49 @@ export function formatProviderError(provider, rawErrorText) {
|
|
|
110
110
|
export function createSendErrorWithMessage(message, sendError) {
|
|
111
111
|
return new Error(message, { cause: sendError });
|
|
112
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Render a single-line, log-safe summary of a provider error.
|
|
115
|
+
*
|
|
116
|
+
* Prefers the parsed JSON-RPC error message (e.g. `execution reverted: …`),
|
|
117
|
+
* falling back to ethers' short `.reason` and `.code` fields. Avoids
|
|
118
|
+
* `err.message` / `err.stack` for ethers-shaped errors because, at the
|
|
119
|
+
* transport layer, they embed the failed RPC URL with its API key.
|
|
120
|
+
*
|
|
121
|
+
* The original error remains reachable via `error.cause` on the aggregate
|
|
122
|
+
* thrown error, so callers that want full forensic detail still have it.
|
|
123
|
+
*/
|
|
124
|
+
export function summarizeProviderError(err) {
|
|
125
|
+
if (err === null || err === undefined) {
|
|
126
|
+
return "unknown error";
|
|
127
|
+
}
|
|
128
|
+
if (typeof err === "string") {
|
|
129
|
+
return err;
|
|
130
|
+
}
|
|
131
|
+
if (typeof err !== "object") {
|
|
132
|
+
return String(err);
|
|
133
|
+
}
|
|
134
|
+
const e = err;
|
|
135
|
+
// Ethers may carry the upstream JSON-RPC body either on the top-level error (SERVER_ERROR shape)
|
|
136
|
+
// or one level down on `err.error`. Surface its `message` if we can parse it.
|
|
137
|
+
const rpcError = parseJsonRpcError(err) ?? parseJsonRpcError(e.error);
|
|
138
|
+
if (rpcError?.message) {
|
|
139
|
+
return rpcError.message;
|
|
140
|
+
}
|
|
141
|
+
// Ethers populates `.reason` with a short, URL-free description ("processing response error",
|
|
142
|
+
// "execution reverted", etc.) — safe to surface.
|
|
143
|
+
if (typeof e.reason === "string" && e.reason.length > 0) {
|
|
144
|
+
return e.reason;
|
|
145
|
+
}
|
|
146
|
+
// Non-ethers errors (no `code` / no `reason`) — fall back to `.message`, which is safe here
|
|
147
|
+
// because there's no transport-layer URL to leak.
|
|
148
|
+
if (e.code === undefined && typeof e.message === "string" && e.message.length > 0) {
|
|
149
|
+
return e.message;
|
|
150
|
+
}
|
|
151
|
+
if (typeof e.code === "string" && e.code.length > 0) {
|
|
152
|
+
return e.code;
|
|
153
|
+
}
|
|
154
|
+
return "unknown error";
|
|
155
|
+
}
|
|
113
156
|
/**
|
|
114
157
|
* Validate and parse a possible JSON-RPC error response.
|
|
115
158
|
* @param error An unknown error object received in response to a JSON-RPC request.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/providers/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/providers/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retryProvider.d.ts","sourceRoot":"","sources":["../../../../src/providers/retryProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"retryProvider.d.ts","sourceRoot":"","sources":["../../../../src/providers/retryProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAa1D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,qBAAa,aAAc,SAAQ,MAAM,CAAC,SAAS,CAAC,qBAAqB;IAKrE,QAAQ,CAAC,mBAAmB,EAAE,MAAM;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM;IAO/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAd1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;gBAE3D,MAAM,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,EAC9E,OAAO,EAAE,MAAM,EACN,mBAAmB,EAAE,MAAM,EAC3B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EAC/B,sBAAsB,EAAE,MAAM,EAC9B,iBAAiB,EAAE,MAAM,EACzB,WAAW,CAAC,EAAE,yBAAyB,EACvC,wBAAwB,CAAC,EAAE,MAAM,EACjC,kBAAkB,CAAC,EAAE,MAAM,EAC3B,gBAAgB,SAAqB,EAC5B,MAAM,CAAC,EAAE,MAAM,YAAA;IA2CX,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAgL7E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IAO1E,gBAAgB,CACpB,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,EAChD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GACrB,OAAO,CAAC,OAAO,CAAC;IAiBnB;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IAgC7D,QAAQ,CACZ,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,EAChD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GACrB,OAAO,CAAC,OAAO,CAAC;IAiBnB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,MAAM;CAqB3D"}
|
|
@@ -65,7 +65,8 @@ export interface JitoInterface extends SolanaRpcApi {
|
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Render an RPC error for log/wrap messages. For SolanaErrors, includes the numeric JSON-RPC
|
|
68
|
-
* code alongside the server message; otherwise falls back to
|
|
68
|
+
* code alongside the server message; otherwise falls back to a short, log-safe summary
|
|
69
|
+
* (`error.stack` / `error.toString()` can embed the failed RPC URL, including its API key).
|
|
69
70
|
*/
|
|
70
71
|
export declare function formatRpcError(error: unknown): string;
|
|
71
72
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/providers/solana/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/providers/solana/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS3C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAElC,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAIlC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,qBAAqB,EAAE,iBAAiB,EAAE,CAAC;IAC3C,oBAAoB,EAAE,iBAAiB,EAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,KAAK,EAAE;QACL,OAAO,EAAE,WAAW,GAAG;YAAE,MAAM,EAAE;gBAAE,KAAK,EAAE;oBAAE,kBAAkB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAA;iBAAE,CAAC;gBAAC,YAAY,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;QACpH,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;KAC9C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAErD,2BAA2B,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;IAC9F,4BAA4B,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CAChG,CAAC;AAGF,MAAM,WAAW,aAAc,SAAQ,YAAY;IAEjD,cAAc,CAAC,YAAY,EAAE;QAAE,mBAAmB,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,sBAAsB,CAAC;CAChH;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOrD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAkB3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAe1E"}
|
|
@@ -33,6 +33,18 @@ export interface RateLimitTask {
|
|
|
33
33
|
*/
|
|
34
34
|
export declare function formatProviderError(provider: providers.StaticJsonRpcProvider, rawErrorText: string): string;
|
|
35
35
|
export declare function createSendErrorWithMessage(message: string, sendError: unknown): Error;
|
|
36
|
+
/**
|
|
37
|
+
* Render a single-line, log-safe summary of a provider error.
|
|
38
|
+
*
|
|
39
|
+
* Prefers the parsed JSON-RPC error message (e.g. `execution reverted: …`),
|
|
40
|
+
* falling back to ethers' short `.reason` and `.code` fields. Avoids
|
|
41
|
+
* `err.message` / `err.stack` for ethers-shaped errors because, at the
|
|
42
|
+
* transport layer, they embed the failed RPC URL with its API key.
|
|
43
|
+
*
|
|
44
|
+
* The original error remains reachable via `error.cause` on the aggregate
|
|
45
|
+
* thrown error, so callers that want full forensic detail still have it.
|
|
46
|
+
*/
|
|
47
|
+
export declare function summarizeProviderError(err: unknown): string;
|
|
36
48
|
/**
|
|
37
49
|
* Validate and parse a possible JSON-RPC error response.
|
|
38
50
|
* @param error An unknown error object received in response to a JSON-RPC request.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/providers/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAA0B,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAiB5E;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,WAAW,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CACpB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,YAAsB,GAChC,MAAM,CAIR;AAmBD,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAOT;AAED,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAUnH;AA8BD;;GAEG;AACH,MAAM,WAAW,aAAa;IAE5B,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAInC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,EAAE,YAAY,EAAE,MAAM,UAElG;AAID,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,KAAK,CAErF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAelH;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAkBnG;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAEvG;AAED,oBAAY,SAAS;IACnB,IAAI,IAAA,CAAE,eAAe;IACrB,QAAQ,IAAA,CAAE,iBAAiB;IAC3B,MAAM,IAAA,CAAE,0BAA0B;IAClC,oBAAoB,IAAA;CACrB"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/providers/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAA0B,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAiB5E;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,WAAW,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CACpB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,YAAsB,GAChC,MAAM,CAIR;AAmBD,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAOT;AAED,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAUnH;AA8BD;;GAEG;AACH,MAAM,WAAW,aAAa;IAE5B,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAInC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,EAAE,YAAY,EAAE,MAAM,UAElG;AAID,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,KAAK,CAErF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAoC3D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,CAelH;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAkBnG;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAEvG;AAED,oBAAY,SAAS;IACnB,IAAI,IAAA,CAAE,eAAe;IACrB,QAAQ,IAAA,CAAE,iBAAiB;IAC3B,MAAM,IAAA,CAAE,0BAA0B;IAClC,oBAAoB,IAAA;CACrB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@across-protocol/sdk",
|
|
3
3
|
"author": "UMA Team",
|
|
4
|
-
"version": "4.4.
|
|
4
|
+
"version": "4.4.12",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"homepage": "https://docs.across.to/reference/sdk",
|
|
7
7
|
"repository": {
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
},
|
|
82
82
|
"dependencies": {
|
|
83
83
|
"@across-protocol/constants": "^3.1.123",
|
|
84
|
-
"@across-protocol/contracts": "5.0.
|
|
84
|
+
"@across-protocol/contracts": "5.0.24",
|
|
85
85
|
"@coral-xyz/anchor": "^0.30.1",
|
|
86
86
|
"@eth-optimism/sdk": "^3.3.1",
|
|
87
87
|
"@ethersproject/bignumber": "^5.7.0",
|
|
@@ -4,7 +4,13 @@ import { CHAIN_IDs } from "../constants";
|
|
|
4
4
|
import { delay, isDefined, isPromiseFulfilled, isPromiseRejected } from "../utils";
|
|
5
5
|
import { getOriginFromURL } from "../utils/NetworkUtils";
|
|
6
6
|
import { CacheProvider } from "./cachedProvider";
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
compareRpcResults,
|
|
9
|
+
createSendErrorWithMessage,
|
|
10
|
+
formatProviderError,
|
|
11
|
+
parseJsonRpcError,
|
|
12
|
+
summarizeProviderError,
|
|
13
|
+
} from "./utils";
|
|
8
14
|
import { PROVIDER_CACHE_TTL } from "./constants";
|
|
9
15
|
import { Logger } from "winston";
|
|
10
16
|
|
|
@@ -82,9 +88,11 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
|
82
88
|
return this._trySend(provider, method, params)
|
|
83
89
|
.then((result): [ethers.providers.StaticJsonRpcProvider, unknown] => [provider, result])
|
|
84
90
|
.catch((err: unknown) => {
|
|
85
|
-
//
|
|
86
|
-
//
|
|
87
|
-
|
|
91
|
+
// Record a short, log-safe summary of the failure. We intentionally do not retain
|
|
92
|
+
// `err.stack` / `err.toString()` here: for ethers transport errors those embed the
|
|
93
|
+
// failed RPC URL (including its API key) and a multi-line stack trace, which then
|
|
94
|
+
// get concatenated into the aggregate error message and surfaced to logs.
|
|
95
|
+
errors.push([provider, summarizeProviderError(err)]);
|
|
88
96
|
|
|
89
97
|
// If there are no new fallback providers to use, terminate the recursion by throwing an error.
|
|
90
98
|
// Otherwise, we can try to call another provider.
|
|
@@ -128,7 +136,10 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
|
128
136
|
return values[0][1];
|
|
129
137
|
}
|
|
130
138
|
|
|
131
|
-
const getMismatchedProviders = (
|
|
139
|
+
const getMismatchedProviders = (
|
|
140
|
+
quorumResult: unknown,
|
|
141
|
+
values: [ethers.providers.StaticJsonRpcProvider, unknown][]
|
|
142
|
+
) => {
|
|
132
143
|
return values
|
|
133
144
|
.filter(([, result]) => !compareRpcResults(method, result, quorumResult))
|
|
134
145
|
.map(([provider]) => getOriginFromURL(provider.connection.url));
|
|
@@ -153,10 +164,16 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
|
153
164
|
});
|
|
154
165
|
};
|
|
155
166
|
|
|
156
|
-
const throwQuorumError = (
|
|
167
|
+
const throwQuorumError = (quorum?: {
|
|
168
|
+
quorumResult: unknown;
|
|
169
|
+
fallbackValues: [ethers.providers.StaticJsonRpcProvider, unknown][];
|
|
170
|
+
}) => {
|
|
157
171
|
const errorTexts = errors.map(([provider, errorText]) => formatProviderError(provider, errorText));
|
|
158
172
|
const successfulProviderUrls = values.map(([provider]) => getOriginFromURL(provider.connection.url));
|
|
159
|
-
|
|
173
|
+
// On the early-exit path (no fallback providers left) no quorum result exists to compare mismatches against.
|
|
174
|
+
const mismatchedProviders = quorum
|
|
175
|
+
? getMismatchedProviders(quorum.quorumResult, [...values, ...quorum.fallbackValues])
|
|
176
|
+
: [];
|
|
160
177
|
logQuorumMismatchOrFailureDetails(method, params, successfulProviderUrls, mismatchedProviders, errors);
|
|
161
178
|
throw new Error(
|
|
162
179
|
"Not enough providers agreed to meet quorum.\n" +
|
|
@@ -178,7 +195,7 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
|
178
195
|
this._trySend(provider, method, params)
|
|
179
196
|
.then((result): [ethers.providers.StaticJsonRpcProvider, unknown] => [provider, result])
|
|
180
197
|
.catch((err) => {
|
|
181
|
-
errors.push([provider, err
|
|
198
|
+
errors.push([provider, summarizeProviderError(err)]);
|
|
182
199
|
throw new Error("No fallbacks during quorum search");
|
|
183
200
|
})
|
|
184
201
|
)
|
|
@@ -216,11 +233,11 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
|
216
233
|
|
|
217
234
|
// If this count is less than we need for quorum, throw the quorum error.
|
|
218
235
|
if (count < quorumThreshold) {
|
|
219
|
-
throwQuorumError(fallbackValues);
|
|
236
|
+
throwQuorumError({ quorumResult, fallbackValues });
|
|
220
237
|
}
|
|
221
238
|
|
|
222
239
|
// If we've achieved quorum, then we should still log the providers that mismatched with the quorum result.
|
|
223
|
-
const mismatchedProviders = getMismatchedProviders([...values, ...fallbackValues]);
|
|
240
|
+
const mismatchedProviders = getMismatchedProviders(quorumResult, [...values, ...fallbackValues]);
|
|
224
241
|
const quorumProviders = [...values, ...fallbackValues]
|
|
225
242
|
.filter(([, result]) => compareRpcResults(method, result, quorumResult))
|
|
226
243
|
.map(([provider]) => getOriginFromURL(provider.connection.url));
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
SVM_LONG_TERM_STORAGE_SLOT_SKIPPED,
|
|
7
7
|
SVM_TRANSACTION_PREFLIGHT_FAILURE,
|
|
8
8
|
} from "../../arch/svm";
|
|
9
|
+
import { summarizeProviderError } from "../utils";
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* This is the type we pass to define a Solana RPC request "task".
|
|
@@ -65,7 +66,8 @@ export interface JitoInterface extends SolanaRpcApi {
|
|
|
65
66
|
|
|
66
67
|
/**
|
|
67
68
|
* Render an RPC error for log/wrap messages. For SolanaErrors, includes the numeric JSON-RPC
|
|
68
|
-
* code alongside the server message; otherwise falls back to
|
|
69
|
+
* code alongside the server message; otherwise falls back to a short, log-safe summary
|
|
70
|
+
* (`error.stack` / `error.toString()` can embed the failed RPC URL, including its API key).
|
|
69
71
|
*/
|
|
70
72
|
export function formatRpcError(error: unknown): string {
|
|
71
73
|
if (isSolanaError(error)) {
|
|
@@ -73,8 +75,7 @@ export function formatRpcError(error: unknown): string {
|
|
|
73
75
|
const message = serverMessage ?? (error as { message?: string }).message ?? "";
|
|
74
76
|
return `SolanaError [${code}]: ${message}`;
|
|
75
77
|
}
|
|
76
|
-
|
|
77
|
-
return (error as any)?.stack || (error as any)?.toString?.() || String(error);
|
|
78
|
+
return summarizeProviderError(error);
|
|
78
79
|
}
|
|
79
80
|
|
|
80
81
|
/**
|
package/src/providers/utils.ts
CHANGED
|
@@ -147,6 +147,55 @@ export function createSendErrorWithMessage(message: string, sendError: unknown):
|
|
|
147
147
|
return new Error(message, { cause: sendError });
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
+
/**
|
|
151
|
+
* Render a single-line, log-safe summary of a provider error.
|
|
152
|
+
*
|
|
153
|
+
* Prefers the parsed JSON-RPC error message (e.g. `execution reverted: …`),
|
|
154
|
+
* falling back to ethers' short `.reason` and `.code` fields. Avoids
|
|
155
|
+
* `err.message` / `err.stack` for ethers-shaped errors because, at the
|
|
156
|
+
* transport layer, they embed the failed RPC URL with its API key.
|
|
157
|
+
*
|
|
158
|
+
* The original error remains reachable via `error.cause` on the aggregate
|
|
159
|
+
* thrown error, so callers that want full forensic detail still have it.
|
|
160
|
+
*/
|
|
161
|
+
export function summarizeProviderError(err: unknown): string {
|
|
162
|
+
if (err === null || err === undefined) {
|
|
163
|
+
return "unknown error";
|
|
164
|
+
}
|
|
165
|
+
if (typeof err === "string") {
|
|
166
|
+
return err;
|
|
167
|
+
}
|
|
168
|
+
if (typeof err !== "object") {
|
|
169
|
+
return String(err);
|
|
170
|
+
}
|
|
171
|
+
const e = err as { error?: unknown; reason?: string; code?: string; message?: string };
|
|
172
|
+
|
|
173
|
+
// Ethers may carry the upstream JSON-RPC body either on the top-level error (SERVER_ERROR shape)
|
|
174
|
+
// or one level down on `err.error`. Surface its `message` if we can parse it.
|
|
175
|
+
const rpcError = parseJsonRpcError(err) ?? parseJsonRpcError(e.error);
|
|
176
|
+
if (rpcError?.message) {
|
|
177
|
+
return rpcError.message;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// Ethers populates `.reason` with a short, URL-free description ("processing response error",
|
|
181
|
+
// "execution reverted", etc.) — safe to surface.
|
|
182
|
+
if (typeof e.reason === "string" && e.reason.length > 0) {
|
|
183
|
+
return e.reason;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// Non-ethers errors (no `code` / no `reason`) — fall back to `.message`, which is safe here
|
|
187
|
+
// because there's no transport-layer URL to leak.
|
|
188
|
+
if (e.code === undefined && typeof e.message === "string" && e.message.length > 0) {
|
|
189
|
+
return e.message;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
if (typeof e.code === "string" && e.code.length > 0) {
|
|
193
|
+
return e.code;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
return "unknown error";
|
|
197
|
+
}
|
|
198
|
+
|
|
150
199
|
/**
|
|
151
200
|
* Validate and parse a possible JSON-RPC error response.
|
|
152
201
|
* @param error An unknown error object received in response to a JSON-RPC request.
|