@across-protocol/sdk 4.3.38 → 4.3.40

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.
Files changed (122) hide show
  1. package/dist/cjs/arch/svm/BlockUtils.d.ts +3 -1
  2. package/dist/cjs/arch/svm/BlockUtils.js +3 -2
  3. package/dist/cjs/arch/svm/BlockUtils.js.map +1 -1
  4. package/dist/cjs/arch/svm/SpokeUtils.d.ts +8 -7
  5. package/dist/cjs/arch/svm/SpokeUtils.js +70 -23
  6. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  7. package/dist/cjs/arch/svm/utils.d.ts +3 -2
  8. package/dist/cjs/arch/svm/utils.js +5 -5
  9. package/dist/cjs/arch/svm/utils.js.map +1 -1
  10. package/dist/cjs/clients/BaseAbstractClient.d.ts +3 -1
  11. package/dist/cjs/clients/BaseAbstractClient.js +31 -13
  12. package/dist/cjs/clients/BaseAbstractClient.js.map +1 -1
  13. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +1 -1
  14. package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  15. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -1
  16. package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  17. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +5 -5
  18. package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  19. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.d.ts +1 -1
  20. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js +2 -2
  21. package/dist/cjs/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
  22. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +1 -1
  23. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js +2 -2
  24. package/dist/cjs/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -1
  25. package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.d.ts +1 -1
  26. package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js +2 -2
  27. package/dist/cjs/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -1
  28. package/dist/cjs/providers/solana/baseRpcFactories.d.ts +3 -3
  29. package/dist/cjs/providers/solana/baseRpcFactories.js +4 -8
  30. package/dist/cjs/providers/solana/baseRpcFactories.js.map +1 -1
  31. package/dist/cjs/providers/solana/cachedRpcFactory.js.map +1 -1
  32. package/dist/cjs/providers/solana/index.d.ts +1 -0
  33. package/dist/cjs/providers/solana/index.js +1 -0
  34. package/dist/cjs/providers/solana/index.js.map +1 -1
  35. package/dist/cjs/providers/solana/quorumFallbackRpcFactory.d.ts +16 -0
  36. package/dist/cjs/providers/solana/quorumFallbackRpcFactory.js +208 -0
  37. package/dist/cjs/providers/solana/quorumFallbackRpcFactory.js.map +1 -0
  38. package/dist/cjs/providers/utils.d.ts +1 -0
  39. package/dist/cjs/providers/utils.js +5 -1
  40. package/dist/cjs/providers/utils.js.map +1 -1
  41. package/dist/esm/arch/svm/BlockUtils.d.ts +3 -1
  42. package/dist/esm/arch/svm/BlockUtils.js +3 -2
  43. package/dist/esm/arch/svm/BlockUtils.js.map +1 -1
  44. package/dist/esm/arch/svm/SpokeUtils.d.ts +8 -7
  45. package/dist/esm/arch/svm/SpokeUtils.js +69 -22
  46. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  47. package/dist/esm/arch/svm/utils.d.ts +3 -2
  48. package/dist/esm/arch/svm/utils.js +6 -6
  49. package/dist/esm/arch/svm/utils.js.map +1 -1
  50. package/dist/esm/clients/BaseAbstractClient.d.ts +3 -1
  51. package/dist/esm/clients/BaseAbstractClient.js +31 -13
  52. package/dist/esm/clients/BaseAbstractClient.js.map +1 -1
  53. package/dist/esm/clients/BundleDataClient/BundleDataClient.js +1 -1
  54. package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
  55. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +1 -1
  56. package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
  57. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +5 -5
  58. package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
  59. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.d.ts +1 -1
  60. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js +1 -1
  61. package/dist/esm/providers/mocks/MockCachedSolanaRpcFactory.js.map +1 -1
  62. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +1 -1
  63. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js +1 -1
  64. package/dist/esm/providers/mocks/MockRateLimitedSolanaRpcFactory.js.map +1 -1
  65. package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.d.ts +1 -1
  66. package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js +1 -1
  67. package/dist/esm/providers/mocks/MockRetrySolanaRpcFactory.js.map +1 -1
  68. package/dist/esm/providers/solana/baseRpcFactories.d.ts +3 -3
  69. package/dist/esm/providers/solana/baseRpcFactories.js +4 -8
  70. package/dist/esm/providers/solana/baseRpcFactories.js.map +1 -1
  71. package/dist/esm/providers/solana/cachedRpcFactory.js +2 -0
  72. package/dist/esm/providers/solana/cachedRpcFactory.js.map +1 -1
  73. package/dist/esm/providers/solana/index.d.ts +1 -0
  74. package/dist/esm/providers/solana/index.js +1 -0
  75. package/dist/esm/providers/solana/index.js.map +1 -1
  76. package/dist/esm/providers/solana/quorumFallbackRpcFactory.d.ts +16 -0
  77. package/dist/esm/providers/solana/quorumFallbackRpcFactory.js +225 -0
  78. package/dist/esm/providers/solana/quorumFallbackRpcFactory.js.map +1 -0
  79. package/dist/esm/providers/utils.d.ts +1 -0
  80. package/dist/esm/providers/utils.js +3 -0
  81. package/dist/esm/providers/utils.js.map +1 -1
  82. package/dist/types/arch/svm/BlockUtils.d.ts +3 -1
  83. package/dist/types/arch/svm/BlockUtils.d.ts.map +1 -1
  84. package/dist/types/arch/svm/SpokeUtils.d.ts +8 -7
  85. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  86. package/dist/types/arch/svm/utils.d.ts +3 -2
  87. package/dist/types/arch/svm/utils.d.ts.map +1 -1
  88. package/dist/types/clients/BaseAbstractClient.d.ts +3 -1
  89. package/dist/types/clients/BaseAbstractClient.d.ts.map +1 -1
  90. package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
  91. package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts.map +1 -1
  92. package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts +1 -1
  93. package/dist/types/providers/mocks/MockCachedSolanaRpcFactory.d.ts.map +1 -1
  94. package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts +1 -1
  95. package/dist/types/providers/mocks/MockRateLimitedSolanaRpcFactory.d.ts.map +1 -1
  96. package/dist/types/providers/mocks/MockRetrySolanaRpcFactory.d.ts +1 -1
  97. package/dist/types/providers/mocks/MockRetrySolanaRpcFactory.d.ts.map +1 -1
  98. package/dist/types/providers/solana/baseRpcFactories.d.ts +3 -3
  99. package/dist/types/providers/solana/baseRpcFactories.d.ts.map +1 -1
  100. package/dist/types/providers/solana/cachedRpcFactory.d.ts.map +1 -1
  101. package/dist/types/providers/solana/index.d.ts +1 -0
  102. package/dist/types/providers/solana/index.d.ts.map +1 -1
  103. package/dist/types/providers/solana/quorumFallbackRpcFactory.d.ts +17 -0
  104. package/dist/types/providers/solana/quorumFallbackRpcFactory.d.ts.map +1 -0
  105. package/dist/types/providers/utils.d.ts +1 -0
  106. package/dist/types/providers/utils.d.ts.map +1 -1
  107. package/package.json +1 -1
  108. package/src/arch/svm/BlockUtils.ts +3 -1
  109. package/src/arch/svm/SpokeUtils.ts +64 -13
  110. package/src/arch/svm/utils.ts +7 -4
  111. package/src/clients/BaseAbstractClient.ts +24 -8
  112. package/src/clients/BundleDataClient/BundleDataClient.ts +1 -0
  113. package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +5 -1
  114. package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +5 -5
  115. package/src/providers/mocks/MockCachedSolanaRpcFactory.ts +1 -1
  116. package/src/providers/mocks/MockRateLimitedSolanaRpcFactory.ts +1 -1
  117. package/src/providers/mocks/MockRetrySolanaRpcFactory.ts +1 -1
  118. package/src/providers/solana/baseRpcFactories.ts +3 -3
  119. package/src/providers/solana/cachedRpcFactory.ts +2 -0
  120. package/src/providers/solana/index.ts +1 -0
  121. package/src/providers/solana/quorumFallbackRpcFactory.ts +248 -0
  122. package/src/providers/utils.ts +4 -0
@@ -0,0 +1,16 @@
1
+ import { RpcFromTransport, RpcTransport, SolanaRpcApiFromTransport } from "@solana/kit";
2
+ import { CachedSolanaRpcFactory } from "./cachedRpcFactory";
3
+ import { SolanaBaseRpcFactory } from "./baseRpcFactories";
4
+ import { Logger } from "winston";
5
+ export declare class QuorumFallbackSolanaRpcFactory extends SolanaBaseRpcFactory {
6
+ readonly nodeQuorumThreshold: number;
7
+ readonly logger: Logger;
8
+ readonly rpcFactories: {
9
+ transport: RpcTransport;
10
+ rpcClient: RpcFromTransport<SolanaRpcApiFromTransport<RpcTransport>, RpcTransport>;
11
+ rpcFactory: CachedSolanaRpcFactory;
12
+ }[];
13
+ constructor(factoryConstructorParams: ConstructorParameters<typeof CachedSolanaRpcFactory>[], nodeQuorumThreshold: number, logger: Logger);
14
+ createTransport(): RpcTransport;
15
+ _getQuorum(method: string, _params: Array<unknown>): number;
16
+ }
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuorumFallbackSolanaRpcFactory = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var cachedRpcFactory_1 = require("./cachedRpcFactory");
6
+ var baseRpcFactories_1 = require("./baseRpcFactories");
7
+ var TypeGuards_1 = require("../../utils/TypeGuards");
8
+ var utils_1 = require("../utils");
9
+ var QuorumFallbackSolanaRpcFactory = (function (_super) {
10
+ tslib_1.__extends(QuorumFallbackSolanaRpcFactory, _super);
11
+ function QuorumFallbackSolanaRpcFactory(factoryConstructorParams, nodeQuorumThreshold, logger) {
12
+ var _this = _super.call(this) || this;
13
+ _this.nodeQuorumThreshold = nodeQuorumThreshold;
14
+ _this.logger = logger;
15
+ _this.rpcFactories = [];
16
+ factoryConstructorParams.forEach(function (params) {
17
+ var rpcFactory = new (cachedRpcFactory_1.CachedSolanaRpcFactory.bind.apply(cachedRpcFactory_1.CachedSolanaRpcFactory, tslib_1.__spreadArray([void 0], params, false)))();
18
+ _this.rpcFactories.push({
19
+ transport: rpcFactory.createTransport(),
20
+ rpcClient: rpcFactory.createRpcClient(),
21
+ rpcFactory: rpcFactory,
22
+ });
23
+ });
24
+ if (_this.nodeQuorumThreshold < 1 || !Number.isInteger(_this.nodeQuorumThreshold)) {
25
+ throw new Error("nodeQuorum,Threshold cannot be < 1 and must be an integer. Currently set to ".concat(_this.nodeQuorumThreshold));
26
+ }
27
+ return _this;
28
+ }
29
+ QuorumFallbackSolanaRpcFactory.prototype.createTransport = function () {
30
+ var _this = this;
31
+ return function () {
32
+ var args = [];
33
+ for (var _i = 0; _i < arguments.length; _i++) {
34
+ args[_i] = arguments[_i];
35
+ }
36
+ return tslib_1.__awaiter(_this, void 0, void 0, function () {
37
+ var _a, method, params, quorumThreshold, requiredFactories, fallbackFactories, errors, tryWithFallback, results, getErrorStrings, errorTexts, successfulProviderUrls_1, values, getHighestCountResult, logQuorumMismatchOrFailureDetails, throwQuorumError, mostFrequentResult, fallbackResults, fallbackValues, _b, quorumResult, count, mismatchedProviders, successfulProviderUrls;
38
+ var _this = this;
39
+ var _c;
40
+ return tslib_1.__generator(this, function (_d) {
41
+ switch (_d.label) {
42
+ case 0:
43
+ _a = args[0].payload, method = _a.method, params = _a.params;
44
+ quorumThreshold = this._getQuorum(method, params !== null && params !== void 0 ? params : []);
45
+ requiredFactories = this.rpcFactories.slice(0, quorumThreshold);
46
+ fallbackFactories = tslib_1.__spreadArray([], this.rpcFactories.slice(quorumThreshold), true);
47
+ errors = [];
48
+ tryWithFallback = function (factory) {
49
+ var args = [];
50
+ for (var _i = 1; _i < arguments.length; _i++) {
51
+ args[_i - 1] = arguments[_i];
52
+ }
53
+ return factory
54
+ .transport.apply(factory, args).then(function (result) { return [factory.rpcFactory, result]; })
55
+ .catch(function (error) {
56
+ errors.push([factory.rpcFactory, (error === null || error === void 0 ? void 0 : error.stack) || (error === null || error === void 0 ? void 0 : error.toString())]);
57
+ if (fallbackFactories.length === 0) {
58
+ throw error;
59
+ }
60
+ var currentFactory = factory.rpcFactory.clusterUrl;
61
+ var nextFactory = fallbackFactories.shift();
62
+ _this.logger.debug({
63
+ at: "FallbackSolanaRpcFactory#createTransport::tryWithFallback",
64
+ message: "[".concat(method, "] ").concat(currentFactory, " failed, falling back to ").concat(nextFactory.rpcFactory.clusterUrl, ", new fallback providers length: ").concat(fallbackFactories.length),
65
+ method: method,
66
+ error: error,
67
+ });
68
+ return tryWithFallback.apply(void 0, tslib_1.__spreadArray([nextFactory], args, false));
69
+ });
70
+ };
71
+ return [4, Promise.allSettled(requiredFactories.map(function (factory) {
72
+ return tryWithFallback.apply(void 0, tslib_1.__spreadArray([factory], args, false));
73
+ }))];
74
+ case 1:
75
+ results = _d.sent();
76
+ getErrorStrings = function () {
77
+ return errors.map(function (_a) {
78
+ var factory = _a[0], errorText = _a[1];
79
+ return "Provider ".concat(factory.clusterUrl, " failed to call ").concat(method, " with error ").concat(errorText);
80
+ });
81
+ };
82
+ if (!results.every(TypeGuards_1.isPromiseFulfilled)) {
83
+ errorTexts = getErrorStrings();
84
+ successfulProviderUrls_1 = results.filter(TypeGuards_1.isPromiseFulfilled).map(function (result) { return result.value[0].clusterUrl; });
85
+ throw (0, utils_1.createSendErrorWithMessage)("Not enough providers succeeded on ".concat(method, " call. Errors:\n").concat(errorTexts.join("\n"), "\n") +
86
+ "Successful Providers:\n".concat(successfulProviderUrls_1.join("\n")), (_c = results.find(TypeGuards_1.isPromiseRejected)) === null || _c === void 0 ? void 0 : _c.reason);
87
+ }
88
+ values = results.map(function (result) { return result.value; });
89
+ if (values.slice(1).every(function (_a) {
90
+ var output = _a[1];
91
+ return (0, utils_1.compareSvmRpcResults)(method, values[0][1], output);
92
+ })) {
93
+ return [2, values[0][1]];
94
+ }
95
+ getHighestCountResult = function (values) {
96
+ var counts = tslib_1.__spreadArray([], values, true).reduce(function (acc, curr) {
97
+ var result = curr[1];
98
+ var existingMatch = acc.find(function (_a) {
99
+ var existingResult = _a[0];
100
+ return (0, utils_1.compareSvmRpcResults)(method, existingResult, result);
101
+ });
102
+ if (existingMatch) {
103
+ existingMatch[1]++;
104
+ }
105
+ else {
106
+ acc.push([result, 1]);
107
+ }
108
+ return acc;
109
+ }, [[undefined, 0]]);
110
+ counts.sort(function (_a, _b) {
111
+ var a = _a[1];
112
+ var b = _b[1];
113
+ return b - a;
114
+ });
115
+ var _a = counts[0], mostFrequentResult = _a[0], count = _a[1];
116
+ return [mostFrequentResult, count];
117
+ };
118
+ logQuorumMismatchOrFailureDetails = function (method, params, mismatchedProviders, successfulProviders, errors, quorumResult) {
119
+ _this.logger.warn({
120
+ at: "FallbackSolanaRpcFactory#createTransport",
121
+ message: "[".concat(method, "] Some providers mismatched with the quorum result or failed \uD83D\uDEB8"),
122
+ notificationPath: "across-warn",
123
+ method: method,
124
+ params: JSON.stringify(params),
125
+ quorumResult: METHODS_RETURNING_BIGINT.includes(method) ? Number(quorumResult) : undefined,
126
+ mismatchedProviders: mismatchedProviders,
127
+ successfulProviders: successfulProviders,
128
+ erroringProviders: errors.map(function (_a) {
129
+ var factory = _a[0], errorText = _a[1];
130
+ return "Provider ".concat(factory.clusterUrl, " failed with error ").concat(errorText);
131
+ }),
132
+ });
133
+ };
134
+ throwQuorumError = function (mostFrequentResult, allValues) {
135
+ var errorTexts = getErrorStrings();
136
+ var successfulProviderUrls = values.map(function (_a) {
137
+ var provider = _a[0];
138
+ return provider.clusterUrl;
139
+ });
140
+ var mismatchedProviders = allValues
141
+ .filter(function (_a) {
142
+ var result = _a[1];
143
+ return !(0, utils_1.compareSvmRpcResults)(method, result, mostFrequentResult);
144
+ })
145
+ .map(function (_a) {
146
+ var factory = _a[0];
147
+ return factory.clusterUrl;
148
+ });
149
+ logQuorumMismatchOrFailureDetails(method, params !== null && params !== void 0 ? params : [], mismatchedProviders, successfulProviderUrls, errors, mostFrequentResult);
150
+ throw new Error("Not enough providers agreed to meet quorum.\n" +
151
+ "Providers that errored:\n" +
152
+ "".concat(errorTexts.join("\n"), "\n") +
153
+ "Providers that succeeded, but some failed to match:\n" +
154
+ successfulProviderUrls.join("\n"));
155
+ };
156
+ if (fallbackFactories.length === 0) {
157
+ mostFrequentResult = getHighestCountResult(values)[0];
158
+ throwQuorumError(mostFrequentResult, values);
159
+ }
160
+ return [4, Promise.allSettled(fallbackFactories.map(function (factory) {
161
+ return factory
162
+ .transport.apply(factory, args).then(function (result) { return [factory.rpcFactory, result]; })
163
+ .catch(function (err) {
164
+ errors.push([factory.rpcFactory, (err === null || err === void 0 ? void 0 : err.stack) || (err === null || err === void 0 ? void 0 : err.toString())]);
165
+ throw new Error("Fallback RPC call failed while trying to reach quorum", err);
166
+ });
167
+ }))];
168
+ case 2:
169
+ fallbackResults = _d.sent();
170
+ fallbackValues = fallbackResults.filter(TypeGuards_1.isPromiseFulfilled).map(function (promise) { return promise.value; });
171
+ _b = getHighestCountResult(tslib_1.__spreadArray(tslib_1.__spreadArray([], values, true), fallbackValues, true)), quorumResult = _b[0], count = _b[1];
172
+ if (count < quorumThreshold) {
173
+ throwQuorumError(quorumResult, tslib_1.__spreadArray(tslib_1.__spreadArray([], values, true), fallbackValues, true));
174
+ }
175
+ mismatchedProviders = tslib_1.__spreadArray(tslib_1.__spreadArray([], values, true), fallbackValues, true).filter(function (_a) {
176
+ var result = _a[1];
177
+ return !(0, utils_1.compareSvmRpcResults)(method, result, quorumResult);
178
+ })
179
+ .map(function (_a) {
180
+ var factory = _a[0];
181
+ return factory.clusterUrl;
182
+ });
183
+ successfulProviderUrls = tslib_1.__spreadArray(tslib_1.__spreadArray([], values, true), fallbackValues, true).map(function (_a) {
184
+ var provider = _a[0];
185
+ return provider.clusterUrl;
186
+ });
187
+ if (mismatchedProviders.length > 0 || errors.length > 0) {
188
+ logQuorumMismatchOrFailureDetails(method, params !== null && params !== void 0 ? params : [], mismatchedProviders, successfulProviderUrls, errors, quorumResult);
189
+ }
190
+ return [2, quorumResult];
191
+ }
192
+ });
193
+ });
194
+ };
195
+ };
196
+ QuorumFallbackSolanaRpcFactory.prototype._getQuorum = function (method, _params) {
197
+ switch (method) {
198
+ case "getBlock":
199
+ case "getBlockTime":
200
+ return this.nodeQuorumThreshold;
201
+ }
202
+ return 1;
203
+ };
204
+ return QuorumFallbackSolanaRpcFactory;
205
+ }(baseRpcFactories_1.SolanaBaseRpcFactory));
206
+ exports.QuorumFallbackSolanaRpcFactory = QuorumFallbackSolanaRpcFactory;
207
+ var METHODS_RETURNING_BIGINT = ["getBlockTime", "getSlot"];
208
+ //# sourceMappingURL=quorumFallbackRpcFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quorumFallbackRpcFactory.js","sourceRoot":"","sources":["../../../../src/providers/solana/quorumFallbackRpcFactory.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export declare function createSendErrorWithMessage(message: string, sendError: R
17
17
  cause?: unknown;
18
18
  };
19
19
  export declare function compareRpcResults(method: string, rpcResultA: unknown, rpcResultB: unknown): boolean;
20
+ export declare function compareSvmRpcResults(_method: string, rpcResultA: unknown, rpcResultB: unknown): boolean;
20
21
  export declare enum CacheType {
21
22
  NONE = 0,
22
23
  WITH_TTL = 1,
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CacheType = exports.compareRpcResults = exports.createSendErrorWithMessage = exports.formatProviderError = exports.compareArrayResultsWithIgnoredKeys = exports.compareResultsAndFilterIgnoredKeys = exports.getURL = exports.isSupportedProvider = void 0;
3
+ exports.CacheType = exports.compareSvmRpcResults = exports.compareRpcResults = exports.createSendErrorWithMessage = exports.formatProviderError = exports.compareArrayResultsWithIgnoredKeys = exports.compareResultsAndFilterIgnoredKeys = exports.getURL = exports.isSupportedProvider = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var assert_1 = tslib_1.__importDefault(require("assert"));
6
6
  var lodash_1 = require("lodash");
@@ -85,6 +85,10 @@ function compareRpcResults(method, rpcResultA, rpcResultB) {
85
85
  }
86
86
  }
87
87
  exports.compareRpcResults = compareRpcResults;
88
+ function compareSvmRpcResults(_method, rpcResultA, rpcResultB) {
89
+ return (0, lodash_1.isEqual)(rpcResultA, rpcResultB);
90
+ }
91
+ exports.compareSvmRpcResults = compareSvmRpcResults;
88
92
  var CacheType;
89
93
  (function (CacheType) {
90
94
  CacheType[CacheType["NONE"] = 0] = "NONE";
@@ -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,5 +1,6 @@
1
1
  import { BlockFinder, type Block, type BlockTimeAverage, type BlockFinderHints } from "../../utils/BlockFinder";
2
2
  import { SVMProvider } from "./";
3
+ import winston from "winston";
3
4
  interface SVMBlock extends Block {
4
5
  }
5
6
  /**
@@ -9,9 +10,10 @@ interface SVMBlock extends Block {
9
10
  */
10
11
  export declare function averageBlockTime(): Pick<BlockTimeAverage, "average" | "blockRange">;
11
12
  export declare class SVMBlockFinder extends BlockFinder<SVMBlock> {
13
+ private readonly logger;
12
14
  private readonly provider;
13
15
  private readonly blocks;
14
- constructor(provider: SVMProvider, blocks?: SVMBlock[]);
16
+ constructor(logger: winston.Logger, provider: SVMProvider, blocks?: SVMBlock[]);
15
17
  /**
16
18
  * @notice Gets the latest slot whose timestamp is <= the provided timestamp.
17
19
  * @param number Timestamp timestamp to search.
@@ -28,9 +28,10 @@ function estimateBlocksElapsed(seconds, cushionPercentage, _provider) {
28
28
  }
29
29
  var SVMBlockFinder = /** @class */ (function (_super) {
30
30
  __extends(SVMBlockFinder, _super);
31
- function SVMBlockFinder(provider, blocks) {
31
+ function SVMBlockFinder(logger, provider, blocks) {
32
32
  if (blocks === void 0) { blocks = []; }
33
33
  var _this = _super.call(this) || this;
34
+ _this.logger = logger;
34
35
  _this.provider = provider;
35
36
  _this.blocks = blocks;
36
37
  return _this;
@@ -103,7 +104,7 @@ var SVMBlockFinder = /** @class */ (function (_super) {
103
104
  */
104
105
  SVMBlockFinder.prototype.getBlockTime = function (slot) {
105
106
  var opts = isDefined(slot) ? { slot: slot } : undefined;
106
- return getNearestSlotTime(this.provider, opts);
107
+ return getNearestSlotTime(this.provider, this.logger, opts);
107
108
  };
108
109
  // Grabs the most recent slot and caches it.
109
110
  SVMBlockFinder.prototype.getLatestBlock = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"BlockUtils.js","sourceRoot":"","sources":["../../../../src/arch/svm/BlockUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlockUtils.js","sourceRoot":"","sources":["../../../../src/arch/svm/BlockUtils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { MessageTransmitterClient, SvmSpokeClient } from "@across-protocol/contracts";
2
2
  import { Mint } from "@solana-program/token";
3
- import { Account, Address, FetchAccountConfig, IAccountMeta, KeyPairSigner, ReadonlyUint8Array, type TransactionSigner } from "@solana/kit";
4
- import { Logger } from "winston";
3
+ import { Account, Address, FetchAccountConfig, IAccountMeta, KeyPairSigner, ReadonlyUint8Array, type TransactionSigner, type Commitment } from "@solana/kit";
4
+ import winston from "winston";
5
5
  import { DepositWithBlock, FillStatus, FillWithBlock, RelayData } from "../../interfaces";
6
6
  import { BigNumber, EvmAddress, Address as SdkAddress, SvmAddress } from "../../utils";
7
7
  import { SvmCpiEventsClient } from "./eventsClient";
@@ -16,10 +16,11 @@ type ProtoFill = Omit<RelayData, "recipient" | "outputToken"> & {
16
16
  recipient: SvmAddress;
17
17
  outputToken: SvmAddress;
18
18
  };
19
+ export declare function getSlot(provider: SVMProvider, commitment: Commitment, logger: winston.Logger): Promise<bigint>;
19
20
  /**
20
21
  * Retrieves the chain time at a particular slot.
21
22
  */
22
- export declare function getTimestampForSlot(provider: SVMProvider, slotNumber: bigint, maxRetries?: number): Promise<number | undefined>;
23
+ export declare function getTimestampForSlot(provider: SVMProvider, slotNumber: bigint, logger: winston.Logger, maxRetries?: number): Promise<number | undefined>;
23
24
  /**
24
25
  * Returns the current fill deadline buffer.
25
26
  * @param provider SVM Provider instance
@@ -63,7 +64,7 @@ export declare function getDepositIdAtBlock(_contract: unknown, _blockTag: numbe
63
64
  * @param secondsLookback - The number of seconds to look back for deposits (defaults to 2 days).
64
65
  * @returns The deposit if found within the slot window, undefined otherwise
65
66
  */
66
- export declare function findDeposit(eventClient: SvmCpiEventsClient, depositId: BigNumber, slot?: bigint, secondsLookback?: number): Promise<DepositWithBlock | undefined>;
67
+ export declare function findDeposit(eventClient: SvmCpiEventsClient, depositId: BigNumber, logger: winston.Logger, slot?: bigint, secondsLookback?: number): Promise<DepositWithBlock | undefined>;
67
68
  /**
68
69
  * Resolves the fill status of a deposit at a specific slot or at the current confirmed one.
69
70
  *
@@ -77,7 +78,7 @@ export declare function findDeposit(eventClient: SvmCpiEventsClient, depositId:
77
78
  * @param atHeight - (Optional) Specific slot number to query. Defaults to the latest confirmed slot.
78
79
  * @returns The fill status for the deposit at the specified or current slot.
79
80
  */
80
- export declare function relayFillStatus(programId: Address, relayData: RelayData, destinationChainId: number, svmEventsClient: SvmCpiEventsClient, atHeight?: number): Promise<FillStatus>;
81
+ export declare function relayFillStatus(programId: Address, relayData: RelayData, destinationChainId: number, svmEventsClient: SvmCpiEventsClient, logger: winston.Logger, atHeight?: number): Promise<FillStatus>;
81
82
  /**
82
83
  * Resolves fill statuses for multiple deposits at a specific or latest confirmed slot,
83
84
  * using PDAs when possible and falling back to events if needed.
@@ -90,7 +91,7 @@ export declare function relayFillStatus(programId: Address, relayData: RelayData
90
91
  * @param atHeight (Optional) The slot number to query at. If omitted, queries the latest confirmed slot.
91
92
  * @returns An array of fill statuses for the specified deposits at the requested slot (or at the current confirmed slot).
92
93
  */
93
- export declare function fillStatusArray(programId: Address, relayData: RelayData[], destinationChainId: number, svmEventsClient: SvmCpiEventsClient, atHeight?: number, logger?: Logger): Promise<(FillStatus | undefined)[]>;
94
+ export declare function fillStatusArray(programId: Address, relayData: RelayData[], destinationChainId: number, svmEventsClient: SvmCpiEventsClient, logger: winston.Logger, atHeight?: number): Promise<(FillStatus | undefined)[]>;
94
95
  /**
95
96
  * Finds the `FilledRelay` event for a given deposit within the provided slot range.
96
97
  *
@@ -101,7 +102,7 @@ export declare function fillStatusArray(programId: Address, relayData: RelayData
101
102
  * @param toSlot (Optional) Ending slot to search. If not provided, the current confirmed slot will be used.
102
103
  * @returns The fill event with block info, or `undefined` if not found.
103
104
  */
104
- export declare function findFillEvent(relayData: RelayData, destinationChainId: number, svmEventsClient: SvmCpiEventsClient, fromSlot: number, toSlot?: number): Promise<FillWithBlock | undefined>;
105
+ export declare function findFillEvent(relayData: RelayData, destinationChainId: number, svmEventsClient: SvmCpiEventsClient, logger: winston.Logger, fromSlot: number, toSlot?: number): Promise<FillWithBlock | undefined>;
105
106
  /**
106
107
  * @param spokePool Address (program ID) of the SvmSpoke.
107
108
  * @param relayData RelayData instance, supplemented with destinationChainId
@@ -19,16 +19,46 @@ import { getEmergencyDeleteRootBundleRootBundleId, getNearestSlotTime, isEmergen
19
19
  * and choose 400 to ensure that the most slots get included in our ranges
20
20
  */
21
21
  export var SLOT_DURATION_MS = 400;
22
+ export function getSlot(provider, commitment, logger) {
23
+ return _callGetSlotWithRetry(provider, commitment, logger);
24
+ }
25
+ function _callGetSlotWithRetry(provider, commitment, logger) {
26
+ return __awaiter(this, void 0, void 0, function () {
27
+ var err_1, code;
28
+ return __generator(this, function (_a) {
29
+ switch (_a.label) {
30
+ case 0:
31
+ _a.trys.push([0, 2, , 3]);
32
+ return [4 /*yield*/, provider.getSlot({ commitment: commitment }).send()];
33
+ case 1: return [2 /*return*/, _a.sent()];
34
+ case 2:
35
+ err_1 = _a.sent();
36
+ if (isSolanaError(err_1)) {
37
+ code = err_1.context.__code;
38
+ logger.debug({
39
+ at: "_getSlotWithRetry",
40
+ message: "Caught error from getSlot()",
41
+ code: code,
42
+ commitment: commitment,
43
+ });
44
+ }
45
+ // TODO: Implement retry logic once we better understand how these errors look:
46
+ throw err_1;
47
+ case 3: return [2 /*return*/];
48
+ }
49
+ });
50
+ });
51
+ }
22
52
  /**
23
53
  * Retrieves the chain time at a particular slot.
24
54
  */
25
- export function getTimestampForSlot(provider, slotNumber, maxRetries) {
55
+ export function getTimestampForSlot(provider, slotNumber, logger, maxRetries) {
26
56
  if (maxRetries === void 0) { maxRetries = 2; }
27
- return _callGetTimestampForSlotWithRetry(provider, slotNumber, 0, maxRetries);
57
+ return _callGetTimestampForSlotWithRetry(provider, slotNumber, 0, maxRetries, logger);
28
58
  }
29
- function _callGetTimestampForSlotWithRetry(provider, slotNumber, retryAttempt, maxRetries) {
59
+ function _callGetTimestampForSlotWithRetry(provider, slotNumber, retryAttempt, maxRetries, logger) {
30
60
  return __awaiter(this, void 0, void 0, function () {
31
- var _timestamp, err_1, code, slot, _a, delaySeconds, timestamp;
61
+ var _timestamp, err_2, code, slot, _a, delaySeconds, timestamp;
32
62
  return __generator(this, function (_b) {
33
63
  switch (_b.label) {
34
64
  case 0:
@@ -38,13 +68,13 @@ function _callGetTimestampForSlotWithRetry(provider, slotNumber, retryAttempt, m
38
68
  _timestamp = _b.sent();
39
69
  return [3 /*break*/, 8];
40
70
  case 2:
41
- err_1 = _b.sent();
42
- if (!isSolanaError(err_1)) {
43
- throw err_1;
71
+ err_2 = _b.sent();
72
+ if (!isSolanaError(err_2)) {
73
+ throw err_2;
44
74
  }
45
- code = err_1.context.__code;
75
+ code = err_2.context.__code;
46
76
  slot = slotNumber.toString();
47
- _a = err_1.context.__code;
77
+ _a = err_2.context.__code;
48
78
  switch (_a) {
49
79
  case SVM_SLOT_SKIPPED: return [3 /*break*/, 3];
50
80
  case SVM_BLOCK_NOT_AVAILABLE: return [3 /*break*/, 4];
@@ -56,11 +86,28 @@ function _callGetTimestampForSlotWithRetry(provider, slotNumber, retryAttempt, m
56
86
  if (retryAttempt >= maxRetries) {
57
87
  throw new Error("Timeout on SVM getBlockTime() for slot ".concat(slot, " after ").concat(retryAttempt, " retry attempts"));
58
88
  }
89
+ logger.debug({
90
+ at: "getTimestampForSlot",
91
+ message: "Retrying getBlockTime() after ".concat(delaySeconds, " seconds for retry attempt #").concat(retryAttempt),
92
+ slot: slot,
93
+ retryAttempt: retryAttempt,
94
+ maxRetries: maxRetries,
95
+ delaySeconds: delaySeconds,
96
+ });
59
97
  return [4 /*yield*/, delay(delaySeconds)];
60
98
  case 5:
61
99
  _b.sent();
62
- return [2 /*return*/, _callGetTimestampForSlotWithRetry(provider, slotNumber, ++retryAttempt, maxRetries)];
63
- case 6: throw new Error("Unhandled SVM getBlockTime() error for slot ".concat(slot, ": ").concat(code), { cause: err_1 });
100
+ return [2 /*return*/, _callGetTimestampForSlotWithRetry(provider, slotNumber, ++retryAttempt, maxRetries, logger)];
101
+ case 6:
102
+ logger.debug({
103
+ at: "getTimestampForSlot",
104
+ message: "Caught error from getBlockTime()",
105
+ errorCode: code,
106
+ slot: slot,
107
+ retryAttempt: retryAttempt,
108
+ maxRetries: maxRetries,
109
+ });
110
+ throw new Error("Unhandled SVM getBlockTime() error for slot ".concat(slot, ": ").concat(code), { cause: err_2 });
64
111
  case 7: return [3 /*break*/, 8];
65
112
  case 8:
66
113
  timestamp = Number(_timestamp);
@@ -127,7 +174,7 @@ export function getDepositIdAtBlock(_contract, _blockTag) {
127
174
  * @param secondsLookback - The number of seconds to look back for deposits (defaults to 2 days).
128
175
  * @returns The deposit if found within the slot window, undefined otherwise
129
176
  */
130
- export function findDeposit(eventClient, depositId, slot, secondsLookback // 2 days
177
+ export function findDeposit(eventClient, depositId, logger, slot, secondsLookback // 2 days
131
178
  ) {
132
179
  var _a;
133
180
  if (secondsLookback === void 0) { secondsLookback = 2 * 24 * 60 * 60; }
@@ -141,7 +188,7 @@ export function findDeposit(eventClient, depositId, slot, secondsLookback // 2 d
141
188
  throw new Error("Cannot binary search for depositId ".concat(depositId));
142
189
  }
143
190
  provider = eventClient.getRpc();
144
- return [4 /*yield*/, getNearestSlotTime(provider)];
191
+ return [4 /*yield*/, getNearestSlotTime(provider, logger)];
145
192
  case 1:
146
193
  currentSlot = (_b.sent()).slot;
147
194
  endSlot = slot !== undefined ? BigInt(Math.min(Number(slot), Number(currentSlot))) : currentSlot;
@@ -177,7 +224,7 @@ export function findDeposit(eventClient, depositId, slot, secondsLookback // 2 d
177
224
  * @param atHeight - (Optional) Specific slot number to query. Defaults to the latest confirmed slot.
178
225
  * @returns The fill status for the deposit at the specified or current slot.
179
226
  */
180
- export function relayFillStatus(programId, relayData, destinationChainId, svmEventsClient, atHeight) {
227
+ export function relayFillStatus(programId, relayData, destinationChainId, svmEventsClient, logger, atHeight) {
181
228
  return __awaiter(this, void 0, void 0, function () {
182
229
  var provider, fillStatusPda, toSlot, commitment, _a, fillStatusAccount, _b, currentSlot, timestamp, decodedAccountData;
183
230
  return __generator(this, function (_c) {
@@ -193,7 +240,7 @@ export function relayFillStatus(programId, relayData, destinationChainId, svmEve
193
240
  commitment = "confirmed";
194
241
  return [4 /*yield*/, Promise.all([
195
242
  fetchEncodedAccount(provider, fillStatusPda, { commitment: commitment }),
196
- getNearestSlotTime(provider, { commitment: commitment }),
243
+ getNearestSlotTime(provider, logger, { commitment: commitment }),
197
244
  ])];
198
245
  case 2:
199
246
  _a = _c.sent(), fillStatusAccount = _a[0], _b = _a[1], currentSlot = _b.slot, timestamp = _b.timestamp;
@@ -228,7 +275,7 @@ export function relayFillStatus(programId, relayData, destinationChainId, svmEve
228
275
  * @param atHeight (Optional) The slot number to query at. If omitted, queries the latest confirmed slot.
229
276
  * @returns An array of fill statuses for the specified deposits at the requested slot (or at the current confirmed slot).
230
277
  */
231
- export function fillStatusArray(programId, relayData, destinationChainId, svmEventsClient, atHeight, logger) {
278
+ export function fillStatusArray(programId, relayData, destinationChainId, svmEventsClient, logger, atHeight) {
232
279
  return __awaiter(this, void 0, void 0, function () {
233
280
  var provider, chunkSize, chunkedRelayData, fillStatusPdas, fillStatuses, _a, missingStatuses, missingChunked, missingResults, toSlot, _b, _i, missingChunked_1, chunk_1, chunkResults;
234
281
  var _this = this;
@@ -251,7 +298,7 @@ export function fillStatusArray(programId, relayData, destinationChainId, svmEve
251
298
  });
252
299
  }
253
300
  if (!(atHeight === undefined)) return [3 /*break*/, 3];
254
- return [4 /*yield*/, fetchBatchFillStatusFromPdaAccounts(provider, fillStatusPdas, relayData)];
301
+ return [4 /*yield*/, fetchBatchFillStatusFromPdaAccounts(provider, fillStatusPdas, relayData, logger)];
255
302
  case 2:
256
303
  _a = _c.sent();
257
304
  return [3 /*break*/, 4];
@@ -271,7 +318,7 @@ export function fillStatusArray(programId, relayData, destinationChainId, svmEve
271
318
  if (!atHeight) return [3 /*break*/, 5];
272
319
  _b = BigInt(atHeight);
273
320
  return [3 /*break*/, 7];
274
- case 5: return [4 /*yield*/, getNearestSlotTime(provider)];
321
+ case 5: return [4 /*yield*/, getNearestSlotTime(provider, logger)];
275
322
  case 6:
276
323
  _b = (_c.sent()).slot;
277
324
  _c.label = 7;
@@ -324,7 +371,7 @@ export function fillStatusArray(programId, relayData, destinationChainId, svmEve
324
371
  * @param toSlot (Optional) Ending slot to search. If not provided, the current confirmed slot will be used.
325
372
  * @returns The fill event with block info, or `undefined` if not found.
326
373
  */
327
- export function findFillEvent(relayData, destinationChainId, svmEventsClient, fromSlot, toSlot) {
374
+ export function findFillEvent(relayData, destinationChainId, svmEventsClient, logger, fromSlot, toSlot) {
328
375
  return __awaiter(this, void 0, void 0, function () {
329
376
  var _a, _b, programId, fillStatusPda, fillEvents, rawFillEvent, eventData, originChainId, parsedFillEvent;
330
377
  return __generator(this, function (_c) {
@@ -336,7 +383,7 @@ export function findFillEvent(relayData, destinationChainId, svmEventsClient, fr
336
383
  return [3 /*break*/, 3];
337
384
  case 1:
338
385
  _b = Number;
339
- return [4 /*yield*/, getNearestSlotTime(svmEventsClient.getRpc())];
386
+ return [4 /*yield*/, getNearestSlotTime(svmEventsClient.getRpc(), logger)];
340
387
  case 2:
341
388
  _a = (toSlot = _b.apply(void 0, [(_c.sent()).slot]));
342
389
  _c.label = 3;
@@ -770,7 +817,7 @@ function resolveFillStatusFromPdaEvents(fillStatusPda, toSlot, svmEventsClient)
770
817
  * @param fillStatusPdas An array of fill status PDAs to retrieve the fill status for.
771
818
  * @param relayData An array of relay data from which the fill status PDAs were derived.
772
819
  */
773
- function fetchBatchFillStatusFromPdaAccounts(provider, fillStatusPdas, relayDataArray) {
820
+ function fetchBatchFillStatusFromPdaAccounts(provider, fillStatusPdas, relayDataArray, logger) {
774
821
  return __awaiter(this, void 0, void 0, function () {
775
822
  var chunkSize, commitment, _a, pdaAccounts, timestamp, fillStatuses;
776
823
  return __generator(this, function (_b) {
@@ -780,7 +827,7 @@ function fetchBatchFillStatusFromPdaAccounts(provider, fillStatusPdas, relayData
780
827
  commitment = "confirmed";
781
828
  return [4 /*yield*/, Promise.all([
782
829
  Promise.all(chunk(fillStatusPdas, chunkSize).map(function (chunk) { return fetchEncodedAccounts(provider, chunk, { commitment: commitment }); })),
783
- getNearestSlotTime(provider, { commitment: commitment }),
830
+ getNearestSlotTime(provider, logger, { commitment: commitment }),
784
831
  ])];
785
832
  case 1:
786
833
  _a = _b.sent(), pdaAccounts = _a[0], timestamp = _a[1].timestamp;